请教各位大神,我们采用的芯片是TMS320C6678,上面Core0运行的是板子自带的c6x linux系统,现在在修改keystone netcp网卡驱动。c6x现在的做法,PA配置的时候,配置了两个mac地址进去,一个是本设备mac地址,一个是广播mac地址,这样除了本设备mac地址和广播包其他的包都被pa过滤掉了,在pa.c文件中的pa_config函数中实现;现在我们希望能收到其他mac地址的数据包,而采用pa_config无法配置更多的mac地址,请教一下该如何实现?或者直接讲PA配置成bypass模式,如果这样做的话需要修改哪些地方?多谢各位!
Thomas Yang1:
PA的LLD中有类似 PA_AddMac之类的函数,您找找看
xiong zhao:
回复 Thomas Yang1:
首先感谢Thomas Yang1的回复,我根据您说的找了一下,在BIOS系统中是有pa_addmac函数的,但是在linux c6x系统中,没有找到类似的函数,而我们现在是在linux c6x系统下开发,谢谢
xiong zhao:
回复 Thomas Yang1:
补充一下,是在keystone_pa_config函数里,通过qm给pa发送的设置命令,但是这个命令格式目前是16个字符,存放本设备mac和广播mac;我尝试过扩大这个buf,增加一个mac地址进去,buf[0-7]存mac1,buf[8-15]存mac2,buf[16-23]存广播mac,结果就是pa过滤掉了所有的包,包括广播包。
TI中文支持网