Lines Matching refs:upper
3033 * This routine should set an upper limit on the number of RSS queues
4849 * the upper (protocol) levels to process. It always succeeds. The buffer
6946 /* upper master flag, there can only be one master device per list */
6983 * netdev_has_upper_dev - Check if device is linked to an upper device
6985 * @upper_dev: upper device to check
6987 * Find out if a device is linked to specified upper device and return true
6988 * in case it is. Note that this checks only immediate upper device,
7006 * netdev_has_upper_dev_all - Check if device is linked to an upper device
7008 * @upper_dev: upper device to check
7010 * Find out if a device is linked to specified upper device and return true
7011 * in case it is. Note that this checks the entire upper device chain.
7031 * Find out if a device is linked to an upper device and return true in case
7038 return !list_empty(&dev->adj_list.upper);
7043 * netdev_master_upper_dev_get - Get master upper device
7046 * Find a master upper device and return pointer to it or NULL in case
7051 struct netdev_adjacent *upper;
7055 if (list_empty(&dev->adj_list.upper))
7058 upper = list_first_entry(&dev->adj_list.upper,
7060 if (likely(upper->master))
7061 return upper->dev;
7068 struct netdev_adjacent *upper;
7072 if (list_empty(&dev->adj_list.upper))
7075 upper = list_first_entry(&dev->adj_list.upper,
7077 if (likely(upper->master) && !upper->ignore)
7078 return upper->dev;
7107 * netdev_upper_get_next_dev_rcu - Get the next dev from upper list
7111 * Gets the next device from the dev's upper list, starting from iter
7117 struct netdev_adjacent *upper;
7121 upper = list_entry_rcu((*iter)->next, struct netdev_adjacent, list);
7123 if (&upper->list == &dev->adj_list.upper)
7126 *iter = &upper->list;
7128 return upper->dev;
7136 struct netdev_adjacent *upper;
7138 upper = list_entry((*iter)->next, struct netdev_adjacent, list);
7140 if (&upper->list == &dev->adj_list.upper)
7143 *iter = &upper->list;
7144 *ignore = upper->ignore;
7146 return upper->dev;
7152 struct netdev_adjacent *upper;
7156 upper = list_entry_rcu((*iter)->next, struct netdev_adjacent, list);
7158 if (&upper->list == &dev->adj_list.upper)
7161 *iter = &upper->list;
7163 return upper->dev;
7177 iter = &dev->adj_list.upper;
7195 niter = &udev->adj_list.upper;
7225 iter = &dev->adj_list.upper;
7241 niter = &udev->adj_list.upper;
7507 for (iter = &dev->adj_list.upper,
7633 * netdev_master_upper_dev_get_rcu - Get master upper device
7636 * Find a master upper device and return pointer to it or NULL in case
7641 struct netdev_adjacent *upper;
7643 upper = list_first_or_null_rcu(&dev->adj_list.upper,
7645 if (upper && likely(upper->master))
7646 return upper->dev;
7657 sprintf(linkname, dev_list == &dev->adj_list.upper ?
7668 sprintf(linkname, dev_list == &dev->adj_list.upper ?
7677 return (dev_list == &dev->adj_list.upper ||
7822 &dev->adj_list.upper,
7831 &dev->adj_list.upper,
7859 /* To prevent loops, check if dev is not upper device to upper_dev. */
7908 * netdev_upper_dev_link - Add a link to the upper device
7910 * @upper_dev: new upper device
7913 * Adds a link to device which is upper to this one. The caller must hold
7933 * netdev_master_upper_dev_link - Add a master link to the upper device
7935 * @upper_dev: new upper device
7936 * @upper_priv: upper device private
7937 * @upper_info: upper info to be passed down via notifier
7940 * Adds a link to device which is upper to this one. In this case, only
7941 * one master upper device can be linked, although other non-master devices
7994 * netdev_upper_dev_unlink - Removes a link to upper device
7996 * @upper_dev: new upper device
7998 * Removes a link to device which is upper to this one. The caller must hold
8023 adj = __netdev_find_adj(upper_dev, &lower_dev->adj_list.upper);
8158 list_for_each_entry(iter, &dev->adj_list.upper, list) {
8164 &dev->adj_list.upper);
8171 &iter->dev->adj_list.upper);
8183 list_for_each_entry(iter, &dev->adj_list.upper, list) {
8189 &dev->adj_list.upper);
8196 &iter->dev->adj_list.upper);
8208 list_for_each_entry(iter, &dev->adj_list.upper, list) {
8221 &iter->dev->adj_list.upper);
8223 &iter->dev->adj_list.upper);
9528 struct net_device *upper, netdev_features_t features)
9536 if (!(upper->wanted_features & feature)
9538 netdev_dbg(lower, "Dropping feature %pNF, upper dev %s has it off.\n",
9539 &feature, upper->name);
9547 static void netdev_sync_lower_features(struct net_device *upper,
9557 netdev_dbg(upper, "Disabling feature %pNF on lower dev %s.\n",
9563 netdev_WARN(upper, "failed to disable %pNF on %s!\n",
9657 struct net_device *upper, *lower;
9672 /* some features can't be enabled if they're off on an upper device */
9673 netdev_for_each_upper_dev_rcu(dev, upper, iter)
9674 features = netdev_sync_upper_features(dev, upper, features);
9699 * on an upper device (think: bonding master or bridge)
10523 INIT_LIST_HEAD(&dev->adj_list.upper);
10753 /* Notifier chain MUST detach us all upper devices. */