Lines Matching defs:lower
3079 * netif_inherit_tso_max() - copy all TSO limits from a lower device to an upper
6933 * Find out if a device is linked to a lower device and return true in case
6940 return !list_empty(&dev->adj_list.lower);
7125 * lower neighbour list
7129 * Gets the next netdev_adjacent->private from the dev's lower neighbour
7131 * RTNL lock or its own locking that guarantees that the neighbour lower
7137 struct netdev_adjacent *lower;
7139 lower = list_entry(*iter, struct netdev_adjacent, list);
7141 if (&lower->list == &dev->adj_list.lower)
7144 *iter = lower->list.next;
7146 return lower->private;
7152 * lower neighbour list, RCU
7157 * Gets the next netdev_adjacent->private from the dev's lower neighbour
7163 struct netdev_adjacent *lower;
7167 lower = list_entry_rcu((*iter)->next, struct netdev_adjacent, list);
7169 if (&lower->list == &dev->adj_list.lower)
7172 *iter = &lower->list;
7174 return lower->private;
7179 * netdev_lower_get_next - Get the next device from the lower neighbour
7184 * Gets the next netdev_adjacent from the dev's lower neighbour
7186 * its own locking that guarantees that the neighbour lower
7191 struct netdev_adjacent *lower;
7193 lower = list_entry(*iter, struct netdev_adjacent, list);
7195 if (&lower->list == &dev->adj_list.lower)
7198 *iter = lower->list.next;
7200 return lower->dev;
7207 struct netdev_adjacent *lower;
7209 lower = list_entry((*iter)->next, struct netdev_adjacent, list);
7211 if (&lower->list == &dev->adj_list.lower)
7214 *iter = &lower->list;
7216 return lower->dev;
7223 struct netdev_adjacent *lower;
7225 lower = list_entry((*iter)->next, struct netdev_adjacent, list);
7227 if (&lower->list == &dev->adj_list.lower)
7230 *iter = &lower->list;
7231 *ignore = lower->ignore;
7233 return lower->dev;
7246 iter = &dev->adj_list.lower;
7262 niter = &ldev->adj_list.lower;
7294 iter = &dev->adj_list.lower;
7312 niter = &ldev->adj_list.lower;
7335 struct netdev_adjacent *lower;
7337 lower = list_entry_rcu((*iter)->next, struct netdev_adjacent, list);
7338 if (&lower->list == &dev->adj_list.lower)
7341 *iter = &lower->list;
7343 return lower->dev;
7374 for (iter = &dev->adj_list.lower,
7431 iter = &dev->adj_list.lower;
7447 niter = &ldev->adj_list.lower;
7470 * lower neighbour list, RCU
7474 * Gets the first netdev_adjacent->private from the dev's lower neighbour
7479 struct netdev_adjacent *lower;
7481 lower = list_first_or_null_rcu(&dev->adj_list.lower,
7483 if (lower)
7484 return lower->private;
7535 dev_list == &dev->adj_list.lower) &&
7680 &upper_dev->adj_list.lower,
7689 &upper_dev->adj_list.lower);
7876 adj = __netdev_find_adj(lower_dev, &upper_dev->adj_list.lower);
8260 * %NULL is returned if no lower device is found.
8266 struct net_device *lower;
8268 lower = netdev_sk_get_lower_dev(dev, sk);
8269 while (lower) {
8270 dev = lower;
8271 lower = netdev_sk_get_lower_dev(dev, sk);
8288 &iter->dev->adj_list.lower);
8293 list_for_each_entry(iter, &dev->adj_list.lower, list) {
8299 &dev->adj_list.lower);
8313 &iter->dev->adj_list.lower);
8318 list_for_each_entry(iter, &dev->adj_list.lower, list) {
8324 &dev->adj_list.lower);
8338 &iter->dev->adj_list.lower);
8340 &iter->dev->adj_list.lower);
8343 list_for_each_entry(iter, &dev->adj_list.lower, list) {
8356 struct netdev_adjacent *lower;
8360 lower = __netdev_find_adj(lower_dev, &dev->adj_list.lower);
8361 if (!lower)
8364 return lower->private;
8370 * netdev_lower_state_changed - Dispatch event about lower device state change
9004 * @recurse: allow/disallow recursion to lower devices
9662 static netdev_features_t netdev_sync_upper_features(struct net_device *lower,
9673 netdev_dbg(lower, "Dropping feature %pNF, upper dev %s has it off.\n",
9683 struct net_device *lower, netdev_features_t features)
9691 if (!(features & feature) && (lower->features & feature)) {
9692 netdev_dbg(upper, "Disabling feature %pNF on lower dev %s.\n",
9693 &feature, lower->name);
9694 lower->wanted_features &= ~feature;
9695 __netdev_update_features(lower);
9697 if (unlikely(lower->features & feature))
9699 &feature, lower->name);
9701 netdev_features_change(lower);
9808 struct net_device *upper, *lower;
9849 /* some features must be disabled on lower devices when disabled
9852 netdev_for_each_lower_dev(dev, lower, iter)
9853 netdev_sync_lower_features(dev, lower, features);
9932 * @rootdev: the root or lower level device to transfer state from
10816 INIT_LIST_HEAD(&dev->adj_list.lower);