Lines Matching refs:upper

7809 	return !list_empty(&dev->adj_list.upper);  in netdev_has_any_upper_dev()
7822 struct netdev_adjacent *upper; in netdev_master_upper_dev_get() local
7826 if (list_empty(&dev->adj_list.upper)) in netdev_master_upper_dev_get()
7829 upper = list_first_entry(&dev->adj_list.upper, in netdev_master_upper_dev_get()
7831 if (likely(upper->master)) in netdev_master_upper_dev_get()
7832 return upper->dev; in netdev_master_upper_dev_get()
7839 struct netdev_adjacent *upper; in __netdev_master_upper_dev_get() local
7843 if (list_empty(&dev->adj_list.upper)) in __netdev_master_upper_dev_get()
7846 upper = list_first_entry(&dev->adj_list.upper, in __netdev_master_upper_dev_get()
7848 if (likely(upper->master) && !upper->ignore) in __netdev_master_upper_dev_get()
7849 return upper->dev; in __netdev_master_upper_dev_get()
7888 struct netdev_adjacent *upper; in netdev_upper_get_next_dev_rcu() local
7892 upper = list_entry_rcu((*iter)->next, struct netdev_adjacent, list); in netdev_upper_get_next_dev_rcu()
7894 if (&upper->list == &dev->adj_list.upper) in netdev_upper_get_next_dev_rcu()
7897 *iter = &upper->list; in netdev_upper_get_next_dev_rcu()
7899 return upper->dev; in netdev_upper_get_next_dev_rcu()
7907 struct netdev_adjacent *upper; in __netdev_next_upper_dev() local
7909 upper = list_entry((*iter)->next, struct netdev_adjacent, list); in __netdev_next_upper_dev()
7911 if (&upper->list == &dev->adj_list.upper) in __netdev_next_upper_dev()
7914 *iter = &upper->list; in __netdev_next_upper_dev()
7915 *ignore = upper->ignore; in __netdev_next_upper_dev()
7917 return upper->dev; in __netdev_next_upper_dev()
7923 struct netdev_adjacent *upper; in netdev_next_upper_dev_rcu() local
7927 upper = list_entry_rcu((*iter)->next, struct netdev_adjacent, list); in netdev_next_upper_dev_rcu()
7929 if (&upper->list == &dev->adj_list.upper) in netdev_next_upper_dev_rcu()
7932 *iter = &upper->list; in netdev_next_upper_dev_rcu()
7934 return upper->dev; in netdev_next_upper_dev_rcu()
7948 iter = &dev->adj_list.upper; in __netdev_walk_all_upper_dev()
7966 niter = &udev->adj_list.upper; in __netdev_walk_all_upper_dev()
7996 iter = &dev->adj_list.upper; in netdev_walk_all_upper_dev_rcu()
8012 niter = &udev->adj_list.upper; in netdev_walk_all_upper_dev_rcu()
8278 for (iter = &dev->adj_list.upper, in __netdev_upper_depth()
8422 struct netdev_adjacent *upper; in netdev_master_upper_dev_get_rcu() local
8424 upper = list_first_or_null_rcu(&dev->adj_list.upper, in netdev_master_upper_dev_get_rcu()
8426 if (upper && likely(upper->master)) in netdev_master_upper_dev_get_rcu()
8427 return upper->dev; in netdev_master_upper_dev_get_rcu()
8438 sprintf(linkname, dev_list == &dev->adj_list.upper ? in netdev_adjacent_sysfs_add()
8449 sprintf(linkname, dev_list == &dev->adj_list.upper ? in netdev_adjacent_sysfs_del()
8458 return (dev_list == &dev->adj_list.upper || in netdev_adjacent_is_neigh_list()
8603 &dev->adj_list.upper, in __netdev_adjacent_dev_link_neighbour()
8612 &dev->adj_list.upper, in __netdev_adjacent_dev_unlink_neighbour()
8804 adj = __netdev_find_adj(upper_dev, &lower_dev->adj_list.upper); in __netdev_adjacent_dev_set()
9208 list_for_each_entry(iter, &dev->adj_list.upper, list) { in netdev_adjacent_add_links()
9214 &dev->adj_list.upper); in netdev_adjacent_add_links()
9221 &iter->dev->adj_list.upper); in netdev_adjacent_add_links()
9233 list_for_each_entry(iter, &dev->adj_list.upper, list) { in netdev_adjacent_del_links()
9239 &dev->adj_list.upper); in netdev_adjacent_del_links()
9246 &iter->dev->adj_list.upper); in netdev_adjacent_del_links()
9258 list_for_each_entry(iter, &dev->adj_list.upper, list) { in netdev_adjacent_rename_links()
9271 &iter->dev->adj_list.upper); in netdev_adjacent_rename_links()
9273 &iter->dev->adj_list.upper); in netdev_adjacent_rename_links()
10164 struct net_device *upper; in dev_xdp_attach() local
10205 netdev_for_each_upper_dev_rcu(dev, upper, iter) { in dev_xdp_attach()
10206 if (dev_xdp_prog_count(upper) > 0) { in dev_xdp_attach()
10606 struct net_device *upper, netdev_features_t features) in netdev_sync_upper_features() argument
10614 if (!(upper->wanted_features & feature) in netdev_sync_upper_features()
10617 &feature, upper->name); in netdev_sync_upper_features()
10625 static void netdev_sync_lower_features(struct net_device *upper, in netdev_sync_lower_features() argument
10635 netdev_dbg(upper, "Disabling feature %pNF on lower dev %s.\n", in netdev_sync_lower_features()
10642 netdev_WARN(upper, "failed to disable %pNF on %s!\n", in netdev_sync_lower_features()
10761 struct net_device *upper, *lower; in __netdev_update_features() local
10778 netdev_for_each_upper_dev_rcu(dev, upper, iter) in __netdev_update_features()
10779 features = netdev_sync_upper_features(dev, upper, features); in __netdev_update_features()
11844 INIT_LIST_HEAD(&dev->adj_list.upper); in alloc_netdev_mqs()