netif_stop_queue(9)
π netif_stop_queue β stop transmitted packets π
okay bestie, this is netif_stop_queue(9) from the Kernel API Manual, and honestly? she's a tiny function with main character energy. let's get into it π
β¨ NAME β¨
netif_stop_queue β stop transmitted packets π
like, literally just. hit pause on the packets. that's the whole vibe check. π
πΈ SYNOPSIS πΈ
void netif_stop_queue (struct net_device *dev );
that's it. that's the whole signature. no return value, no drama, just vibes and a void. π¦
π«Ά ARGUMENTS π«Ά
devβ the network device π»β¨ lowkey the only thing you need to give her. it's astruct net_device *and she's the one getting her queue shut down, periodt.
π DESCRIPTION π
okay so the whole point of this icon: she stops the upper layers from calling the device's hard_start_xmit routine. ππ¦
basically you're telling everyone upstream "bestie not right now, the door is closed." it's for flow control, used when transmit resources are unavailable. like when the ring's full or the hardware's having a moment β not me calling hard_start_xmit while she's booked and busy π
so yeah: resources unavailable β you stop the queue β upper layers chill out β no cap, that's the whole job. π
π₯ SEE ALSO π₯
this list is giving "linked every friend she's ever met" and honestly? respect. π
Kernel file ./include/linux/netdevice.h:
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_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)
π look at that roster. she knows everyone. iykyk.
ngl the most important bestie in that list is probably netif_wake_queue(9) β because stopping the queue is only half the story, and you will need to wake her back up. not saying it's a fact about this function's behavior, just saying π read your friends.
β and that's the page! brought to you from ./include/linux, dated October 2026 β slay, see you in the next release, mwah π
ππ§
π¦ 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