Description

In QFX5130 switch, Class of service shared buffer is configured, when the ingress - egress [buffer-partition lossless, lossless-headroom, lossy] are changed or modified, and the output is verified using the show command output, the buffer values continue to remain unchanged.

Symptoms

# show class-of-service shared-buffer | display set
set class-of-service shared-buffer ingress percent 100
set class-of-service shared-buffer ingress buffer-partition lossless percent 1
set class-of-service shared-buffer ingress buffer-partition lossless-headroom percent 20
set class-of-service shared-buffer ingress buffer-partition lossy percent 79
set class-of-service shared-buffer egress percent 100
set class-of-service shared-buffer egress buffer-partition lossless percent 1
set class-of-service shared-buffer egress buffer-partition lossy percent 79


# run show class-of-service shared-buffer ingress |grep "Shared Buffer|Lossy"
  Shared Buffer    :  111263 KB
    Lossy             :  87898 KB


# show | compare
[edit class-of-service shared-buffer ingress buffer-partition lossless]
-     percent 1;
+     percent 15;
[edit class-of-service shared-buffer ingress buffer-partition lossless-headroom]
-     percent 20;
+     percent 3;
[edit class-of-service shared-buffer ingress buffer-partition lossy]
-     percent 79;
+     percent 82;
[edit class-of-service shared-buffer egress buffer-partition lossless]
-     percent 1;
+     percent 15;
[edit class-of-service shared-buffer egress buffer-partition lossy]
-     percent 79;
+     percent 82;


# commit

commit complete



#### EXPECTED CHANGE ####

 run show class-of-service shared-buffer                                                    
Ingress:
  Total Buffer     :  134792 KB    
  Dedicated Buffer :  7868 KB     
  Shared Buffer    :  111263 KB   
    Lossless          :  4450 KB     
    Lossless Headroom :  3337 KB     
    Lossy             :  103475 KB   
 
  Lossless Headroom Utilization:
  Node Device         Total          Used                  Free
  0                   3337 KB        0 KB                  3337 KB     
 
Egress:
  Total Buffer     :  134792 KB    
  Dedicated Buffer :  12739 KB    
  Shared Buffer    :  111263 KB   
    Lossless          :  4450 KB     
    Lossy             :  103475 KB   


#### BUT OUTPUT INDICATES VALUE UNCHANGED ####


# run show class-of-service shared-buffer ingress |grep "Shared Buffer|Lossy"

 Shared Buffer  : 111263 KB

  Lossy       : 87898 KB



#### CONSOLE LOGS ####

evo-pfemand[11311]: [t:11311] [Error] BrcmPlusCos: Not able to allocate required headroom:781 Available:749 on ITM:0
evo-pfemand[11311]: [t:11311] [Error] BrcmPlusCos: Unable to allocate headroom for pfc codepoint 4 due to insufficient buffer on port:133 for interface: et-0/0/27:1


Solution

  • Remove the congestion-notification profile bindings from respective interfaces
  • Reapply the shared-buffer partition changes with symmetric ingress/egress values
This behaviour seen under symptoms are expected, as it is tied to ASIC headroom reservation mechanics. When no-loss / PFC queues are active, lossless headroom is reserved in hardware. The ASIC does not shrink the headroom pool below existing reservations, even if CLI percentages change.

As a result, effective KB values may remain unchanged until reservations are released or a repartition is triggered.

Once headroom usage is freed, hardware allocation reflects CLI configuration as expected.

Note:

At present the user needs to follow the steps manually to overcome the error while no automation efforts are scoped. 

Modification History

2026-03-24 : Article Created
Solution - Append