Tool/software: TI-RTOS
I am working on developing an CCLink example for Processor SDK RTOS using NDK. The CCLink code which I am using is a working code and it works both on Linux and Windows.
I am facing an issue during ARP and I am trying to understand the situation. Currently, this is how my testing setup is done. They are not connect any external network.
IDKAM572x <-> {network switch} <-> IDKAM572x
One of my board is first sending a ARP request in order to find the IP address of the other board. The MAC address of the request sending board is “fd:f6:a0:00:98:af”. The other board is able to receive this ARP request. On receiving the following ARP packet, it goes this c file “ti/ndk/stack/lli/lliin.c”. it goes the 183 line number. I have copy pasted the snap shot of the code. It rejects the code at the hightlighted line. As it says the source MAC address is not valid. However, I have verified the MAC address is correct and valid. I am reading the mac address value form Efuse.
/* By Default: We will reply with our MAC address */
mmCopy (replymac, ptr_net_device->mac_address, 6);
/* Basic Validations: If the source MAC is a multicast or broadcast, then this is an
* illegal ARP packet. We simply ignore it. */
if( pArpHdr->SrcAddr[0] & 1 )
goto LLIRXEXIT;
/* Get the IP Source and Dest */
Please help me understand why is my packet getting rejected ?
Also, I believe there is nothing wrong with the application code. It works if replace one of the board with linux or window pc. They accept the ARP packet and send back an ARP response and my application works fine.
Kindly Please help me out on this issue. is this a bug in NDK?
Thanks,
Suraj