netdev_sent_queue(9)
π netdev_sent_queue β Kernel API Manual β¨
okay so bestie, welcome to the glow-up of netdev_sent_queue(9) β it lives in the Kernel API Manual and it's basically the "hey queen, I handed off some bytes" text message your network driver sends to the kernel. let's get into it π«Ά
πΈ NAME πΈ
netdev_sent_queue β report the number of bytes queued to hardware
like, literally just tattling on how much stuff you pushed to the hardware. no cap. π
π¦ SYNOPSIS π¦
void netdev_sent_queue (struct net_device *dev , unsigned int bytes );
(yes, the spacing is exactly like that, she's quirky, we respect it π )
π ARGUMENTS π
devβ the network device. your main character struct. πbytesβ number of bytes queued to the hardware device queue π
β DESCRIPTION β
so what you're doing here is reporting the number of bytes queued for sending/completion to the network device hardware queue#0. yep, queue#0 specifically, she's that girl.
bytes should be a good approximation β and it should exactly match the netdev_completed_queue bytes. not "close enough", not "vibes-based", exactly match. the way that matters π
this is typically called once per packet, from ndo_start_xmit. one packet, one call, iconic behavior periodt. π₯
π SEE ALSO π
Kernel file ./include/linux/netdevice.h β and the whole friend group below, because nobody does networking alone π§
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_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)
and that's the whole page, bestie β go forth and report your bytes accurately, the kernel is counting on you πβ¨
πΈ courtesy of ./include/linux, dated October 2026 β mwah, ty for reading, ily, 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