We are facing issues due to integration of IPv6 code. We were using IPv4 lib in our code which was pinging fine. And after the integration of IPv6 lib, we started facing issues related to IPv4 ping. And we have just integrated it not yet enabled it but the uncertainty while pinging is observed. Due to that uncertainty, we are facing packet loss in communication.
Are you sending out pings from you device? If so, can you tell if this expression succeeds?
we are facing packet loss in communication.
What communication are you referring to here? ICMP/ping, UDP or TCP?
In general I would thing of a lack of resources: not enough RAM, not enough network buffers. There is a helpful function
vPrintResourceStats(). It is normally called from the network interface on a regular basis.
Thanks for the reply. We are using FreeRTOS TCP/IP stack (IPv6) for the device. We are trying to ping our device from laptop, for which we are getting intermittent failure.
Can you tell, do all ping requests arrive on the embedded device? Where is the loss, to the device or the replies from the device?
I just tested ICMP/ping in the version with multiple interfaces. I ran it on a simple STM32F4xx, 100 Mbps.
ping -f 192.168.2.90 from a virtual Linux machine, it exchanged 3,700 per second, and there was no loss.
I also tried an IPv6 ping with
ping -f fe80::7007%2, which exchanged 3,545 packets per second. No packet loss.
Maybe you can try to look at my suggestions about resource monitoring.
If you want, you may attach your initialisation code (
FreeRTOS_IPInit(), and also your
I will check this cPrintResourceStats(). As per as your help and will let you know. Thanks
I have integrated the code of IPv4 and IPv6 and getting ping of IPv4 when my ipconfig_IPv6 is 0. But if I am changing the the ipconfig_IPv6 to 1 the same problem occurs. I am not able to see the ping of both IPv4 and IPv6