aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Aring <aar@pengutronix.de>2016-07-24 10:12:25 -0400
committerMarcel Holtmann <marcel@holtmann.org>2016-09-19 14:19:34 -0400
commit5ddedce3b7331959a6da217ed3189d020090873c (patch)
treeadd63630a025f73bf4292c3ef6a24850ce574881
parentabbcc341adb16f68915cae7ef9a10e0d7b57e3c0 (diff)
6lowpan: ndisc: no overreact if no short address is available
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>
-rw-r--r--net/6lowpan/ndisc.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/net/6lowpan/ndisc.c b/net/6lowpan/ndisc.c
index 86450b7e2899..941df2fa4448 100644
--- a/net/6lowpan/ndisc.c
+++ b/net/6lowpan/ndisc.c
@@ -101,8 +101,6 @@ static void lowpan_ndisc_802154_update(struct neighbour *n, u32 flags,
101 ieee802154_be16_to_le16(&neigh->short_addr, lladdr_short); 101 ieee802154_be16_to_le16(&neigh->short_addr, lladdr_short);
102 if (!lowpan_802154_is_valid_src_short_addr(neigh->short_addr)) 102 if (!lowpan_802154_is_valid_src_short_addr(neigh->short_addr))
103 neigh->short_addr = cpu_to_le16(IEEE802154_ADDR_SHORT_UNSPEC); 103 neigh->short_addr = cpu_to_le16(IEEE802154_ADDR_SHORT_UNSPEC);
104 } else {
105 neigh->short_addr = cpu_to_le16(IEEE802154_ADDR_SHORT_UNSPEC);
106 } 104 }
107 write_unlock_bh(&n->lock); 105 write_unlock_bh(&n->lock);
108} 106}