AnsweredAssumed Answered

kw41z in 6loble mode sends ICMPv6 pkts with bad checksum

Question asked by Vakul Garg Employee on Nov 6, 2017
Latest reply on Nov 18, 2017 by Vakul Garg

I am creating a 6loble setup between a kw41z-frdm board running ipv6_node example application and a linux machine connected with another kw41z-frm board running ble_hci_app firmware.

My SDK version is 2.2.


On my linux machine, I am using 6lowpan modules and following steps as given in: 

FTF-HMB-N1962_IPv6 over BLUETOOTH Low Energy (6LoBLE) .pdf .


(Note that I am not using GL.inet as described in above presentation, but using own linux machine to connect directly to kw41z-frdm board).


The BLE link between two kw41z-frdm is established. Now from ipv6_node example's shell, I do a ping to linux's ipv6 link-local address. On wireshark at linux, I can see ICMPv6 echo requests coming. But all of them get discarded as the linux could not verify checksum in ICMPv6 packets. Linux 'netstat -s -6' shows icmpv6 discard statistics count increasing. Wireshark shows that checksum is bad.


(I tried another scenario where on one kw41z-frdm board, I run ipv6_router and on second ipv6_node.

After establishing the BLE link between them, ping does not work in this case too.)


Kindly help.





PS: On mcuxpresso environment, I could not search 'C' code for function ICMP_ComputeTxChecksum6().

Only header file declaration could be searched.