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 86450b7e2899377b3f5d6bc5aa41a54639c4dffc..941df2fa4448952059fad26a9ef75a4a35d98d39 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);
 }