Description

This article explains why packet drops may be seen while activating and deactivating Class of Service (CoS) configuration on ACX devices and whether any action must be taken to prevent the drops.

 

Symptoms

When Class of Service (CoS) configuration is activated or deactivated on ACX devices, packet drops may be observed for about 2 seconds as shown below:

Consider the following topology:

 

TOPOLOGY

+------------------+                    +----------------+              +--------------------+
|     packet       |                    |                |              |                    |
|     generator    |--------------------|   ACX - 1      +ge-0/0/5------|      ACX - 2       |
|                  |                    |                |              |                    |
+------------------+                    +----------------+              +--------------------+
 

In the above topology, the packet generator is seen generating 300 MB traffic that is destined to the ACX-2 device. Notice that there are no drops on the ge-0/0/5 interface as shown by the output of the show interfaces command:

 
lab@ACX1> show interfaces ge-0/0/5 extensive   
Physical interface: ge-0/0/5, Enabled, Physical link is Up
  Interface index: 660, SNMP ifIndex: 550, Generation: 151
  Link-level type: Ethernet, MTU: 1514, LAN-PHY mode, Link-mode: Full-duplex, Speed: 1000 Mbps, BPDU Error: None, Loop Detect PDU Error: None, Ethernet-Switching Error: None, Source filtering: Disabled
  Ethernet-Switching Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Flow control: Disabled, Auto-negotiation: Enabled, Remote fault: Online, Media type: Copper
  Device flags   : Present Running
  Interface flags: SNMP-Traps Internal: 0x4000
  Link flags     : None
  CoS queues     : 8 supported, 8 maximum usable queues
  Schedulers     : 0
  Hold-times     : Up 0 ms, Down 0 ms
  Current address: 54:1e:56:d7:17:c8, Hardware address: 54:1e:56:d7:17:c8
  Last flapped   : 2018-09-04 13:47:06 GMT-3 (1d 17:17 ago)
  Statistics last cleared: 2018-09-06 07:00:06 GMT-3 (00:04:54 ago)
  Traffic statistics:
   Input  bytes  :                32024                    0 bps
   Output bytes  :            608992923            228579728 bps
   Input  packets:                  351                    0 pps
   Output packets:              9515387               446445 pps
   IPv6 transit statistics:
    Input  bytes  :                   0
    Output bytes  :                   0
    Input  packets:                   0
    Output packets:                   0
  Input errors:
    Errors: 0, Drops: 0, Framing errors: 0, Runts: 0, Bucket drops: 0, Policed discards: 0, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0, FIFO errors: 0, Resource errors: 0
  Output errors:
    Carrier transitions: 0, Errors: 0, Drops: 0, Collisions: 0, Aged packets: 0, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0, Bucket drops: 0
  Egress queues: 8 supported, 4 in use
  Queue counters:       Queued packets  Transmitted packets      Dropped packets
    0                         10860459             10860459                    0
    1                                0                    0                    0
    2                                0                    0                    0
    3                              274                  274                    0
 

Consider that CoS is already configured on the ge-0/0/5 interface:

{master:0}[edit]
lab@ACX1# show class-of-service | display set
set class-of-service classifiers dscp DSCP forwarding-class BE loss-priority high code-points be
set class-of-service classifiers exp EXP forwarding-class BE loss-priority high code-points 000
set class-of-service host-outbound-traffic forwarding-class NC
set class-of-service drop-profiles HIGH fill-level 15 drop-probability 0
set class-of-service drop-profiles MEDIUM fill-level 30 drop-probability 0
set class-of-service forwarding-classes class NC queue-num 6
set class-of-service forwarding-classes class BE queue-num 0
set class-of-service system-defaults classifiers exp EXP
set class-of-service interfaces ge-0/0/4 classifiers dscp DSCP
set class-of-service interfaces ge-0/0/5 scheduler-map S-BE
set class-of-service interfaces ge-0/0/5 unit 0 rewrite-rules exp RW-EXP
set class-of-service rewrite-rules exp RW-EXP forwarding-class BE loss-priority high code-point 000
set class-of-service rewrite-rules exp RW-EXP forwarding-class NC loss-priority low code-point 110
set class-of-service rewrite-rules exp RW-EXP forwarding-class NC loss-priority high code-point 111
set class-of-service scheduler-maps S-NC forwarding-class NC scheduler NC
set class-of-service scheduler-maps S-BE forwarding-class BE scheduler BE
set class-of-service schedulers NC transmit-rate percent 5
set class-of-service schedulers NC buffer-size percent 5
set class-of-service schedulers NC priority low
set class-of-service schedulers BE transmit-rate remainder
set class-of-service schedulers BE buffer-size remainder
set class-of-service schedulers BE priority low
 

When the CoS configuration is deactivated, there are momentary drops on the ge-0/0/5 interface, as shown below:

{master:0}[edit]
lab@ACX1# show | compare rollback 1   
[edit]
!   inactive: class-of-service { ... }
 
{master:0}[edit]
lab@ACX1#
 
lab@ACX1# run show interfaces ge-0/0/5 extensive                
Physical interface: ge-0/0/5, Enabled, Physical link is Up
  Interface index: 660, SNMP ifIndex: 550, Generation: 151
  Link-level type: Ethernet, MTU: 1514, LAN-PHY mode, Link-mode: Full-duplex, Speed: 1000 Mbps, BPDU Error: None, Loop Detect PDU Error: None, Ethernet-Switching Error: None, Source filtering: Disabled
  Input errors:
    Errors: 0, Drops: 0, Framing errors: 0, Runts: 0, Bucket drops: 0, Policed discards: 0, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0, FIFO errors: 0, Resource errors: 0
  Output errors:
    Carrier transitions: 0, Errors: 0, Drops: 6584, Collisions: 0, Aged packets: 0, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0, Bucket drops: 0
  Egress queues: 8 supported, 4 in use
  Queue counters:   Queued packets  Transmitted packets  Dropped packets
  0                 84243934        84237350             6584   >>> Dropped packets
  1                 0               0                    0
  2                 0               0                    0
  3                 162             162                  0
  Ethernet-Switching Error: None, MAC-REWRITE Error: Non
 

Activating the CoS configuration after deactivating it on the ge-0/0/5 interface results in momentary packets drops again, as shown below:

 
{master:0}[edit]
lab@ACX1# show | compare rollback 1
[edit]
!   active: class-of-service { ... }
 
{master:0}[edit]
lab@ACX1> show interfaces ge-0/0/5 extensive   
Physical interface: ge-0/0/5, Enabled, Physical link is Up
  Interface index: 655, SNMP ifIndex: 550, Generation: 146
  Link-level type: Ethernet, MTU: 1514, LAN-PHY mode, Speed: 1000mbps, BPDU Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, Flow control: Disabled,
    Queue counters:  Queued packets  Transmitted packets  Dropped packets
    0                433476817       433454541            22276  >>Dropped packets

 

Solution

No action needs to be taken.

This behavior is expected due to scheduler changes being applied to the interface. There is a temporary traffic drop when a scheduler is added to or deleted from the interface as per the hardware architecture on ACX devices.