The buffer space is portioned out on a per port basis. Each port gets an amount of buffering which is its fair-share based on the port’s bandwidth compared to the overall active bandwidth.
This mechanism takes the buffer space available and divides it into a portion for each port based on the port’s active bandwidth relative to the amount of active bandwidth for all ports associated with the buffer space. The number of ports sharing the same buffer space depends on the type of MDAs populated on the IOM. An active port is considered to be any port that has an active queue associated. After a queue is created for the port, the system allocates the appropriate amount of buffer space to the port. This process is independently performed for both ingress and egress.
Normally, the amount of active bandwidth is considered as opposed to total potential bandwidth for the port when determining the port’s fair share. If a port is channelized and not all bandwidth is allocated, only the bandwidth represented by the configured channels with queues configured is counted toward the bandwidth represented by the port. Also, if a port may operate at variable speeds (as in some Ethernet ports), only the current speed is considered. Based on the above, the number of buffers managed by a port may change because of queue creation and deletion, channel creation and deletion and port speed variance on the local port or other ports sharing the same buffer space.
After the active bandwidth is calculated for the port, the result may be modified through the use of the ing-percentage-of-rate and egr-percent-of-rate commands. The default value of each is 100% which allows the system to use all of the ports active bandwidth when deciding the relative amount of buffer space to allocate to the port. When the value is explicitly modified, the active bandwidth on the port is changed according to the specified percentage. If a value of 50% is given, the ports active bandwidth is multiplied by 5, if a value of 150% is given, the active bandwidth is multiplied by 1.5. The ports rate percentage parameters may be modified at any time.
Examples:
To modify (in this example, to double) the size of buffer allocated on ingress for a port:
B:SR7-10# configure port 1/2/1 modify-buffer-allocation-rate ing-percentage-of-rate 200
To modify (in this example, to double) the size of buffer allocated on egress for a port:
B:SR7-10# configure port 1/2/1 modify-buffer-allocation-rate egr-percentage-of-rate 200
The default buffer allocation has the following characteristics:
Each port manages a buffer according to its active bandwidth (ports with equal active bandwidth get the same buffer size).
An access port has 2 default pools created: access-ingress and access-egress.
A network port has 2 default pools created: ingress-FP (common pool for all ingress network ports) and network-egress.
All queues defined for a port receive buffers from the same buffer pool.
The following example shows port pool configurations:
A:ALA-B>config>port# info
----------------------------------------------
access
egress
pool
slope-policy "slopePolicy1"
exit
exit
exit
network
egress
pool
slope-policy "slopePolicy2"
exit
exit
exit
no shutdown
----------------------------------------------
The following shows a CBS configuration over subscription example:
*A:Dut-T>config>port# info
----------------------------------------------
access
ingress
pool
amber-alarm-threshold 10
resv-cbs 10 amber-alarm-action step 1 max 30
exit
exit
exit
ethernet
mode access
encap-type dot1q
exit
no shutdown