aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@mellanox.com>2017-02-06 10:20:14 -0500
committerDavid S. Miller <davem@davemloft.net>2017-02-06 11:25:57 -0500
commita8eca326151ee1beac82a4fd86d9edad3a37aaed (patch)
tree78be26268b991ac647680cde9c968d924f912dbd /net/core/dev.c
parent5c8802f14a0679e970e7b25f809a12c3ae1a873d (diff)
net: remove ndo_neigh_{construct, destroy} from stacked devices
In commit 18bfb924f000 ("net: introduce default neigh_construct/destroy ndo calls for L2 upper devices") we added these ndos to stacked devices such as team and bond, so that calls will be propagated to mlxsw. However, previous commit removed the reliance on these ndos and no new users of these ndos have appeared since above mentioned commit. We can therefore safely remove this dead code. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c44
1 files changed, 0 insertions, 44 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 404d2e6d5d32..3e1a60102e64 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -6111,50 +6111,6 @@ void netdev_lower_state_changed(struct net_device *lower_dev,
6111} 6111}
6112EXPORT_SYMBOL(netdev_lower_state_changed); 6112EXPORT_SYMBOL(netdev_lower_state_changed);
6113 6113
6114int netdev_default_l2upper_neigh_construct(struct net_device *dev,
6115 struct neighbour *n)
6116{
6117 struct net_device *lower_dev, *stop_dev;
6118 struct list_head *iter;
6119 int err;
6120
6121 netdev_for_each_lower_dev(dev, lower_dev, iter) {
6122 if (!lower_dev->netdev_ops->ndo_neigh_construct)
6123 continue;
6124 err = lower_dev->netdev_ops->ndo_neigh_construct(lower_dev, n);
6125 if (err) {
6126 stop_dev = lower_dev;
6127 goto rollback;
6128 }
6129 }
6130 return 0;
6131
6132rollback:
6133 netdev_for_each_lower_dev(dev, lower_dev, iter) {
6134 if (lower_dev == stop_dev)
6135 break;
6136 if (!lower_dev->netdev_ops->ndo_neigh_destroy)
6137 continue;
6138 lower_dev->netdev_ops->ndo_neigh_destroy(lower_dev, n);
6139 }
6140 return err;
6141}
6142EXPORT_SYMBOL_GPL(netdev_default_l2upper_neigh_construct);
6143
6144void netdev_default_l2upper_neigh_destroy(struct net_device *dev,
6145 struct neighbour *n)
6146{
6147 struct net_device *lower_dev;
6148 struct list_head *iter;
6149
6150 netdev_for_each_lower_dev(dev, lower_dev, iter) {
6151 if (!lower_dev->netdev_ops->ndo_neigh_destroy)
6152 continue;
6153 lower_dev->netdev_ops->ndo_neigh_destroy(lower_dev, n);
6154 }
6155}
6156EXPORT_SYMBOL_GPL(netdev_default_l2upper_neigh_destroy);
6157
6158static void dev_change_rx_flags(struct net_device *dev, int flags) 6114static void dev_change_rx_flags(struct net_device *dev, int flags)
6159{ 6115{
6160 const struct net_device_ops *ops = dev->netdev_ops; 6116 const struct net_device_ops *ops = dev->netdev_ops;