netif_attrmask_next(9)
π NAME π
okay bestie so this page is netif_attrmask_next(9), straight out of the Kernel API Manual (section 9, networking girlie territory), and it does exactly one iconic thing: it gets the next CPU/Rx queue in a cpu/Rx queues mask. that's it. that's the whole job. and it ate. π
β¨ SYNOPSIS β¨
unsigned int netif_attrmask_next (int n , const unsigned long *srcp ,
unsigned int nr_bits );
π§ ARGUMENTS π§
nβ the CPU/Rx queue index you're starting from. your current spot, your little home base π«Άsrcpβ pointer to the cpumask/Rx queue mask. the actual bitmask she's gonna look through, it's giving bouncer-at-the-club checking the list πnr_bitsβ how many bits are in that bitmask. the size of the whole vibe, fr fr.
π₯ RETURN π₯
she returns the next (after n) CPU/Rx queue index in the mask. and if there's literally nothing else set? she gives you something >= nr_bits β no cap, that's your signal that there are no further CPUs/Rx queues set. not a single one. π
π¦ SEE ALSO π¦
okay so this list is long long, but it's all here because the kernel file ./include/linux/netdevice.h is a whole ecosystem and everyone's linked together. lowkey the netdev friend group:
./include/linux/netdevice.hstruct 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_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_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)
like I said. the whole friend group. yw π
netif girlies stay winning β mask pointers are const unsigned long * and you should treat them with the respect they deserve π
anyway, that's the page! go forth and find your next set bit, bestie. π¦β¨
sign-off szn: this one lives in ./include/linux and the vibe-check timestamp on it is October 2026 β mwah, periodt. ππ
π¦ 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