概述
BCM56310系列交换芯片不支持HQoS,其MMU提供以下功能:
1)Ingress back pressure (IBP)
2)PAUSE metering
3)Head-of-line (HOL) blocking prevention
4)Congestion bits
本方案旨在对缓存利用增加约束条件,同时确定拥塞场景的预定义行为。芯片内部的拥塞丢包要么体现在入端口包统计,要么体现在出端口和COS队列包统计。
IBP(Ingress Back Pressure)
IBP机制的目的有两个:
1)最大限度保证不丢包;
2)尽量让各Ingress Port公平地利用缓存资源;
IBP机制包括local IBP(end-to-end IBP)和remote IBP(end-to-end flow control)。
IBP利用IBPPKTCOUNT和IBPCELLCOUNT两个计数器来统计每个ingress port占用的MMU cell数和包个数。当入口拥塞时,PAUSE流控帧被用来告知对端停止发送报文,什么时候发送PAUSE流控帧取决于前述计数值和一些预定义的阈值。
IBPBKSTATUS用来跟踪ingress port是否处于back pressure状态。当ingress port处于back pressure状态时,定期发送PAUSE流控帧(timer value 0xffff)给对端,解除back pressure状态之后,发送PAUSE流控帧(timer value 0x0)给对端通知对端继续发送报文。
当IBPCELLCOUNT超过CELLSETLIMIT时,ingress port进入back pressure状态并停止收包;当超过DISCARDSETLIMIT时,开始丢包;降至RESETLIMITSEL时,退出backpressure状态并开始收包。
IBP Cell Thresholds和Packet Thresholds任意一个满足条件,则进入back pressure状态;两者且不满足,才退出back pressure状态。
各阈值寄存器定义如下:
PAUSE Metering