This article suggests that shared buffer configurations can be used to mitigate the issue of tail/queue drops in an environment with multicast traffic bursts.
Occasionally, drops either in ingress or egress queues are seen on interfaces even if interface utilization is less than 100%.The following is a drop counter in egress multicast queue
user@QFX5200> show interfaces ae1 extensive | find "Egress queues" Egress queues: 10 supported, 9 in use Queue counters: Queued packets Transmitted packets Dropped packets 0 0 21181578237 0 2 0 0 0 3 0 0 0 4 0 0 0 5 0 0 0 6 0 1520936 0 7 0 0 0 8 0 255054573446 7774 9 0 448103107069 0
In the above example, the interface utilization is well below 100% but egress queue drops are still seen. This is for the egress multicast queue. Similar to Egress queue sometime traffic can get drop on ingress queue also if buffers are not enough. Ingress queue drops are counted in "Resource errors" counter.root@QFX5110> show interfaces et-0/0/48 extensive | find "Input errors" Input errors: Errors: 0, Drops: 86745, Framing errors: 0, Runts: 0, Policed discards: 0, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0, FIFO errors: 0, Resource errors: 86745
The default or current shared buffer allocation/partition can be checked using CLI "show class-of-service shared-buffer"root@QFX5110> show class-of-service shared-buffer Ingress: Total Buffer : 16640.00 KB Dedicated Buffer : 4860.38 KB Shared Buffer : 11779.62 KB Lossless : 1060.17 KB Lossless Headroom : 5300.83 KB Lossy : 5418.63 KB Lossless Headroom Utilization: Node Device Total Used Free 0 5300.83 KB 0.00 KB 5300.83 KB Egress: Total Buffer : 16640.00 KB Dedicated Buffer : 5408.00 KB Shared Buffer : 11232.00 KB Lossless : 5616.00 KB Multicast : 2134.08 KB Lossy : 3481.92 KB In certain situations, especially with cable providers, multicast traffic has a lot of bursts. The queue drops are a symptom of these traffic bursts, which can have a negative impact on customer experience. A shared buffer configuration can be effectively used to mitigate this situation. However, the configuration should be tweaked according to user needs based on the pattern of traffic. This is usually done on trial-and-error basis as traffic pattern varies from site to site. In default buffer partition 50%+ Shared buffer are allocated to Lossless queue which wouldn't be used if majority traffic is Lossy/Multicast.Following the below configuration shared-buffer can be re-partitioned to allocate more buffer to Lossy/Multicast queues.[edit class-of-service shared-buffer]set ingress percent 100set ingress buffer-partition lossless percent 5set ingress buffer-partition lossless-headroom percent 5set ingress buffer-partition lossy percent 90set egress percent 100set egress buffer-partition lossless percent 5set egress buffer-partition lossy percent 20set egress buffer-partition multicast percent 75Note# Ingress lossless-headroom buffer can be configured with 0 percent if switch is standalone. Minimum 5% buffer is needed for ingress lossless-headroom if it is Virtual-chassis.Please watch-out for syslog message while re-partitioning the shared buffer and always check if changes has been applied to PFE (Packet forwarding engine) using "request pfe execute command "show cos hw buffmgmt dynamic unit 2 global" target fpc0"For more details refer to Example: Recommended Configuration of the Shared Buffer Pool for Networks with Mostly Multicast Traffic