__dev_get_by_index(9)
π __dev_get_by_index(9) π
okay bestie, welcome to this Kernel API Manual page β it's giving βfind a network device by its ifindexβ energy, and we're gonna read it together. π β¨
πΈ NAME πΈ
__dev_get_by_index β find a device by its ifindex. that's the whole assignment, no cap. π
β¨ SYNOPSIS β¨
struct net_device * __dev_get_by_index (struct net *net , int ifindex );
π ARGUMENTS π
netβ the applicable net namespace. like, which net world we're in, bestie. πifindexβ index of device. the little number that IDs it. π’
π¦ DESCRIPTION π¦
Search for an interface by index. If it finds it, you get a pointer to the device; if not, you get NULL. It's giving βlookup, but make it careful.β ππ
The device has not had its reference counter increased, so the caller must be careful about locking. read that again, bestie β no free refcount hug here. π«Ά
π₯ Important lock check: the caller must hold the RTNL semaphore. not optional, not a suggestion, periodt. π
π SEE ALSO π
okay bestie, the SEE ALSO section is a whole friend group. The kernel file is ./net/core/dev.c, and here is every reference, no skips:
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),dev_get_by_name_rcu(9)netdev_get_by_name(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 π«Ά β source/version is ./net/core, dated October 2026. πβ¨
π¦ 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