Hi,
Marek created some patches a while ago to automatically detect the wifi interface under virtual interfaces like VLANs. These patches had some problems because they failed to correctly set the num_bcasts in these situations and also had some locking problems.
The following patches try to address these by introducing a cache for the detected wifi configuration (wifi_flags which make taking the rtnl lock in critical section unnecessary) and by updating the num_bcast and wifi_flags when the interface behind iflink changes.
* added patch "batman-adv: Return non-const ptr in batadv_getlink_net" * added patch "batman-adv: Close two alignment holes in batadv_hard_iface" * added patch "batman-adv: Cache the type of wifi device for each hardif" * added patch "batman-adv: Update wifi flags on upper link change" * introduced batadv_get_real_netdevice which can be used inside rtnl locked contexts * replaced wifi check functions with ones that use the wifi_flags cache * use batadv_getlink_net to get the iflink net_namespace * force rtnl_lock in batadv_get_real_netdev
Kind regards, Sven
Marek Lindner (3): batman-adv: refactor wifi interface detection batman-adv: additional checks for virtual interfaces on top of WiFi batman-adv: retrieve B.A.T.M.A.N. V WiFi neighbor stats from real interface
Sven Eckelmann (4): batman-adv: Return non-const ptr in batadv_getlink_net batman-adv: Close two alignment holes in batadv_hard_iface batman-adv: Cache the type of wifi device for each hardif batman-adv: Update wifi flags on upper link change
net/batman-adv/bat_iv_ogm.c | 2 +- net/batman-adv/bat_v_elp.c | 41 +++++---- net/batman-adv/hard-interface.c | 173 ++++++++++++++++++++++++++++++++++--- net/batman-adv/hard-interface.h | 5 +- net/batman-adv/translation-table.c | 10 ++- net/batman-adv/types.h | 21 ++++- 6 files changed, 217 insertions(+), 35 deletions(-)