name_node
rb_erase(&hc->name_node, &name_rb_tree);
struct hash_cell *hc = container_of(*n, struct hash_cell, name_node);
n = c >= 0 ? &hc->name_node.rb_left : &hc->name_node.rb_right;
rb_link_node(&new_hc->name_node, parent, n);
rb_insert_color(&new_hc->name_node, &name_rb_tree);
hc = container_of(n, struct hash_cell, name_node);
struct rb_node name_node;
hc = container_of(n, struct hash_cell, name_node);
hc = container_of(n, struct hash_cell, name_node);
struct hash_cell *hc = container_of(n, struct hash_cell, name_node);
struct netdev_name_node *name_node;
dev->name_node = netdev_name_node_head_alloc(dev);
if (!dev->name_node)
netdev_name_node_free(dev->name_node);
netdev_name_node_free(dev->name_node);
struct netdev_name_node *name_node;
netdev_for_each_altname(dev, name_node) {
if (netdev_name_in_use(net, name_node->name)) {
name_node->name);
struct netdev_name_node *name_node, *tmp;
netdev_for_each_altname_safe(dev, name_node, tmp)
if (netdev_name_in_use(&init_net, name_node->name))
__netdev_name_node_alt_destroy(name_node);
struct netdev_name_node *name_node;
netdev_for_each_altname(d, name_node) {
if (!sscanf(name_node->name, name, &i))
if (!strncmp(buf, name_node->name, IFNAMSIZ))
netdev_name_node_del(dev->name_node);
netdev_name_node_add(net, dev->name_node);
struct netdev_name_node *name_node;
name_node = kmalloc_obj(*name_node);
if (!name_node)
INIT_HLIST_NODE(&name_node->hlist);
name_node->dev = dev;
name_node->name = name;
return name_node;
struct netdev_name_node *name_node;
name_node = netdev_name_node_alloc(dev, dev->name);
if (!name_node)
INIT_LIST_HEAD(&name_node->list);
return name_node;
static void netdev_name_node_free(struct netdev_name_node *name_node)
kfree(name_node);
struct netdev_name_node *name_node)
hlist_add_head_rcu(&name_node->hlist,
dev_name_hash(net, name_node->name));
static void netdev_name_node_del(struct netdev_name_node *name_node)
hlist_del_rcu(&name_node->hlist);
struct netdev_name_node *name_node;
hlist_for_each_entry(name_node, head, hlist)
if (!strcmp(name_node->name, name))
return name_node;
struct netdev_name_node *name_node;
hlist_for_each_entry_rcu(name_node, head, hlist)
if (!strcmp(name_node->name, name))
return name_node;
struct netdev_name_node *name_node;
name_node = netdev_name_node_lookup(net, name);
if (name_node)
name_node = netdev_name_node_alloc(dev, name);
if (!name_node)
netdev_name_node_add(net, name_node);
list_add_tail_rcu(&name_node->list, &dev->name_node->list);
struct netdev_name_node *name_node =
kfree(name_node->name);
netdev_name_node_free(name_node);
static void __netdev_name_node_alt_destroy(struct netdev_name_node *name_node)
netdev_name_node_del(name_node);
list_del(&name_node->list);
call_rcu(&name_node->rcu, netdev_name_node_alt_free);
struct netdev_name_node *name_node;
name_node = netdev_name_node_lookup(net, name);
if (!name_node)
if (name_node == dev->name_node || name_node->dev != dev)
__netdev_name_node_alt_destroy(name_node);
struct netdev_name_node *name_node, *tmp;
list_for_each_entry_safe(name_node, tmp, &dev->name_node->list, list) {
list_del(&name_node->list);
netdev_name_node_alt_free(&name_node->rcu);
struct netdev_name_node *name_node;
netdev_name_node_add(net, dev->name_node);
netdev_for_each_altname(dev, name_node)
netdev_name_node_add(net, name_node);
struct netdev_name_node *name_node;
netdev_for_each_altname(dev, name_node)
netdev_name_node_del(name_node);
netdev_name_node_del(dev->name_node);
list_for_each_entry((namenode), &(dev)->name_node->list, list)
list_for_each_entry_safe((namenode), (next), &(dev)->name_node->list, \
struct netdev_name_node *name_node;
list_for_each_entry_rcu(name_node, &dev->name_node->list, list)
struct netdev_name_node *name_node;
list_for_each_entry_rcu(name_node, &dev->name_node->list, list) {
if (nla_put_string(skb, IFLA_ALT_IFNAME, name_node->name))
$$ = name_node($2, "");
name_node(build_node(NULL, NULL, NULL),
$$ = name_node($2, $1);
$$ = name_node(build_node_delete(&@$), $2);
struct node *name_node(struct node *node, const char *name);
newchild = name_node(newchild, xstrdup(de->d_name));
tree = name_node(tree, "");
name_node(new_node, "__overlay__");
name_node(node, name);
name_node(node, name);