Currently, ipvlan devices don't advertise a link-netnsid. We can get it from the lower device, like macvlan does.
Signed-off-by: Sabrina Dubroca <s...@queasysnail.net> --- drivers/net/ipvlan/ipvlan_main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c index 5bca94c99006..a81bb68a5713 100644 --- a/drivers/net/ipvlan/ipvlan_main.c +++ b/drivers/net/ipvlan/ipvlan_main.c @@ -678,6 +678,14 @@ void ipvlan_link_setup(struct net_device *dev) } EXPORT_SYMBOL_GPL(ipvlan_link_setup); +static struct net *ipvlan_get_link_net(const struct net_device *dev) +{ + struct ipvl_dev *ipvlan = netdev_priv(dev); + struct net_device *phy_dev = ipvlan->phy_dev; + + return dev_net(phy_dev); +} + static const struct nla_policy ipvlan_nl_policy[IFLA_IPVLAN_MAX + 1] = { [IFLA_IPVLAN_MODE] = { .type = NLA_U16 }, @@ -691,6 +699,7 @@ static struct rtnl_link_ops ipvlan_link_ops = { .setup = ipvlan_link_setup, .newlink = ipvlan_link_new, .dellink = ipvlan_link_delete, + .get_link_net = ipvlan_get_link_net, }; int ipvlan_link_register(struct rtnl_link_ops *ops) -- 2.28.0