netif_napi_add_tx(9)
β¨ NAME β¨
okay so this is netif_napi_add_tx(9), straight outta the Kernel API Manual, and sheβs here to initialize a NAPI context thatβs gonna be used for Tx only. Thatβs the whole name, no cap. π
π SYNOPSIS π
Bestie, hereβs the signature exactly as it is, donβt come for me:
void netif_napi_add_tx (struct net_device *dev , struct napi_struct *napi , int (*poll)(struct napi_struct *, int) );
π«Ά ARGUMENTS π«Ά
devβ the network device. Your little network icon, basically. πnapiβ the NAPI context. The main character of this setup. πpollβ the polling function. The callback that does the actual polling. β
π DESCRIPTION π
okay so hereβs the tea: this is a variant of netif_napi_add, and it should be used from drivers that are using NAPI to exclusively poll a TX queue. π¦
The whole point is that it keeps us from adding it into napi_hash[], so weβre not out here polluting that hash table. Clean, no mess, iconic behavior. β¨
π₯ SEE ALSO π₯
The whole friend group, literally all of them:
- Kernel file
./include/linux/netdevice.hstructgro_node(9) napi_is_scheduled(9)napi_schedule(9)napi_schedule_irqoff(9)napi_complete_done(9)napi_synchronize(9)napi_if_scheduled_mark_missed(9)enum netdev_priv_flags(9)struct net_device(9)netdev_priv(9)netdev_from_priv(9)netif_napi_add(9)netif_napi_add_config(9)__netif_napi_del(9)netif_napi_del(9)netif_start_queue(9)netif_wake_queue(9)netif_stop_queue(9)netif_queue_stopped(9)netdev_queue_set_dql_min_limit(9)netdev_txq_bql_enqueue_prefetchw(9)netdev_txq_bql_complete_prefetchw(9)netdev_tx_sent_queue(9)netdev_sent_queue(9)netdev_tx_completed_queue(9)netdev_completed_queue(9)netdev_tx_reset_subqueue(9)netdev_reset_queue(9)netdev_cap_txqueue(9)netif_running(9)netif_start_subqueue(9)netif_stop_subqueue(9)__netif_subqueue_stopped(9)netif_subqueue_stopped(9)netif_wake_subqueue(9)netif_attr_test_mask(9)netif_attr_test_online(9)netif_attrmask_next(9)netif_attrmask_next_and(9)netif_is_multiqueue(9)dev_hold(9)dev_put(9)linkwatch_sync_dev(9)netif_carrier_ok(9)netif_dormant_on(9)netif_dormant_off(9)netif_dormant(9)netif_testing_on(9)netif_testing_off(9)netif_testing(9)netif_oper_up(9)netif_device_present(9)netif_tx_lock(9)__dev_uc_sync(9)__dev_uc_unsync(9)__dev_mc_sync(9)__dev_mc_unsync(9)
muah π β source: ./include/linux, date: October 2026. stay slay, bye π«Ά
π¦ 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