From dd063ffae0e54c1ec2b7257c92ac1ea31546a932 Mon Sep 17 00:00:00 2001 From: Taehee Yoo Date: Thu, 5 Mar 2020 09:06:36 +0000 Subject: [PATCH] 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: ... After: 9: vw1@dummy0: ... Signed-off-by: Taehee Yoo Link: https://lore.kernel.org/r/20200305090636.28221-1-ap420073@gmail.com Signed-off-by: Johannes Berg --- drivers/net/wireless/virt_wifi.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/virt_wifi.c b/drivers/net/wireless/virt_wifi.c index 01305ba..c878097 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. */ -- 2.7.4