diff options
author | Taehee Yoo <ap420073@gmail.com> | 2020-03-05 09:06:36 +0000 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2020-03-20 14:42:20 +0100 |
commit | dd063ffae0e54c1ec2b7257c92ac1ea31546a932 (patch) | |
tree | d77101f26e621e4e0e4f03b85c5a80bd0b6ddbd3 | |
parent | a916062a09d94cbeff87b7d57840b8747ab4a833 (diff) | |
download | linux-dd063ffae0e54c1ec2b7257c92ac1ea31546a932.tar.bz2 |
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>
-rw-r--r-- | drivers/net/wireless/virt_wifi.c | 12 |
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. */ |