acassis commented on code in PR #15877: URL: https://github.com/apache/nuttx/pull/15877#discussion_r1963869478
########## net/devif/ipv6_input.c: ########## @@ -463,9 +463,15 @@ static int ipv6_in(FAR struct net_driver_s *dev) if ((dev->d_len > 0 && dev->d_lltype == NET_LL_IEEE802154) || (dev->d_len > 0 && dev->d_lltype == NET_LL_PKTRADIO)) { + /* Let 6LoWPAN handle the TCP output, the TCP output can be + * updated in dev->d_iob so we get this first. + */ + + FAR struct ipv6_hdr_s *ipv6r = IPv6BUF; + /* Let 6LoWPAN handle the TCP output */ - sixlowpan_tcp_send(dev, dev, ipv6); + sixlowpan_tcp_send(dev, dev, ipv6r); Review Comment: He explained it in the Discord channel, but missed to include the original issue and the explanation, this is the explanation of the cause of the issue: "I have found the problem with tcp over sixlowpan. It seems that `tcp_ipv_input` sometimes creates a new iob and this new iob needs to be used in the response. It works (and is snappy), but I am unsure if all used iob's are freed." -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org