Commit f1170fd4 authored by David Ahern's avatar David Ahern Committed by David S. Miller

net: Remove all_adj_list and its references

Only direct adjacencies are maintained. All upper or lower devices can
be learned via the new walk API which recursively walks the adj_list for
upper devices or lower devices.
Signed-off-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cf2d6740
...@@ -1456,7 +1456,6 @@ enum netdev_priv_flags { ...@@ -1456,7 +1456,6 @@ enum netdev_priv_flags {
* @ptype_specific: Device-specific, protocol-specific packet handlers * @ptype_specific: Device-specific, protocol-specific packet handlers
* *
* @adj_list: Directly linked devices, like slaves for bonding * @adj_list: Directly linked devices, like slaves for bonding
* @all_adj_list: All linked devices, *including* neighbours
* @features: Currently active device features * @features: Currently active device features
* @hw_features: User-changeable features * @hw_features: User-changeable features
* *
...@@ -1675,11 +1674,6 @@ struct net_device { ...@@ -1675,11 +1674,6 @@ struct net_device {
struct list_head lower; struct list_head lower;
} adj_list; } adj_list;
struct {
struct list_head upper;
struct list_head lower;
} all_adj_list;
netdev_features_t features; netdev_features_t features;
netdev_features_t hw_features; netdev_features_t hw_features;
netdev_features_t wanted_features; netdev_features_t wanted_features;
...@@ -3771,13 +3765,6 @@ struct net_device *netdev_all_upper_get_next_dev_rcu(struct net_device *dev, ...@@ -3771,13 +3765,6 @@ struct net_device *netdev_all_upper_get_next_dev_rcu(struct net_device *dev,
updev; \ updev; \
updev = netdev_upper_get_next_dev_rcu(dev, &(iter))) updev = netdev_upper_get_next_dev_rcu(dev, &(iter)))
/* iterate through upper list, must be called under RCU read lock */
#define netdev_for_each_all_upper_dev_rcu(dev, updev, iter) \
for (iter = &(dev)->all_adj_list.upper, \
updev = netdev_all_upper_get_next_dev_rcu(dev, &(iter)); \
updev; \
updev = netdev_all_upper_get_next_dev_rcu(dev, &(iter)))
int netdev_walk_all_upper_dev_rcu(struct net_device *dev, int netdev_walk_all_upper_dev_rcu(struct net_device *dev,
int (*fn)(struct net_device *upper_dev, int (*fn)(struct net_device *upper_dev,
void *data), void *data),
...@@ -3817,18 +3804,6 @@ struct net_device *netdev_all_lower_get_next(struct net_device *dev, ...@@ -3817,18 +3804,6 @@ struct net_device *netdev_all_lower_get_next(struct net_device *dev,
struct net_device *netdev_all_lower_get_next_rcu(struct net_device *dev, struct net_device *netdev_all_lower_get_next_rcu(struct net_device *dev,
struct list_head **iter); struct list_head **iter);
#define netdev_for_each_all_lower_dev(dev, ldev, iter) \
for (iter = (dev)->all_adj_list.lower.next, \
ldev = netdev_all_lower_get_next(dev, &(iter)); \
ldev; \
ldev = netdev_all_lower_get_next(dev, &(iter)))
#define netdev_for_each_all_lower_dev_rcu(dev, ldev, iter) \
for (iter = (dev)->all_adj_list.lower.next, \
ldev = netdev_all_lower_get_next_rcu(dev, &(iter)); \
ldev; \
ldev = netdev_all_lower_get_next_rcu(dev, &(iter)))
int netdev_walk_all_lower_dev(struct net_device *dev, int netdev_walk_all_lower_dev(struct net_device *dev,
int (*fn)(struct net_device *lower_dev, int (*fn)(struct net_device *lower_dev,
void *data), void *data),
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment