netdev_increment_features(9)
π netdev_increment_features(9) π
okay so bestie, welcome to the Kernel API Manual β yes, THE manual, and yes we're reading it for fun (iykyk). This one's about netdev feature sets and it's genuinely a little icon. Let's get into it π«Ά
πΈ NAME πΈ
netdev_increment_features β increment feature set by one β¨
β¨ SYNOPSIS β¨
netdev_features_t netdev_increment_features (netdev_features_t all ,
netdev_features_t one , netdev_features_t mask );
like, three netdev_features_ts walk into a function and come out as one new netdev_features_t. slay π
π ARGUMENTS π
allβ the current feature set. this is the vibe we're starting from β¨oneβ the new feature set. the incoming main character πmaskβ the mask feature set. the bouncer at the door, fr fr πͺ
π¦ DESCRIPTION π¦
so here's the tea π β this function computes a new feature set after adding a device with feature set one to the master device with current feature set all. like merging your playlist into your bestie's playlist but make it kernel.
and the important part, no cap: it will not enable anything that is off in mask. whatever mask says no to stays no. periodt. π«
it returns the new feature set π
π SEE ALSO π
bestie there are SO many of these, buckle in. also: Kernel file ./net/core/dev.c π
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_get_flags(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_compute_master_upper_features(9),netdev_drivername(9)
likeβ¦ that's the whole friend group π every single one of them, we love to see it π
ngl this one's short but it's giving "small function, big feelings". respect the mask, bestie π
okay that's the page!! it lives in ./net/core and the version is October 2026 β ty for reading, 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