1.BCM56170
1.1 Link Aggregation(Trunking)
.128 trunk groups
.maximum of 16 Gbps(eight member ports)
.TRUNK_BITMAP
.TRUNK_GROUP
.NONUCAST_TRUNK_BLOCK_MASK 未知报文hash索引
.TRUNK_EGR_MASK(127,0) (src TGID)索引,显示不允许发送报文的trunk组
.EGR_MASK(4095,0) (src_modid,src_port)索引,显示哪个ingress端口不允许转发报文
.MAC_BLOCK_TABLE (31,0) 显示哪个MAC不允许被转发报文
.SOURCE_TRUNK_MAP(4095,0) (src_modid,src_port)索引显示端口属于哪个trunk组
1.2 Mirroring
.Egress mirroring of packets sent by the CPU 支持由CPU发送出口镜像报文
.four MTP(mirror to port) ports for ingress and egress mirroring
.The MTP port can be a single port or a trunk group 聚合组也可以做为MTP使用
.An MTP port can be a logical port(trunk) 聚合组可作为MTP
.镜像报文无vlan检查,ingress镜像不修改报文,egress镜像修改vlan tag
.MIRROR_CONTROL 每个端口一个表项,只能配置一个IM_MTP_INDEX/EM_MTP_IDEX
.IM_MTP_INDEX 4个ingress MTP表项
.EMIRROR_CONTROL 不一定有这个表,可能共MIRROR_CONTROL
.EM_MTP_INDEX 4个egress MTP表项
.NON_UC_EM_MTP_INDEX 未知报文用到,未知报文的egress镜像和已知报文不同
.EGR_IM_MTP_INDEX RSPAN镜像,普通镜像端口配一样,聚合组如何使用未知
.EGR_EM_MTP_INDEX RSPAN镜像,普通镜像端口配一样,聚合组如何使用未知
BCM.0> getr chg MIRROR_CONTROL
2. BCM56340
2.1 理论
2.1.1 LAG
trunk hash可以配置基于MAC DA和SA, VLAN,Ether Type, IP DA和SA
10242 = 2568
3bit Rtag提供8个hash 方式,对应报文的DA,SA等等,经过特定的算法关联起来。生成一个8bit hash值,从trunk组成员中选择一个成员发出报文
配置RTAG=srcmac,除了Draco 1.5其他实际上不止基于srcmac hash,还包含了vlan,etype等
Rtag1_trunk_index = macsa(47,40) ^ macsa(39,32) ^ macsa(31,24) ^ macsa(23,16) ^ macsa(15,8) ^ macsa(7,0) ^ vlan(11,8) ^ vlan(7,0) ^ ether_type(15,8) ^ ether_type(7,0) ^ lbid_src_modid(7,0) ^ lbid_src_port(7,0);
实际已知单播是按srcmac进行hash算法,没有基于vlan,etype等配置
未知单播通过hash_control寄存器全局配置;
2.1.1.1 普通hash规则(非RTAG7)
以上配置RTAG为1,目的基于src-mac做hash,生成8-bit的hash值;
但已知单播和未知报文hash索引表不同;
TRUNK_MEMBER:已知单播hash索引表,修改PORT_NUM可以调整出口
上面说:index由TRUNK_GROUP 表的BASE_PTR形成,BASE_PTR加到hash值算法中,但修改BASE_PTR,没有hash变化?(还不清楚怎么用)
NONUCAST_TRUNK_BLOCK_MASK:未知报文hash索引表,修改BLOCK_MASK值,可以调整出口;
所以已知单播和未知单播,即使用同一src-mac,也可能指导不同的出口,因上面2个表项可能配置值不同
3.修改帧间隙IPG(inter-Packet Gap)
含义:2个以太网发送的间隔
间隔越大,发送的慢一些,当入口比较快,出口来不及发送造成丢包时,可以尝试缩短帧间隙,加快出口发送。
以太网默认帧间隙一般是12字节,最小8字节;
3.1 各芯片修改帧间隙方法
BCM5686X:modreg XLMAC_TX_CTRL.xe0 AVERAGE_IPG=8
BCM5664X:modreg XMAC_TX_CTRL.xe0 AVERAGE_IPG=8