This article explains why traffic is classified into Assured-Forwarding (AF) and Expedite-Forwarding (EF) forwarding classes when using the default class-of-service configuration in MX series routers. A solution is also provided to avoid unnecessary drops.
In VPLS routing-instances with the default class-of-service configuration, traffic is sent into one of two forwarding classes:
Physical interface: xe-0/0/0, Enabled, Physical link is Up Interface index: 123, SNMP ifIndex: 620, Generation: 195 Link-level type: Ethernet-VPLS, MTU: 9192, MRU: 9200, LAN-PHY mode, Speed: 10Gbps, BPDU Error: None, MAC-REWRITE Error: None, Loopback: None, Source filtering: Disabled, Flow control: Enabled Pad to minimum frame size: Disabled Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Link flags : None CoS queues : 8 supported, 8 maximum usable queues
<..>
Egress queues: 8 supported, 4 in use Queue counters: Queued packets Transmitted packets Dropped packets 0 best-effort 209109008134 209109008134 0 1 expedited-forwarding 42908349 142908349 0 2 assured-forwarding 278526003 278226502 299501 3 network-control 319083299 319083299 0 <..>
Remote PE router receives traffic with DSCP markings. The default behavior in MX-Series routers with Modular Port Concentrators (MPC) is to copy the 3 most significant bits from the DSCP field into the exp bits of the MPLS label. When no-tunnel-services is configured in the [routing-instance protocols vpls] stanza, the default exp classifier is applied to the label-switched interface (LSI). A packet that reaches the destination PE will be classified by that classifier, which will send the packets to the Assured-Forwarding or Expedited-Forwarding classes (depending on the markings). Below is the classifier setting:
[routing-instance protocols vpls]
user@Router> show class-of-service classifier type exp Classifier: exp-default, Code point type: exp, Index: 10 Code point Forwarding class Loss priority 000 best-effort low 001 best-effort high 010 expedited-forwarding low 011 expedited-forwarding high 100 assured-forwarding low 101 assured-forwarding high 110 network-control low 111 network-control high
To fix this behavior and send traffic to the best-effort queue instead of Assured-Forwarding or Expedited-Forwarding, perform the following: 1. Confirm that the exp classifier is applied to the interface:
user@Router> show class-of-service routing-instance Routing instance: CE-4.VPLS Logical interface: lsi.235929856, Index: 512 Object Name Type Index Classifier exp-default exp 10
2. Create a custom exp classifier to send all AF/EF traffic into BE queue:
[edit] user@Router# show class-of-service classifiers exp exp-default-override classifiers { exp exp-default-override { forwarding-class best-effort { loss-priority low code-points [ 000 010 100 ]; loss-priority high code-points [ 001 011 101 ]; } forwarding-class network-control { loss-priority low code-points 110; loss-priority high code-points 111; } } }
[edit] user@Router# show class-of-service classifiers exp exp-default-override | display set set class-of-service classifiers exp exp-default-override forwarding-class best-effort loss-priority low code-points 000 set class-of-service classifiers exp exp-default-override forwarding-class best-effort loss-priority low code-points 010 set class-of-service classifiers exp exp-default-override forwarding-class best-effort loss-priority low code-points 100 set class-of-service classifiers exp exp-default-override forwarding-class best-effort loss-priority high code-points 001 set class-of-service classifiers exp exp-default-override forwarding-class best-effort loss-priority high code-points 011 set class-of-service classifiers exp exp-default-override forwarding-class best-effort loss-priority high code-points 101 set class-of-service classifiers exp exp-default-override forwarding-class network-control loss-priority low code-points 110 set class-of-service classifiers exp exp-default-override forwarding-class network-control loss-priority high code-points 111
[edit] user@Router# show class-of-service routing-instances all classifiers { exp exp-default-override; { } }
[edit] user@Router# show class-of-service routing-instances | display set set class-of-service routing-instances all classifiers exp exp-default-override
[edit] user@Router# commit and-quit commit complete Exiting configuration mode user@Router> show class-of-service routing-instance Routing instance: CE-4.VPLS Logical interface: lsi.235929856, Index: 512 Object Name Type Index Classifier exp-default-override exp 37746 jjsalas@Contrabando> show class-of-service classifier name exp-default-override Classifier: exp-default-override, Code point type: exp, Index: 37746 Code point Forwarding class Loss priority 000 best-effort low 001 best-effort high 010 best-effort low 011 best-effort high 100 best-effort low 101 best-effort high 110 network-control low 111 network-control high