[v2,7/7] batman-adv: Update wifi flags on upper link change
Commit Message
Things like VLANs don't have their link set when they are created. Thus
the wifi flags have to be evaluated later to fix their contents for the
link interface.
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
---
v2:
- new patch
---
compat-include/linux/netdevice.h | 2 ++
net/batman-adv/hard-interface.c | 5 +++++
2 files changed, 7 insertions(+)
@@ -43,6 +43,8 @@
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0)
+#define NETDEV_CHANGEUPPER 0x0015
+
#define netdev_notifier_info_to_dev(ptr) ptr
#endif /* < KERNEL_VERSION(3, 11, 0) */
@@ -954,6 +954,11 @@ static int batadv_hard_if_event(struct notifier_block *this,
if (hard_iface == primary_if)
batadv_primary_if_update_addr(bat_priv, NULL);
break;
+ case NETDEV_CHANGEUPPER:
+ hard_iface->wifi_flags = batadv_wifi_flags_evaluate(net_dev);
+ if (batadv_is_wifi_hardif(hard_iface))
+ hard_iface->num_bcasts = BATADV_NUM_BCASTS_WIRELESS;
+ break;
default:
break;
}