1

I can't for the life of me to get any egress queue prioritization to happen on an SRX.

I have a single label switched path out of the SRX, and a couple of ethernet-ccc's. One ccc is entirely expedited forwarding, and the other is entirely best effort.

I have input filters on the interface stanzas to set the forwarding classes of the two ccc's. I can then apply a policing filter on the label-switched-path to rate limit the respective circuits.

At this point, if I set the policing so the BE traffic is limited to 9Mb, and the EF traffic to 1Mb, everything works as I desire. However....

I'd would to only police the EF circuit on the label switched path, and run the BE circuit wide open, but ensure that the EF traffic can take priority up to its policed limit.

I have been toying with forwarding classes all day, to no avail. Starting to think that's not where I should be looking?


Here's my attempt at forwarding classes here:

version 11.4R10.3;

interfaces {
    ge-0/0/0 {                          
        speed 100m;
        unit 0 {
            family inet {
                address 10.1.2.3/31;
            }
            family mpls;
        }
    }
    ge-0/0/1 {
        unit 0 {                        
            family inet {
                address 10.1.2.5/31;
            }
            family mpls;
        }
    }

    ge-0/0/6 {
        encapsulation ethernet-ccc;
        unit 0 {
            family ccc {
                filter {
                    input ef_classifier;
                }
            }
        }
    }
    ge-0/0/7 {
        encapsulation ethernet-ccc;     
        unit 0 {
            family ccc {
                filter {
                    input be_classifier;
                }
            }
        }
    }

}

protocols {
    rsvp {
        interface ge-0/0/0.0 {
            bandwidth 200m;             
            link-protection;
        }
        interface ge-0/0/1.0 {
            bandwidth 2m;
            link-protection;
        }
    }
    mpls {
        label-switched-path met_pr_pr {
            to 10.1.1.1;
            ldp-tunneling;
            primary rad_primary {
                preference 1;
            }
            secondary rad_secondary {
                preference 10;
                standby;
            }
            policing filter p-cos;
        }                               
        interface ge-0/0/0.0;
        interface lo0.0;
        interface ge-0/0/1.0;
    }
    l2circuit {
        neighbor 10.1.1.1 {
            interface ge-0/0/7.0 {
                virtual-circuit-id 1;
                encapsulation-type ethernet;
            }
            interface ge-0/0/6.0 {
                virtual-circuit-id 2;
                encapsulation-type ethernet;
            }
        }
    }

}
class-of-service {    
    forwarding-classes {
        queue 0 best-effort priority low;
        queue 2 expedited-forwarding priority high;
        queue 1 assured-forwarding priority high;
    }
    interfaces {
        all {
            scheduler-map default;
        }
    }
    scheduler-maps {
        default {
            forwarding-class best-effort scheduler be-sched;
            forwarding-class expedited-forwarding scheduler ef-sched;
        }
    }
    schedulers {
        be-sched {
            transmit-rate percent 1;
            buffer-size percent 1;
            priority low;
        }
        ef-sched {
            transmit-rate percent 25;
            buffer-size percent 25;
            priority strict-high;
        }
        af-sched {
            transmit-rate percent 25;
        }
    }
}

firewall {
    family ccc {
        filter ef_classifier {
            term ef {
                then forwarding-class expedited-forwarding;
            }
        }
        filter be_classifier {          
            term be {
                then forwarding-class best-effort;
            }
        }
    }
    family any {
        filter p-cos {
            term ct2 {
                from {
                    forwarding-class expedited-forwarding;
                }
                then {
                    policer p-ef;
                    loss-priority low;
                }
            }
            term ct0 {
                from {
                    forwarding-class best-effort;
                }
                then loss-priority high;
            }
        }                               
    }
    policer p-ef {
        if-exceeding {
            bandwidth-limit 200k;
            burst-size-limit 1500;
        }
        then discard;
    }

}
  • 1
    Can you provide code snippets of the applicable sections in your configuration? – Ryan Foley Mar 7 '14 at 8:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.