XTCP ARP Bug
Posted: Fri Aug 11, 2017 8:36 am
I've come across what appears to be a bug in XTCP which causes it to become unresponsive. The conditions to reproduce the bug are :
- Restart the ethernet switch (to clear any ARP caches)
- Have more than 3 XMOS devices on the network
- Using sc_ethernet v3.2.0, sc_xtcp v4.0.3
- Send a multicast message from a PC (though I don't think the multicast bit is critical) to all the XMOS devices
Each XMOS device then sends an ARP request for the PC IP address. This causes 100+ calls to the UDP_PENDING_ARP section of the code, then the XTCP stack stops responding. It doesn't reply to the multicast message that was sent, it doesn't respond to a ping. The only solution is to reboot the XMOS devices one by one.
Despite quite a lot of time spent on this I've not yet managed to figure out exactly why it becomes unresponsive which would be a good first step.
Has anybody come across anything similar or got any ideas what might be causing this?
- Restart the ethernet switch (to clear any ARP caches)
- Have more than 3 XMOS devices on the network
- Using sc_ethernet v3.2.0, sc_xtcp v4.0.3
- Send a multicast message from a PC (though I don't think the multicast bit is critical) to all the XMOS devices
Each XMOS device then sends an ARP request for the PC IP address. This causes 100+ calls to the UDP_PENDING_ARP section of the code, then the XTCP stack stops responding. It doesn't reply to the multicast message that was sent, it doesn't respond to a ping. The only solution is to reboot the XMOS devices one by one.
Despite quite a lot of time spent on this I've not yet managed to figure out exactly why it becomes unresponsive which would be a good first step.
Has anybody come across anything similar or got any ideas what might be causing this?