More info on the issue.
I've attached two log files, one contains the captured packets in wireshark and the other the output log from the esp32.
As you can see, the packet #25 is lost somewhere. For whatever reason it's received from the slip interface but it's not accepted on the ip4 layers, and my guess is that this packet is held in memory forever.
Code: Select all
slipif_input: alloc
slipif: Got packet (40 bytes) <-- Here comes the lost packet
slipif_input: alloc
slipif: Got packet (40 bytes) <-- This is the retransmitted packet
ip_input: iphdr->dest 0x2f0a8c0 netif->ip_addr 0x2f0a8c0 (0xf0a8c0, 0xf0a8c0, 0x2000000)
ip4_input: packet accepted on interface sl
ip4_input:
IP header:
+-------------------------------+
| 4 | 5 | 0x00 | 40 | (v, hl, tos, len)
+-------------------------------+
| 19789 |010| 0 | (id, flags, offset)
+-------------------------------+
| 64 | 6 | 0x8c2d | (ttl, proto, chksum)
+-------------------------------+
| 192 | 168 | 240 | 1 | (src)
+-------------------------------+
| 192 | 168 | 240 | 2 | (dest)
+-------------------------------+
ip4_input: p->len 40 p->tot_len 40
I'll keep digging on it...