【原创】Marvell 88E6390交换芯片disable自动学习功能的坑

官方芯片手册上说可以Marvell 88E6390通过清除端口的PAV来禁用端口的自动mac地址学习(Learning can be disabled on any individual port by clearing the port’s PAV to all zeros (see Port Association Vector, Port offset 0x0B).)

但是如果这样做的话如果报文的SA已经在其他端口学习到,芯片会清除掉该条转发表,芯片手册上也有说明如下:



我们当前有种应用场景是报文从端口A进入(学习SA),上送CPU处理之后,又从端口B返回芯片,这里就需要禁用端口B的自动学习,如果通过清除DPV来实现就会把端口A学习的转发表现清除,这个处理很坑。

【解决办法】

通过端口的lock功能(port’s LockedPort bit to a one (Port offset 0x0B).),锁定功能是指当一个新的SA进入芯片,会产生一个中断,由CPU决定是否学习该地址,如果不需要CPU可以忽略该中断或者通过中断控制寄存器直接不上报该中断达到禁止mac自动学习的功能而又不影响该地址在其他端口的学习。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值