Lines Matching refs:name_node
266 struct netdev_name_node *name_node; in netdev_name_node_alloc() local
268 name_node = kmalloc(sizeof(*name_node), GFP_KERNEL); in netdev_name_node_alloc()
269 if (!name_node) in netdev_name_node_alloc()
271 INIT_HLIST_NODE(&name_node->hlist); in netdev_name_node_alloc()
272 name_node->dev = dev; in netdev_name_node_alloc()
273 name_node->name = name; in netdev_name_node_alloc()
274 return name_node; in netdev_name_node_alloc()
280 struct netdev_name_node *name_node; in netdev_name_node_head_alloc() local
282 name_node = netdev_name_node_alloc(dev, dev->name); in netdev_name_node_head_alloc()
283 if (!name_node) in netdev_name_node_head_alloc()
285 INIT_LIST_HEAD(&name_node->list); in netdev_name_node_head_alloc()
286 return name_node; in netdev_name_node_head_alloc()
289 static void netdev_name_node_free(struct netdev_name_node *name_node) in netdev_name_node_free() argument
291 kfree(name_node); in netdev_name_node_free()
295 struct netdev_name_node *name_node) in netdev_name_node_add() argument
297 hlist_add_head_rcu(&name_node->hlist, in netdev_name_node_add()
298 dev_name_hash(net, name_node->name)); in netdev_name_node_add()
301 static void netdev_name_node_del(struct netdev_name_node *name_node) in netdev_name_node_del() argument
303 hlist_del_rcu(&name_node->hlist); in netdev_name_node_del()
310 struct netdev_name_node *name_node; in netdev_name_node_lookup() local
312 hlist_for_each_entry(name_node, head, hlist) in netdev_name_node_lookup()
313 if (!strcmp(name_node->name, name)) in netdev_name_node_lookup()
314 return name_node; in netdev_name_node_lookup()
322 struct netdev_name_node *name_node; in netdev_name_node_lookup_rcu() local
324 hlist_for_each_entry_rcu(name_node, head, hlist) in netdev_name_node_lookup_rcu()
325 if (!strcmp(name_node->name, name)) in netdev_name_node_lookup_rcu()
326 return name_node; in netdev_name_node_lookup_rcu()
338 struct netdev_name_node *name_node; in netdev_name_node_alt_create() local
341 name_node = netdev_name_node_lookup(net, name); in netdev_name_node_alt_create()
342 if (name_node) in netdev_name_node_alt_create()
344 name_node = netdev_name_node_alloc(dev, name); in netdev_name_node_alt_create()
345 if (!name_node) in netdev_name_node_alt_create()
347 netdev_name_node_add(net, name_node); in netdev_name_node_alt_create()
349 list_add_tail_rcu(&name_node->list, &dev->name_node->list); in netdev_name_node_alt_create()
356 struct netdev_name_node *name_node = in netdev_name_node_alt_free() local
359 kfree(name_node->name); in netdev_name_node_alt_free()
360 netdev_name_node_free(name_node); in netdev_name_node_alt_free()
363 static void __netdev_name_node_alt_destroy(struct netdev_name_node *name_node) in __netdev_name_node_alt_destroy() argument
365 netdev_name_node_del(name_node); in __netdev_name_node_alt_destroy()
366 list_del(&name_node->list); in __netdev_name_node_alt_destroy()
367 call_rcu(&name_node->rcu, netdev_name_node_alt_free); in __netdev_name_node_alt_destroy()
372 struct netdev_name_node *name_node; in netdev_name_node_alt_destroy() local
375 name_node = netdev_name_node_lookup(net, name); in netdev_name_node_alt_destroy()
376 if (!name_node) in netdev_name_node_alt_destroy()
381 if (name_node == dev->name_node || name_node->dev != dev) in netdev_name_node_alt_destroy()
384 __netdev_name_node_alt_destroy(name_node); in netdev_name_node_alt_destroy()
390 struct netdev_name_node *name_node, *tmp; in netdev_name_node_alt_flush() local
392 list_for_each_entry_safe(name_node, tmp, &dev->name_node->list, list) { in netdev_name_node_alt_flush()
393 list_del(&name_node->list); in netdev_name_node_alt_flush()
394 netdev_name_node_alt_free(&name_node->rcu); in netdev_name_node_alt_flush()
401 struct netdev_name_node *name_node; in list_netdevice() local
407 netdev_name_node_add(net, dev->name_node); in list_netdevice()
411 netdev_for_each_altname(dev, name_node) in list_netdevice()
412 netdev_name_node_add(net, name_node); in list_netdevice()
425 struct netdev_name_node *name_node; in unlist_netdevice() local
432 netdev_for_each_altname(dev, name_node) in unlist_netdevice()
433 netdev_name_node_del(name_node); in unlist_netdevice()
437 netdev_name_node_del(dev->name_node); in unlist_netdevice()
1121 struct netdev_name_node *name_node; in __dev_alloc_name() local
1123 netdev_for_each_altname(d, name_node) { in __dev_alloc_name()
1124 if (!sscanf(name_node->name, name, &i)) in __dev_alloc_name()
1131 if (!strncmp(buf, name_node->name, IFNAMSIZ)) in __dev_alloc_name()
1262 netdev_name_node_del(dev->name_node); in dev_change_name()
1266 netdev_name_node_add(net, dev->name_node); in dev_change_name()
10416 dev->name_node = netdev_name_node_head_alloc(dev); in register_netdevice()
10417 if (!dev->name_node) in register_netdevice()
10559 netdev_name_node_free(dev->name_node); in register_netdevice()
11422 netdev_name_node_free(dev->name_node); in unregister_netdevice_many_notify()
11511 struct netdev_name_node *name_node; in __dev_change_net_namespace() local
11546 netdev_for_each_altname(dev, name_node) in __dev_change_net_namespace()
11547 if (netdev_name_in_use(net, name_node->name)) in __dev_change_net_namespace()
11890 struct netdev_name_node *name_node, *tmp; in default_device_exit_net() local
11914 netdev_for_each_altname_safe(dev, name_node, tmp) in default_device_exit_net()
11915 if (netdev_name_in_use(&init_net, name_node->name)) in default_device_exit_net()
11916 __netdev_name_node_alt_destroy(name_node); in default_device_exit_net()