芯片型号:broadcom 的56960芯片
BCM56960的端口支持的学习模式有以下几个:
Mode Meaning
BCM_PORT_LEARN_ARL 自动学习smac地址
BCM_PORT_LEARN_CPU 将未知smac的数据包复制到CPU
BCM_PORT_LEARN_FWD 将具有未知smac的数据包进行交换(转发,drop等等)
BCM_PORT_LEARN_PENDING 未知smac的学习标记为PENDING
以上4种学习模式是相互独立的。
默认情况下,端口的学习模式为BCM_PORT_LEARN_ARL+BCM_PORT_LEARN_FWD
当然你可以根据自己需要进行自定义配置的。
以下是一些具体的配置例子:
/*从port=35的入流报文,如果smac未知,则copy到cpu*/
cint;
cint_reset();
int flags=BCM_PORT_LEARN_ARL|BCM_PORT_LEARN_CPU|BCM_PORT_LEARN_FWD;
print bcm_port_learn_set(0,35,flags);
exit;
/*从port=35的入流报文,如果smac未知且多条报文的smac
相同则只copy一条报文到cpu即可,copy到cpu*/
cint;
cint_reset();
int flags=BCM_PORT_LEARN_ARL|BCM_PORT_LEARN_PENDING|BCM_PORT_LEARN_CPU|BCM_PORT_LEARN_FWD;
print bcm_port_learn_set(0,35,flags);
exit;