From: Nicolas Dichtel Date: Thu, 2 Apr 2015 15:07:10 +0000 (+0200) Subject: dev: set iflink to 0 for virtual interfaces X-Git-Tag: v4.1-rc1~128^2~85^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e1622baf54df8cc958bf29d71de5ad545ea7d93c;p=platform%2Fkernel%2Flinux-exynos.git dev: set iflink to 0 for virtual interfaces Virtual interfaces are supposed to set an iflink value != of their ifindex. It was not the case for some of them, like vxlan, bond or bridge. Let's set iflink to 0 when dev->rtnl_link_ops is set. Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller --- diff --git a/net/core/dev.c b/net/core/dev.c index 3be107e..26622d6 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -672,6 +672,10 @@ int dev_get_iflink(const struct net_device *dev) if (dev->netdev_ops && dev->netdev_ops->ndo_get_iflink) return dev->netdev_ops->ndo_get_iflink(dev); + /* If dev->rtnl_link_ops is set, it's a virtual interface. */ + if (dev->rtnl_link_ops) + return 0; + return dev->ifindex; } EXPORT_SYMBOL(dev_get_iflink);