Description

On all Junos Evolved platforms, 
when forwarding-class is attached to a logical interface and the forwarding class queue number is modified, 
the logical interface config reflects this updated queue number. However. the traffic is forwarded via the previous queue.


<-- Initially forwarding-class is assigned to 3

<-- Traffic is sent over queue 3.

<-- Now modify the queue assignment to 0

<-- Expected to verify the traffic over queue 0

<-- In reality traffic is sent over queue 3 .. still..


<-- If you remove the class-of-service-->interfaces-->unit --> forwarding-class and re-apply the config, queue assignment is changing and forwarding the traffic over the expected queue..


<-- Initially the following config is applied on the interfaces 


user@router# show class-of-service 

forwarding-classes {

  class test-external queue-num 3;

}

interfaces {

  et-0/0/0 {

    unit 0 {

      forwarding-class test-external;

      rewrite-rules {

        dscp test-dscp-zero;

        dscp-ipv6 test-dscp-zero-v6;

      }

    }

  }

  et-0/0/1 {

    unit 0 {

      forwarding-class test-external;

      rewrite-rules {

        dscp test-dscp-zero;

        dscp-ipv6 test-dscp-zero-v6;

      }

    }

  }

   

}

rewrite-rules {

  dscp test-dscp-zero {

    forwarding-class test-external {

      loss-priority high code-point 000000;

      loss-priority low code-point 000000;

      loss-priority medium-high code-point 000000;

    }

  }

  dscp-ipv6 test-dscp-zero-v6 {

    forwarding-class test-external {

      loss-priority high code-point 000000;

      loss-priority low code-point 000000;

      loss-priority medium-high code-point 000000;

    }

  }

}


[edit]

user@router#  


<-- Traffic is being sent at 100 pps in both directions for both the interfaces


<-- Traffic is being sent over queue 3 as expected 


for et-0/0/1


Egress queues: 8 supported, 4 in use

 Queue counters:    Queued packets Transmitted packets   Dropped packets

  0                0          0          0

  1                0          0          0

  2                0          0          0

  3               6719         6719          0

 Queue number:     Mapped forwarding classes

  0          best-effort

  1          expedited-forwarding

  2          assured-forwarding

  3          test-external


<-- Now modified the queue number to 0


user@router# set class-of-service forwarding-classes class test-external queue-num 0  


[edit]

user@router# commit 

commit complete



[edit]

user@router# show class-of-service | display set 

set class-of-service forwarding-classes class test-external queue-num 0

set class-of-service interfaces et-0/0/0 unit 0 forwarding-class test-external

set class-of-service interfaces et-0/0/0 unit 0 rewrite-rules dscp test-dscp-zero

set class-of-service interfaces et-0/0/0 unit 0 rewrite-rules dscp-ipv6 test-dscp-zero-v6

set class-of-service interfaces et-0/0/1 unit 0 forwarding-class test-external

set class-of-service interfaces et-0/0/1 unit 0 rewrite-rules dscp test-dscp-zero

set class-of-service interfaces et-0/0/1 unit 0 rewrite-rules dscp-ipv6 test-dscp-zero-v6


set class-of-service rewrite-rules dscp test-dscp-zero forwarding-class test-external loss-priority high code-point 000000

set class-of-service rewrite-rules dscp test-dscp-zero forwarding-class test-external loss-priority low code-point 000000

set class-of-service rewrite-rules dscp test-dscp-zero forwarding-class test-external loss-priority medium-high code-point 000000

set class-of-service rewrite-rules dscp-ipv6 test-dscp-zero-v6 forwarding-class test-external loss-priority high code-point 000000

set class-of-service rewrite-rules dscp-ipv6 test-dscp-zero-v6 forwarding-class test-external loss-priority low code-point 000000

set class-of-service rewrite-rules dscp-ipv6 test-dscp-zero-v6 forwarding-class test-external loss-priority medium-high code-point 000000



<-- Now still the traffic is being sent over queue 3


 Egress queues: 8 supported, 4 in use

 Queue counters:    Queued packets Transmitted packets   Dropped packets

  0                0          0          0

  1                0          0          0

  2                0          0          0

  3              13524        13524 <<<<< traffic is still with queue 3          0

 Queue number:     Mapped forwarding classes

  0          test-external <<<<<<<<< queue assignment changed 

  1          expedited-forwarding

  2          assured-forwarding

  3          network-control


.

