netif_stop_subqueue(9)
π netif_stop_subqueue(9) β Kernel API Manual, bestie edition
Okay so real talk, this is netif_stop_subqueue(9) straight out of the Kernel API Manual, and it's literally the "hey bestie, pause that one lane" function. Let's get into it π
β¨ NAME β¨
netif_stop_subqueue β stop sending packets on a subqueue π
πΈ SYNOPSIS πΈ
void netif_stop_subqueue (struct net_device *dev , u16 queue_index );
π¦ ARGUMENTS π¦
devβ the network device, aka the whole vibe. It's astruct net_device *and it's the thing whose subqueue you're about to hush πqueue_indexβ the sub queue index (u16), i.e. which lane inside that device you're putting on pause. Specificity is the moment π
π« DESCRIPTION π«
So picture a device that has multiple transmit queues β a multiqueue legend, main character energy, absolutely ate. This function stops one individual transmit queue of that device. Just the one. Not all of them. Targeted. Deliberate. It's giving surgical π
π₯ SEE ALSO π₯
The whole extended friend group π«Ά β header home base is Kernel file ./include/linux/netdevice.h and everything here is a (9) page:
struct gro_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_add_tx(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_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)
π§ Lowkey go readnetif_start_subqueue(9)andnetif_wake_subqueue(9)after this one, because stopping alone is only half the story, iykyk.
Aaaand scene, that's the whole page π It ships from ./include/linux, dated October 2026, filed under netif_stop_subqueue(9) β mwah, slay, no cap πβ
π¦ 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