netif_get_flags(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– netif_get_flags(9) πŸ’–

okay so bestie, welcome to the kernel API manual β€” section 9, the space where all the in-kernel function lore lives. this one's about netif_get_flags, and it's a cute little one. let's get into it 🫢


🌸 NAME 🌸

netif_get_flags β€” the one that gets the flags reported to userspace 😌✨


πŸŽ€ SYNOPSIS πŸŽ€

unsigned int netif_get_flags (const struct net_device *dev );

that's the whole signature, no cap. returns an unsigned int, takes one const struct net_device *. she's simple, she's iconic πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” the device. that's it. that's the whole argument. you hand her a device and she handles the rest ✨

πŸ‘‘ DESCRIPTION πŸ‘‘

okay so here's the tea: netif_get_flags gets you the combination of flag bits that are exported through APIs to userspace. that's the assignment, that's the vibe, she ate and left no crumbs πŸ”₯

like, the kernel has all these internal flag bits about a net device, right? and some of them get exposed out to userspace through the various APIs. this function is the one that hands you that combo of flag bits. literally just that. no more, no less, periodt πŸ’œ


🌈 SEE ALSO 🌈

so like, netif_get_flags does not live alone β€” she's part of a whole friend group πŸ’–. the kernel file in question here is ./net/core/dev.c, and here's the full squad, fr fr:

dev_add_pack(9), __dev_remove_pack(9), dev_remove_pack(9), dev_get_iflink(9), dev_fill_metadata_dst(9), netdev_napi_by_id_lock(9), __dev_get_by_name(9), dev_get_by_name_rcu(9), netdev_get_by_name(9), __dev_get_by_index(9), dev_get_by_index_rcu(9), netdev_get_by_index(9), dev_get_by_napi_id(9), netdev_get_by_index_lock(9), netdev_get_name(9), dev_getbyhwaddr_rcu(9), dev_getbyhwaddr(9), netdev_get_by_flags_rcu(9), dev_valid_name(9), __dev_alloc_name(9), dev_alloc_name(9), dev_get_alias(9), netdev_features_change(9), __netdev_notify_peers(9), netdev_notify_peers(9), dev_disable_gro_hw(9), register_netdevice_notifier(9), unregister_netdevice_notifier(9), register_netdevice_notifier_net(9), unregister_netdevice_notifier_net(9), call_netdevice_notifiers_info(9), call_netdevice_notifiers_info_robust(9), call_netdevice_notifiers(9), call_netdevice_notifiers_mtu(9), dev_forward_skb(9), dev_nit_active_rcu(9), netif_setup_tc(9), netif_set_real_num_rx_queues(9), netif_set_real_num_queues(9), netif_set_tso_max_size(9), netif_set_tso_max_segs(9), netif_inherit_tso_max(9), netif_get_num_default_rss_queues(9), netif_device_detach(9), netif_device_attach(9), dev_loopback_xmit(9), __dev_queue_xmit(9), rps_flow_is_active(9), rps_may_expire_flow(9), __netif_rx(9), netif_rx(9), netdev_is_rx_handler_busy(9), netdev_rx_handler_register(9), netdev_rx_handler_unregister(9), netif_receive_skb_core(9), netif_receive_skb(9), netif_receive_skb_list(9), __napi_schedule(9), napi_schedule_prep(9), __napi_schedule_irqoff(9), netif_threaded_enable(9), netif_queue_set_napi(9), napi_disable(9), napi_enable(9), netdev_has_upper_dev(9), netdev_has_upper_dev_all_rcu(9), netdev_has_any_upper_dev(9), netdev_master_upper_dev_get(9), netdev_has_any_lower_dev(9), netdev_upper_get_next_dev_rcu(9), netdev_lower_get_next_private(9), netdev_lower_get_next_private_rcu(9), netdev_lower_get_next(9), netdev_lower_get_first_private_rcu(9), netdev_master_upper_dev_get_rcu(9), netdev_upper_dev_link(9), netdev_master_upper_dev_link(9), netdev_upper_dev_unlink(9), netdev_bonding_info_change(9), netdev_get_xmit_slave(9), netdev_sk_get_lowest_dev(9), netdev_lower_state_changed(9), netif_set_mtu_ext(9), netif_pre_changeaddr_notify(9), dev_get_phys_port_id(9), dev_get_phys_port_name(9), netif_get_port_parent_id(9), netdev_port_same_parent_id(9), netdev_change_proto_down_reason_locked(9), dev_change_xdp_fd(9), dev_index_reserve(9), netdev_update_features(9), netdev_change_features(9), netif_stacked_transfer_operstate(9), register_netdevice(9), register_netdev(9), netdev_wait_allrefs_any(9), dev_get_stats(9), dev_fetch_sw_netstats(9), dev_get_tstats64(9), netdev_sw_irq_coalesce_default_on(9), alloc_netdev_mqs(9), free_netdev(9), alloc_netdev_dummy(9), synchronize_net(9), unregister_netdevice_queue(9), unregister_netdevice_many(9), unregister_netdev(9), netdev_increment_features(9), netdev_compute_master_upper_features(9), netdev_drivername(9)

like I said. whole friend group. go say hi πŸ‘‹πŸ’•


ngl bestie, if you're reading the kernel API manual for fun, you're already main character energy. iykyk πŸ§šβ€β™€οΈβœ¨

and that's the page!! πŸ’… this one came from the kernel file ./net/core and it's dated October 2026 β€” so like, mark your calendars, screenshot it, put it on your fridge πŸ“. mwah, bye bestie πŸ’–πŸŽ€πŸŒΈ

πŸ“¦ where this page comes from