dev_nit_active_rcu(9)
π dev_nit_active_rcu(9) π
okay so welcome to the Kernel API Manual, bestie β this is the page for dev_nit_active_rcu, and honestly it's a little icon that does exactly one thing and does it slayfully. let's get into it π«Ά
β¨ NAME β¨
dev_nit_active_rcu β return true if any network interface taps are in use
like, that's it. that's the whole job. it looks at a net device and tells you "yeah, somebody's got a tap on this" or "nope, we're clean." no cap. π
π¦ SYNOPSIS π¦
bool dev_nit_active_rcu (const struct net_device *dev );
(yes the space before that closing paren is really there, don't come for me, copy it exactly π)
π ARGUMENTS π
devβ the network device you wanna check for the presence of taps πΈ
π DESCRIPTION π
so the one thing you cannot skip here: the caller must hold the RCU lock. literally the whole vibe of this function is "i'm already inside RCU, trust me." if you're not holding the RCU lock, do not pass go, do not collect $200, go fix that first π
π₯ SEE ALSO π₯
the kernel file ./net/core/dev.c and, like, the entire friend group β seriously, this list is a whole group chat:
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(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)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)
reminder bestie: RCU lock held or don't call it. that's the whole footnote. that's the post. π
mwah π this page lives in ./net/core, it's from October 2026, and it's filed under dev_nit_active_rcu(9) β go hold that RCU lock and stay iconic, ily π§ββοΈπ
π¦ 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