Lines Matching refs:lower
5053 struct netdev_adjacent *lower; in netdev_lower_get_next_private() local
5055 lower = list_entry(*iter, struct netdev_adjacent, list); in netdev_lower_get_next_private()
5057 if (&lower->list == &dev->adj_list.lower) in netdev_lower_get_next_private()
5060 *iter = lower->list.next; in netdev_lower_get_next_private()
5062 return lower->private; in netdev_lower_get_next_private()
5079 struct netdev_adjacent *lower; in netdev_lower_get_next_private_rcu() local
5083 lower = list_entry_rcu((*iter)->next, struct netdev_adjacent, list); in netdev_lower_get_next_private_rcu()
5085 if (&lower->list == &dev->adj_list.lower) in netdev_lower_get_next_private_rcu()
5088 *iter = &lower->list; in netdev_lower_get_next_private_rcu()
5090 return lower->private; in netdev_lower_get_next_private_rcu()
5107 struct netdev_adjacent *lower; in netdev_lower_get_next() local
5109 lower = list_entry((*iter)->next, struct netdev_adjacent, list); in netdev_lower_get_next()
5111 if (&lower->list == &dev->adj_list.lower) in netdev_lower_get_next()
5114 *iter = &lower->list; in netdev_lower_get_next()
5116 return lower->dev; in netdev_lower_get_next()
5131 struct netdev_adjacent *lower; in netdev_lower_get_first_private_rcu() local
5133 lower = list_first_or_null_rcu(&dev->adj_list.lower, in netdev_lower_get_first_private_rcu()
5135 if (lower) in netdev_lower_get_first_private_rcu()
5136 return lower->private; in netdev_lower_get_first_private_rcu()
5185 dev_list == &dev->adj_list.lower) && in netdev_adjacent_is_neigh_list()
5309 &upper_dev->all_adj_list.lower, in __netdev_adjacent_dev_link()
5327 &upper_dev->all_adj_list.lower); in __netdev_adjacent_dev_unlink()
5341 &upper_dev->adj_list.lower, in __netdev_adjacent_dev_link_neighbour()
5357 &upper_dev->adj_list.lower); in __netdev_adjacent_dev_unlink_neighbour()
5403 list_for_each_entry(i, &dev->all_adj_list.lower, list) { in __netdev_upper_dev_link()
5423 list_for_each_entry(i, &dev->all_adj_list.lower, list) { in __netdev_upper_dev_link()
5437 list_for_each_entry(i, &dev->all_adj_list.lower, list) { in __netdev_upper_dev_link()
5458 list_for_each_entry(i, &dev->all_adj_list.lower, list) { in __netdev_upper_dev_link()
5544 list_for_each_entry(i, &dev->all_adj_list.lower, list) in netdev_upper_dev_unlink()
5551 list_for_each_entry(i, &dev->all_adj_list.lower, list) in netdev_upper_dev_unlink()
5592 &iter->dev->adj_list.lower); in netdev_adjacent_add_links()
5597 list_for_each_entry(iter, &dev->adj_list.lower, list) { in netdev_adjacent_add_links()
5603 &dev->adj_list.lower); in netdev_adjacent_add_links()
5617 &iter->dev->adj_list.lower); in netdev_adjacent_del_links()
5622 list_for_each_entry(iter, &dev->adj_list.lower, list) { in netdev_adjacent_del_links()
5628 &dev->adj_list.lower); in netdev_adjacent_del_links()
5642 &iter->dev->adj_list.lower); in netdev_adjacent_rename_links()
5644 &iter->dev->adj_list.lower); in netdev_adjacent_rename_links()
5647 list_for_each_entry(iter, &dev->adj_list.lower, list) { in netdev_adjacent_rename_links()
5660 struct netdev_adjacent *lower; in netdev_lower_dev_get_private() local
5664 lower = __netdev_find_adj(lower_dev, &dev->adj_list.lower); in netdev_lower_dev_get_private()
5665 if (!lower) in netdev_lower_dev_get_private()
5668 return lower->private; in netdev_lower_dev_get_private()
5676 struct net_device *lower = NULL; in dev_get_nest_level() local
5683 netdev_for_each_lower_dev(dev, lower, iter) { in dev_get_nest_level()
5684 nest = dev_get_nest_level(lower, type_check); in dev_get_nest_level()
6302 static netdev_features_t netdev_sync_upper_features(struct net_device *lower, in netdev_sync_upper_features() argument
6313 netdev_dbg(lower, "Dropping feature %pNF, upper dev %s has it off.\n", in netdev_sync_upper_features()
6323 struct net_device *lower, netdev_features_t features) in netdev_sync_lower_features() argument
6331 if (!(features & feature) && (lower->features & feature)) { in netdev_sync_lower_features()
6333 &feature, lower->name); in netdev_sync_lower_features()
6334 lower->wanted_features &= ~feature; in netdev_sync_lower_features()
6335 netdev_update_features(lower); in netdev_sync_lower_features()
6337 if (unlikely(lower->features & feature)) in netdev_sync_lower_features()
6339 &feature, lower->name); in netdev_sync_lower_features()
6413 struct net_device *upper, *lower; in __netdev_update_features() local
6457 netdev_for_each_lower_dev(dev, lower, iter) in __netdev_update_features()
6458 netdev_sync_lower_features(dev, lower, features); in __netdev_update_features()
7123 INIT_LIST_HEAD(&dev->adj_list.lower); in alloc_netdev_mqs()
7125 INIT_LIST_HEAD(&dev->all_adj_list.lower); in alloc_netdev_mqs()