nl802154: avoid address change while running lowpan
The generation of autoconfigured IPv6 link-local addresses starts with a notification on interface up. To handle autoconfiguration according to RFC 4944 requires pan id and short address to generate an autoconfigured link-local address. This patch will avoid changing of these link-layer address configuration while lowpan interface is up. Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com> Signed-off-by: Alexander Aring <aar@pengutronix.de> Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
118a5cf8ae
commit
9e3b71f343
|
@ -1074,6 +1074,11 @@ static int nl802154_set_pan_id(struct sk_buff *skb, struct genl_info *info)
|
|||
if (netif_running(dev))
|
||||
return -EBUSY;
|
||||
|
||||
if (wpan_dev->lowpan_dev) {
|
||||
if (netif_running(wpan_dev->lowpan_dev))
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
/* don't change address fields on monitor */
|
||||
if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR ||
|
||||
!info->attrs[NL802154_ATTR_PAN_ID])
|
||||
|
@ -1105,6 +1110,11 @@ static int nl802154_set_short_addr(struct sk_buff *skb, struct genl_info *info)
|
|||
if (netif_running(dev))
|
||||
return -EBUSY;
|
||||
|
||||
if (wpan_dev->lowpan_dev) {
|
||||
if (netif_running(wpan_dev->lowpan_dev))
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
/* don't change address fields on monitor */
|
||||
if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR ||
|
||||
!info->attrs[NL802154_ATTR_SHORT_ADDR])
|
||||
|
|
Loading…
Reference in a new issue