2015-07-27 10:58 GMT+02:00 Baptiste Clenet <bapclenet@xxxxxxxxx>: > 2015-07-27 10:32 GMT+02:00 Alexander Aring <alex.aring@xxxxxxxxx>: >> Hi, >> >> On Mon, Jul 27, 2015 at 10:03:27AM +0200, Baptiste Clenet wrote: >>> Here is what Wireshark gives me when I ping my board A from another >>> board B (same kind of board with same image flashed): >>> >>> No. Time Source Destination >>> Protocol Length Info >>> 8 37.192838000 ::6e47:e81e:40bf:d4f3 ff01::ff:3ec7:f187 IGMPv0 >>> 82 Unknown Type:0x00 >>> >>> Frame 8: 82 bytes on wire (656 bits), 82 bytes captured (656 bits) on >>> interface 0 >>> Interface id: 0 >>> Encapsulation type: Linux cooked-mode capture (25) >>> Arrival Time: Jul 24, 2015 15:28:52.786786000 CEST >>> [Time shift for this packet: 0.000000000 seconds] >>> Epoch Time: 1437744532.786786000 seconds >>> [Time delta from previous captured frame: 34.054126000 seconds] >>> [Time delta from previous displayed frame: 34.054126000 seconds] >>> [Time since reference or first frame: 37.192838000 seconds] >>> Frame Number: 8 >>> Frame Length: 82 bytes (656 bits) >>> Capture Length: 82 bytes (656 bits) >>> [Frame is marked: False] >>> [Frame is ignored: False] >>> [Protocols in frame: sll:wpan:6lowpan:ipv6:igmp] >>> [Number of per-protocol-data: 1] >>> [IEEE 802.15.4 Low-Rate Wireless PAN, key 0] >>> [Coloring Rule Name: Routing] >>> [Coloring Rule String: hsrp || eigrp || ospf || bgp || cdp || vrrp >>> || gvrp || igmp || ismp] >>> >>> Linux cooked capture >>> Packet type: Unicast to another host (3) >>> Link-layer address type: 805 >>> Link-layer address length: 0 >>> Protocol: IEEE 802.15.4 (0x00f6) >>> >>> IEEE 802.15.4 Data, Dst: Broadcast, Src: 6c:47:e81e:40:bfd4:f3 >>> Frame Control Field: Data (0xc841) >>> Sequence Number: 80 >>> Destination PAN: 0xbeef >>> Destination: 0xffff >>> Extended Source: 6c:47:e81e:40:bfd4:f3 (6c:47:e8:1e:40:bf:d4:f3) >>> FCS: 0xdff3 (Correct) >>> >>> 6LoWPAN >>> IPHC Header >>> 011. .... = Pattern: IP header compression (0x03) >>> ...1 1... .... .... = Traffic class and flow label: Version, >>> traffic class, and flow label compressed (0x0003) >>> .... .0.. .... .... = Next header: Inline >>> .... ..11 .... .... = Hop limit: 255 (0x0003) >>> .... .... 1... .... = Context identifier extension: True >>> .... .... .1.. .... = Source address compression: Stateful >>> .... .... ..11 .... = Source address mode: Compressed (0x0003) >>> //it is definitely 3 >> >> I would do now some "instrumentations of pr_debug/printk/whatever" >> inside of [0]. Always look for the iphc0/iphc1 if you want you can also >> send some patches for doing a better a debugging handling there. Then >> use simple the already introduced pr_debug mechanism. > > Here is the results of pr_debug enabled: > root@OpenWrt:/# ping6 -I lowpan0 fe80::a8af:ac69:e53e:c7f1 > PING fe80::a8af:ac69:e53e:c7f1(fe80::a8af:ac69:e53e:c7f1) from fe80::6e47:e81e:4 > [ 138.949067] IPv6 header dump: > [ 138.949067] version = 6 > [ 138.949067] length = 40 > [ 138.949067] nexthdr = 0x3a > [ 138.949067] hop_lim = 255 > [ 138.949067] dest = ff02::1:ff3e:c7f1 > [ 138.986374] Lowpan compression addr_type 33 source address > fe80::6e47:e81e:40bf:d473 > [ 139.004297] address compression 0 bits > [ 139.014467] source address unicast link-local > fe80::6e47:e81e:40bf:d473 iphc1 0x30 > compressed to 6 octets.032192] destination address is multicast: : 56 data bytes > > > [ 139.050274] header len 9 skb 49 > [ 139.056635] iphc0-iphc1 7b-39 //added instrumentation at the end > of lowpan_header_compress) Sorry for the previous alignement, better now: [ 139.948257] IPv6 header dump: [ 139.948257] version = 6 [ 139.948257] length = 40 [ 139.948257] nexthdr = 0x3a [ 139.948257] hop_lim = 255 [ 139.948257] dest = ff02::1:ff3e:c7f1 [ 139.983059] Lowpan compression addr_type 33 source address fe80::6e47:e81e:40bf:d473 [ 139.998393] address compression 0 bits [ 140.005808] source address unicast link-local fe80::6e47:e81e:40bf:d473 iphc1 0x30 [ 140.020796] destination address is multicast: compressed to 6 octets > >> >> And I would look into both nodes, for the sending node add >> instrumentations inside "lowpan_header_compress" for receiving node add >> instrumentations inside "lowpan_header_decompress". >> >>> .... .... .... 1... = Multicast address compression: True >>> .... .... .... .0.. = Destination address compression: Stateless >>> .... .... .... ..01 = Destination address mode: 48-bits inline (0x0001) >>> 0011 .... = Source context identifier: 0x03 >>> .... 1010 = Destination context identifier: 0x0a >>> [Destination context: fe80:: (fe80::)] >>> Next header: IGMP (0x02) >>> Source: ::6e47:e81e:40bf:d4f3 (::6e47:e81e:40bf:d4f3) >>> Destination: ff01::ff:3ec7:f187 (ff01::ff:3ec7:f187) >>> >>> Internet Protocol Version 6, Src: ::6e47:e81e:40bf:d4f3 >>> (::6e47:e81e:40bf:d4f3), Dst: ff01::ff:3ec7:f187 (ff01::ff:3ec7:f187) >>> 0110 .... = Version: 6 >>> .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 >>> .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 >>> Payload length: 39 >>> Next header: IGMP (2) >>> Hop limit: 255 >>> Source: ::6e47:e81e:40bf:d4f3 (::6e47:e81e:40bf:d4f3) >>> Destination: ff01::ff:3ec7:f187 (ff01::ff:3ec7:f187) >>> [Source GeoIP: Unknown] >>> [Destination GeoIP: Unknown] >>> >>> Internet Group Management Protocol >>> [IGMP Version: 0] >>> Type: Unknown (0x00) >>> Reply Pending: 220 >>> Header checksum: 0xe700 [incorrect, should be 0x63eb] >>> Identifier: 254 >>> Multicast Address: 128.0.0.0 (128.0.0.0) >>> Access Key: 000000a8afac69e5 >>> Type: Unknown (0x00) >>> Data >> >> >> The complete IPv6 Header looks like garbage and does not look like some >> ICMPv6 ping message. > Ok, how should it be? > >> >> - Alex >> >> [0] http://lxr.free-electrons.com/source/net/6lowpan/iphc.c#L233 > > > > -- > Baptiste -- Baptiste -- To unsubscribe from this list: send the line "unsubscribe linux-wpan" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html