.


 Egress queues: 8 supported, 4 in use

 Queue counters:    Queued packets Transmitted packets   Dropped packets

  0                0          0          0

  1                0          0          0

  2                0          0          0

  3              14922        14922          0

 Queue number:     Mapped forwarding classes

  0          test-external

  1          expedited-forwarding

  2          assured-forwarding

  3          network-control


<-- On intf et-0/0/0


Egress queues: 8 supported, 4 in use

 Queue counters:    Queued packets Transmitted packets   Dropped packets

  0                0          0          0

  1                0          0          0

  2                0          0          0

  3              11286        11286          0

 Queue number:     Mapped forwarding classes

  0          test-external

  1          expedited-forwarding

  2          assured-forwarding

  3          network-control


.

.


Egress queues: 8 supported, 4 in use

 Queue counters:    Queued packets Transmitted packets   Dropped packets

  0                0          0          0

  1                0          0          0

  2                0          0          0

  3              24091        24091          0

 Queue number:     Mapped forwarding classes

  0          test-external

  1          expedited-forwarding

  2          assured-forwarding

  3          network-control



user@router> show class-of-service interface et-0/0/0 

Physical interface: et-0/0/0, Index: 1397

Maximum usable queues: 8, Queues in use: 4

Exclude aggregate overhead bytes: disabled

Logical interface aggregate statistics: disabled

 Scheduler map: default

 Congestion-notification: Disabled


 Logical interface: et-0/0/0.0, Index: 1075

Object         Name          Type          Index

Classifier-Input    test-external     fixed            0

Rewrite         test-dscp-zero     dscp            0


user@router> show class-of-service interface et-0/0/1   

Physical interface: et-0/0/1, Index: 1396

Maximum usable queues: 8, Queues in use: 4

Exclude aggregate overhead bytes: disabled

Logical interface aggregate statistics: disabled

 Scheduler map: default

 Congestion-notification: Disabled


 Logical interface: et-0/0/1.0, Index: 1076

Object         Name          Type          Index

Classifier-Input    test-external     fixed            0

Rewrite         test-dscp-zero     dscp            0




Symptoms

Traffic can still be forwarded on the previous queue

Solution

<-- This is SW issue and addressed from 24.4R2-S3 onwards.

<-- Please reach out to JTAC/CFTS, when you encounter this issue.


Workaround:


<-- After deleting and re-applying the config fixes the issue 


user@router# delete class-of-service interfaces et-0/0/0 unit 0 forwarding-class 


[edit]

user@router# commit 

commit complete


[edit]

user@router# set class-of-service interfaces et-0/0/0 unit 0 forwarding-class test-external 


[edit]

user@router# commit 

commit complete


[edit]

user@router# #####


[edit]

user@router# #


[edit]

user@router# delete class-of-service interfaces et-0/0/1 unit 0 forwarding-class        


[edit]

user@router# commit 

commit complete


[edit]

user@router# set class-of-service interfaces et-0/0/1 unit 0 forwarding-class test-external   


[edit]

user@router# commit 

commit complete



<-- et-0/0/0

 Egress queues: 8 supported, 4 in use

 Queue counters:    Queued packets Transmitted packets   Dropped packets

  0               4832         4832          0

  1                0          0          0

  2                0          0          0

  3              216935        216935          0

 Queue number:     Mapped forwarding classes

  0          test-external

  1          expedited-forwarding

  2          assured-forwarding

  3          network-control


.

.


 Egress queues: 8 supported, 4 in use

 Queue counters:    Queued packets Transmitted packets   Dropped packets

  0               6633         6633          0

  1                0          0          0

  2                0          0          0

  3              216935        216935          0

 Queue number:     Mapped forwarding classes

  0          test-external

  1          expedited-forwarding

  2          assured-forwarding

  3          network-control


on et-0/0/1

Egress queues: 8 supported, 4 in use

 Queue counters:    Queued packets Transmitted packets   Dropped packets

  0              197388        197388          0

  1                0          0          0

  2                0          0          0

  3              26817        26817          0

 Queue number:     Mapped forwarding classes

  0          test-external

  1          expedited-forwarding

  2          assured-forwarding

  3          network-control


.

.


Egress queues: 8 supported, 4 in use

 Queue counters:    Queued packets Transmitted packets   Dropped packets

  0              218189        218189          0

  1                0          0          0

  2                0          0          0

  3              26825        26825          0

 Queue number:     Mapped forwarding classes

  0          test-external

  1          expedited-forwarding

  2          assured-forwarding

  3          network-control


Modification History

2026-04-20 : Article Created