From: Patrik Flykt <patrik.fl...@linux.intel.com>

Set MAC address length according to the 6LoWPAN link layer in use.
Bluetooth Low Energy uses 48 bit addressing while IEEE802.15.4 uses
64 bits.

Signed-off-by: Patrik Flykt <patrik.fl...@linux.intel.com>
Reviewed-by: Stefan Schmidt <ste...@osg.samsung.com>
---
 net/6lowpan/core.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/net/6lowpan/core.c b/net/6lowpan/core.c
index 5945f7e..5f9909a 100644
--- a/net/6lowpan/core.c
+++ b/net/6lowpan/core.c
@@ -23,7 +23,16 @@ int lowpan_register_netdevice(struct net_device *dev,
 {
        int i, ret;
 
-       dev->addr_len = EUI64_ADDR_LEN;
+       switch (lltype) {
+       case LOWPAN_LLTYPE_IEEE802154:
+               dev->addr_len = EUI64_ADDR_LEN;
+               break;
+
+       case LOWPAN_LLTYPE_BTLE:
+               dev->addr_len = ETH_ALEN;
+               break;
+       }
+
        dev->type = ARPHRD_6LOWPAN;
        dev->mtu = IPV6_MIN_MTU;
        dev->priv_flags |= IFF_NO_QUEUE;
-- 
2.9.3

Reply via email to