diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2015-04-02 11:07:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-02 14:05:01 -0400 |
commit | 7a66bbc96ce9ad8261fa5f7f6ae65370eb6866ee (patch) | |
tree | 84381863d07f36878b5b382f40d6dd2ab9c6bfb8 /net | |
parent | abd2be00d474956c542a1c2ec848af7196b7fd51 (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.c | 13 |
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 | } |
677 | EXPORT_SYMBOL(dev_get_iflink); | 677 | EXPORT_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); |