dev_get_by_name_rcu(9)
dev_get_by_name_rcu
okay so bestie, welcome to the Kernel API Manual page for dev_get_by_name_rcu π
this one is short, but the RCU lock situation is very much the main character. no cap.
πΈ NAME πΈ
dev_get_by_name_rcu β find a device by its name π
β¨ SYNOPSIS β¨
struct net_device * dev_get_by_name_rcu (struct net *net , const char
*name );
π ARGUMENTS π
netβ the applicable net namespace πnameβ name to find π
π DESCRIPTION π
Find an interface by name. If the name is found, a pointer to the device is returned π«Ά. If the name is not found, then NULL is returned π.
The reference counters are not incremented, so the caller must be careful with locks. The caller must hold RCU lock. like, this is not a drill, bestie β locks are the vibe check here π.
π¦ SEE ALSO π¦
Kernel file: ./net/core/dev.c β and the whole squad is here:
dev_add_pack(9),__dev_remove_pack(9)dev_remove_pack(9),dev_get_iflink(9),dev_fill_metadata_dst(9)netdev_napi_by_id_lock(9),__dev_get_by_name(9),netdev_get_by_name(9)__dev_get_by_index(9),dev_get_by_index_rcu(9),netdev_get_by_index(9)dev_get_by_napi_id(9),netdev_get_by_index_lock(9),netdev_get_name(9)dev_getbyhwaddr_rcu(9),dev_getbyhwaddr(9),netdev_get_by_flags_rcu(9)dev_valid_name(9),__dev_alloc_name(9),dev_alloc_name(9)dev_get_alias(9),netdev_features_change(9),__netdev_notify_peers(9)netdev_notify_peers(9),dev_disable_gro_hw(9)register_netdevice_notifier(9),unregister_netdevice_notifier(9)register_netdevice_notifier_net(9)unregister_netdevice_notifier_net(9),call_netdevice_notifiers_info(9)call_netdevice_notifiers_info_robust(9),call_netdevice_notifiers(9)call_netdevice_notifiers_mtu(9),dev_forward_skb(9)dev_nit_active_rcu(9),netif_setup_tc(9)netif_set_real_num_rx_queues(9),netif_set_real_num_queues(9)netif_set_tso_max_size(9),netif_set_tso_max_segs(9)netif_inherit_tso_max(9),netif_get_num_default_rss_queues(9)netif_device_detach(9),netif_device_attach(9),dev_loopback_xmit(9)__dev_queue_xmit(9),rps_flow_is_active(9),rps_may_expire_flow(9)__netif_rx(9),netif_rx(9),netdev_is_rx_handler_busy(9)netdev_rx_handler_register(9),netdev_rx_handler_unregister(9)netif_receive_skb_core(9),netif_receive_skb(9)netif_receive_skb_list(9),__napi_schedule(9),napi_schedule_prep(9)__napi_schedule_irqoff(9),netif_threaded_enable(9)netif_queue_set_napi(9),napi_disable(9),napi_enable(9)netdev_has_upper_dev(9),netdev_has_upper_dev_all_rcu(9)netdev_has_any_upper_dev(9),netdev_master_upper_dev_get(9)netdev_has_any_lower_dev(9),netdev_upper_get_next_dev_rcu(9)netdev_lower_get_next_private(9),netdev_lower_get_next_private_rcu(9)netdev_lower_get_next(9),netdev_lower_get_first_private_rcu(9)netdev_master_upper_dev_get_rcu(9),netdev_upper_dev_link(9)netdev_master_upper_dev_link(9),netdev_upper_dev_unlink(9)netdev_bonding_info_change(9),netdev_get_xmit_slave(9)netdev_sk_get_lowest_dev(9),netdev_lower_state_changed(9)netif_get_flags(9),netif_set_mtu_ext(9)netif_pre_changeaddr_notify(9),dev_get_phys_port_id(9)dev_get_phys_port_name(9),netif_get_port_parent_id(9)netdev_port_same_parent_id(9)netdev_change_proto_down_reason_locked(9),dev_change_xdp_fd(9)dev_index_reserve(9),netdev_update_features(9)netdev_change_features(9),netif_stacked_transfer_operstate(9)register_netdevice(9),register_netdev(9),netdev_wait_allrefs_any(9)dev_get_stats(9),dev_fetch_sw_netstats(9),dev_get_tstats64(9)netdev_sw_irq_coalesce_default_on(9),alloc_netdev_mqs(9)free_netdev(9),alloc_netdev_dummy(9),synchronize_net(9)unregister_netdevice_queue(9),unregister_netdevice_many(9)unregister_netdev(9),netdev_increment_features(9)netdev_compute_master_upper_features(9),netdev_drivername(9)
xoxo, your kernel bestie π§ β this page lives under ./net/core, was last vibe-checked in October 2026, and it's giving iconic RCU energy. periodt. π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms