6lowpan: ndisc: no overreact if no short address is available
authorAlexander Aring <aar@pengutronix.de>
Sun, 24 Jul 2016 14:12:25 +0000 (16:12 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 19 Sep 2016 18:19:34 +0000 (20:19 +0200)
This patch removes handling to remove short address for a neigbour entry
if RS/RA/NS/NA doesn't contain a short address. If these messages
doesn't has any short address option, the existing short address from
ndisc cache will be used. The current behaviour will set that the
neigbour doesn't has a short address anymore.

Signed-off-by: Alexander Aring <aar@pengutronix.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/6lowpan/ndisc.c

index 86450b7..941df2f 100644 (file)
@@ -101,8 +101,6 @@ static void lowpan_ndisc_802154_update(struct neighbour *n, u32 flags,
                ieee802154_be16_to_le16(&neigh->short_addr, lladdr_short);
                if (!lowpan_802154_is_valid_src_short_addr(neigh->short_addr))
                        neigh->short_addr = cpu_to_le16(IEEE802154_ADDR_SHORT_UNSPEC);
-       } else {
-               neigh->short_addr = cpu_to_le16(IEEE802154_ADDR_SHORT_UNSPEC);
        }
        write_unlock_bh(&n->lock);
 }