batman-adv: refactor wifi interface detection

The ELP protocol requires cfg80211 to auto-detect the WiFi througput
to a given neighbor. Use batadv_is_cfg80211_netdev() to determine
whether or not an interface is eligible.

Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
This commit is contained in:
Marek Lindner
2016-09-30 15:21:02 +02:00
committed by Simon Wunderlich
parent 88ffc7d0e2
commit f44a3ae9a2
3 changed files with 36 additions and 20 deletions

View File

@@ -201,6 +201,26 @@ static bool batadv_is_valid_iface(const struct net_device *net_dev)
return true;
}
/**
* batadv_is_cfg80211_netdev - check if the given net_device struct is a
* cfg80211 wifi interface
* @net_device: the device to check
*
* Return: true if the net device is a cfg80211 wireless device, false
* otherwise.
*/
bool batadv_is_cfg80211_netdev(struct net_device *net_device)
{
if (!net_device)
return false;
/* cfg80211 drivers have to set ieee80211_ptr */
if (net_device->ieee80211_ptr)
return true;
return false;
}
/**
* batadv_is_wifi_netdev - check if the given net_device struct is a wifi
* interface
@@ -221,11 +241,7 @@ bool batadv_is_wifi_netdev(struct net_device *net_device)
return true;
#endif
/* cfg80211 drivers have to set ieee80211_ptr */
if (net_device->ieee80211_ptr)
return true;
return false;
return batadv_is_cfg80211_netdev(net_device);
}
/**