aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorNicolas Dichtel <nicolas.dichtel@6wind.com>2015-04-02 11:07:09 -0400
committerDavid S. Miller <davem@davemloft.net>2015-04-02 14:05:01 -0400
commit7a66bbc96ce9ad8261fa5f7f6ae65370eb6866ee (patch)
tree84381863d07f36878b5b382f40d6dd2ab9c6bfb8 /net
parentabd2be00d474956c542a1c2ec848af7196b7fd51 (diff)
net: remove iflink field from struct net_device
Now that all users of iflink have the ndo_get_iflink handler available, it's possible to remove this field. By default, dev_get_iflink() returns the ifindex of the interface. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/core/dev.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 77172d085760..3be107e0bc93 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -672,7 +672,7 @@ int dev_get_iflink(const struct net_device *dev)
672 if (dev->netdev_ops && dev->netdev_ops->ndo_get_iflink) 672 if (dev->netdev_ops && dev->netdev_ops->ndo_get_iflink)
673 return dev->netdev_ops->ndo_get_iflink(dev); 673 return dev->netdev_ops->ndo_get_iflink(dev);
674 674
675 return dev->iflink; 675 return dev->ifindex;
676} 676}
677EXPORT_SYMBOL(dev_get_iflink); 677EXPORT_SYMBOL(dev_get_iflink);
678 678
@@ -6331,8 +6331,6 @@ int register_netdevice(struct net_device *dev)
6331 spin_lock_init(&dev->addr_list_lock); 6331 spin_lock_init(&dev->addr_list_lock);
6332 netdev_set_addr_lockdep_class(dev); 6332 netdev_set_addr_lockdep_class(dev);
6333 6333
6334 dev->iflink = -1;
6335
6336 ret = dev_get_valid_name(net, dev, dev->name); 6334 ret = dev_get_valid_name(net, dev, dev->name);
6337 if (ret < 0) 6335 if (ret < 0)
6338 goto out; 6336 goto out;
@@ -6362,9 +6360,6 @@ int register_netdevice(struct net_device *dev)
6362 else if (__dev_get_by_index(net, dev->ifindex)) 6360 else if (__dev_get_by_index(net, dev->ifindex))
6363 goto err_uninit; 6361 goto err_uninit;
6364 6362
6365 if (dev_get_iflink(dev) == -1)
6366 dev->iflink = dev->ifindex;
6367
6368 /* Transfer changeable features to wanted_features and enable 6363 /* Transfer changeable features to wanted_features and enable
6369 * software offloads (GSO and GRO). 6364 * software offloads (GSO and GRO).
6370 */ 6365 */
@@ -7077,12 +7072,8 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char
7077 dev_net_set(dev, net); 7072 dev_net_set(dev, net);
7078 7073
7079 /* If there is an ifindex conflict assign a new one */ 7074 /* If there is an ifindex conflict assign a new one */
7080 if (__dev_get_by_index(net, dev->ifindex)) { 7075 if (__dev_get_by_index(net, dev->ifindex))
7081 int iflink = (dev_get_iflink(dev) == dev->ifindex);
7082 dev->ifindex = dev_new_index(net); 7076 dev->ifindex = dev_new_index(net);
7083 if (iflink)
7084 dev->iflink = dev->ifindex;
7085 }
7086 7077
7087 /* Send a netdev-add uevent to the new namespace */ 7078 /* Send a netdev-add uevent to the new namespace */
7088 kobject_uevent(&dev->dev.kobj, KOBJ_ADD); 7079 kobject_uevent(&dev->dev.kobj, KOBJ_ADD);