ieee802154: 6lowpan: fix ARPHRD to ARPHRD_6LOWPAN
authorAlexander Aring <alex.aring@gmail.com>
Mon, 2 Mar 2015 14:10:03 +0000 (15:10 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 14 Mar 2015 16:11:30 +0000 (17:11 +0100)
Currently there exists two interface types with ARPHRD_IEEE802154. These
are the 802.15.4 interfaces and 802.15.4 6LoWPAN interfaces. This is
more a bug because some userspace applications checks on this value like
wireshark. This occurs that wireshark will always try to parse a lowpan
interface as 802.15.4 frames. With ARPHRD_6LOWPAN wireshark will parse
it as IPv6 frames which is correct.

Much applications checks on this value to readout the EUI64 mac address
which should be the same for ARPHRD_6LOWPAN. BTLE 6LoWPAN and ieee802154
6LoWPAN will share now the same ARPHRD.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/ieee802154/6lowpan/core.c

index dfd3c6007f609b4dc8a0a7cbcab91a0b400b00bd..0ae5822ef944fb0e5c74b22de0fe8d426032135c 100644 (file)
@@ -113,7 +113,7 @@ static void lowpan_setup(struct net_device *dev)
 {
        dev->addr_len           = IEEE802154_ADDR_LEN;
        memset(dev->broadcast, 0xff, IEEE802154_ADDR_LEN);
-       dev->type               = ARPHRD_IEEE802154;
+       dev->type               = ARPHRD_6LOWPAN;
        /* Frame Control + Sequence Number + Address fields + Security Header */
        dev->hard_header_len    = 2 + 1 + 20 + 14;
        dev->needed_tailroom    = 2; /* FCS */