Configuring Buffer management

Introduction

When network congestion, the port cannot send data immediately to prevent loss of data, the device will send the data is temporarily stored in the data in the buffer.

  1. Accounting resources

The chip stores packets in fixed-sized cells, all cells are 208 bytes and all packets user at least one cell.The first cell used by a packet contains 144 bytes of packet data and 64 bytes of buffering related data.

All cells used by a packet after the first cell contain 208 bytes of packet data.

     2. Memory Spaces :

The cell data buffer is divided into fixed and shared spaces.

  • Fixed space

Fixed space in accordance with the port queue division, reserved in advance, other ports cannot take up the space, when the port congestion occurs, it will occupy fixed space first, shared space will be used when the fixed space is no longer available. The fixed space is allocated using a static threshold. Fixed space allocation will not be too big, otherwise it will cause waste of resources.

  • Shared space

The shared space used by all ports and priority groups when the fixed space is run out. When the shared space is used up, the packet is discarded. If a queue don‘t have to store packet,the others queue will take up this queue resource.For a queue,all of ports transmit packets will first come first served,if run out of the resource,the came packets will be dropped.The shared space can use dynamic or static threshold configuration at the logical level of the queue.

 

Command configuration

For the unicast queue and multicast queue,we have different configuration to deal with share space:

1.multicast queue:

    static mode:  Need configure.

  • The static threshold value configured for the multicast queue in  shared space.This avoids the case of the port affects the forwarding of other ports in flow control mode, but the disadvantage is that the utilization of shared resources is low. 

    dynamic mode : This is the default configuration.

disable queue 0 dynamic-shared

root@PicOS-OVS$ovs-vsctl set-egress-mc-queue-dynamic 0 false

2.unicast queue:

    dynamic mode :

  • dynamic threshold is the default mode for the unicast queue,and it can't configure static threshold.

3.dynamic threshold ratio configuration

The dynamic mode both of multicast  and unicast queue can configure the dynamic threshold ratio .

Configure queue 0 dynamic threshold ratio 50%

root@PicOS-OVS$ovs-vsctl set-egress-shared-queue-ratio 0 50

 

Check the configuration result

admin@PicOS-OVS$ovs-vsctl show-egress-shared-queue-ratio
Egress shared queue state:
    queue    uc enable   mc enable   shared ratio (uc)  shared ratio (mc)
    ----------------------------------------------------------------------
      0         true        true          33%                 33%
      1         true        true          33%                 33%
      2         true        true          33%                 33%
      3         true        true          33%                 33%
      4         true        true          33%                 33%
      5         true        true          33%                 33%
      6         true        true          33%                 33%
      7         true        true          33%                 33%                        

 

Clear the ratio configuration . Clear dynamic mode configuration

root@PicOS-OVS$ovs-vsctl list pica8
_uuid               : fef8cb42-7f42-4a1b-b089-95bf49fd7811
combinate_actions_enable: false
cos_map_enable      : false
disable_extend_group: false
ecmp_symmetric_hash : false
............
............
 
root@PicOS-OVS$ovs-vsctl clear pica8 fef8cb42-7f42-4a1b-b089-95bf49fd7811 egress-mc-queue-dynamic

root@PicOS-OVS$ovs-vsctl clear pica8 742a4dda-db77-474f-b702-1012141ecd5a egress_shared_queue_ratio

For the maximum shared-area ratio for a queue, the percentage values 0 to 100 are divided into 10 rages.The table below shows the effective values that correspond to the configured values of ratio-value.

notice

Now,all of Trident and Trident+ platforms just support eight (1-67)effective ratio value for multicast egress queue.Platform 7312,ratio of 33~100 take the same effect.

Application notice



As show above: send packets from port1 and port2 to port3 in 10G speed in queue 0, and port3 will be in congestion.

For the multicast flow,If flow control is enabled on port1 and port2 and configure static  threshold,the packets also perhaps will be dropped  in port 3 egress queue,because at the egress  shared-ratio is small and ingress can't meet condition of sending pause frame.

So,if users exist this environment,in the this condition,we suggest users configure dynamic mode. port1 and port2 will send out pause frame before port3 queue limit is reached, and absorb burst packets to avoid packet drop.

What's more,if pause frame are not be responsed,uc traffic will be discarded on ingress port,whether mc traffic are discarded on egress port.

Note:

1.support buffer managment platforms:

trident2trident2 plustomahawk(per xpe)triumph3trident

2.Unicast queue traffic

push_mpls,push_l2mpls,gre,l2gre,vxlan,multitable flow,TTP unicast flow.

3.platform 4610,6248

multicast queue can absorb 266 cells,other platforms can absorb about 300 cells.

Copyright © 2024 Pica8 Inc. All Rights Reserved.