请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320C6678 您好!
我正在尝试使用 ALE 来过滤不定向到以太网 MAC 地址的传入数据包(我同时使用外部以太网端口)。 当我仅连接一个端口时、似乎可以正常工作、但当我连接两个端口时、数据包会从一个端口转发到另一个端口。
由于两个端口都连接到同一台交换机并位于同一子网中、C6678会生成"无限循环"、因为进入端口1的数据包被转发到端口2、然后由交换机返回到端口1。
A 按如下方式配置 ALE:
uint32_t ALE_Ctrl= (1<<4)|//no learn (3<0);//3=Forward、2=learn、1=block、0=disable hCpsw->ALE_PORT_CONTRAL_REG_0]=ALE_CTRL; hCpsw->ale_port_control_REG[1]=ale_ctrl; hCpsw->ale_port_control_REG[2]=ale_ctrl; CSL_CPSW_3Gf_ale_mcastaddr_entry mc; memset (MC.macAddress、0x0FF、 6); MC.mcastFwdState=3; MC.portMask=1; MC.SuperEnable=0; CSL_CPSW_3GF_setAleMcastAddrEntry (0、 &mc); CSL_CPSW_3Gf_ALE_UNCASTADDR_Entry ucastAddrCfg; ucastAddrCfg.ucastType = ALE_UCASTTYPE_UCAST_NOAGE;//添加永久单播地址 entryALE_UCASTTYPE_UCAST_NOAGE。 ucastAddrCfg.secureEnable = 错误; ucastAddrCfg.blockEnable = 错误; ucastAddrCfg.portNumber = 0;//为此端口添加 ALE 条目 memcpy (ucastAddrCfg.macAddress、&bsp_c66_eth_drv_mac_adessessessessessessessm[1]。slics[0]、6);//设置 MAC 地址1 CSL_CPSW_3GF_setAleUnicastAddrEntry (1、&ucastAddrCfg); ucastAddrCfg.portNumber = 0;//为此端口添加 ALE 条目 memcpy (ucastAddrCfg.macAddress、&bsp_c66_eth_drv_mac_adessessessessessessessessessessm[2].slics[0]、6);//设置 MAC 地址2 CSL_CPSW_3GF_setAleUnicastAddrEntry (2、&ucastAddrCfg);
有什么建议吗?
谢谢