summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/virt_wifi.c
diff options
context:
space:
mode:
authorTaehee Yoo <ap420073@gmail.com>2020-03-05 10:06:36 +0100
committerJohannes Berg <johannes.berg@intel.com>2020-03-20 14:42:20 +0100
commitdd063ffae0e54c1ec2b7257c92ac1ea31546a932 (patch)
treed77101f26e621e4e0e4f03b85c5a80bd0b6ddbd3 /drivers/net/wireless/virt_wifi.c
parentmac80211: Allow deleting stations in ibss mode to reset their state (diff)
downloadlinux-dd063ffae0e54c1ec2b7257c92ac1ea31546a932.tar.xz
linux-dd063ffae0e54c1ec2b7257c92ac1ea31546a932.zip
virt_wifi: implement ndo_get_iflink
->ndo_get_iflink() is useful for finding lower interface. Test commands: ip link add dummy0 type dummy ip link add vw1 link dummy0 type virt_wifi ip link show vw1 Before: 9: vw1: <BROADCAST,MULTICAST> ... After: 9: vw1@dummy0: <BROADCAST,MULTICAST> ... Signed-off-by: Taehee Yoo <ap420073@gmail.com> Link: https://lore.kernel.org/r/20200305090636.28221-1-ap420073@gmail.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/virt_wifi.c')
-rw-r--r--drivers/net/wireless/virt_wifi.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/wireless/virt_wifi.c b/drivers/net/wireless/virt_wifi.c
index 01305ba2d3aa..c878097f0dda 100644
--- a/drivers/net/wireless/virt_wifi.c
+++ b/drivers/net/wireless/virt_wifi.c
@@ -436,10 +436,18 @@ static int virt_wifi_net_device_stop(struct net_device *dev)
return 0;
}
+static int virt_wifi_net_device_get_iflink(const struct net_device *dev)
+{
+ struct virt_wifi_netdev_priv *priv = netdev_priv(dev);
+
+ return priv->lowerdev->ifindex;
+}
+
static const struct net_device_ops virt_wifi_ops = {
.ndo_start_xmit = virt_wifi_start_xmit,
- .ndo_open = virt_wifi_net_device_open,
- .ndo_stop = virt_wifi_net_device_stop,
+ .ndo_open = virt_wifi_net_device_open,
+ .ndo_stop = virt_wifi_net_device_stop,
+ .ndo_get_iflink = virt_wifi_net_device_get_iflink,
};
/* Invoked as part of rtnl lock release. */