netdev_upper_dev_unlink(9)
πΈ netdev_upper_dev_unlink(9) πΈ
okay bestie, welcome to the Kernel API Manual page for netdev_upper_dev_unlink(9) β yes, the manual name is right there because weβre being fancy. This is the little kernel function that Removes a link to upper device, and honestly? Itβs giving tidy-up-the-upper-device-link energy. π
π NAME π
netdev_upper_dev_unlink β Removes a link to upper device.
β¨ SYNOPSIS β¨
void netdev_upper_dev_unlink (struct net_device *dev , struct net_device
*upper_dev );
π ARGUMENTS π
devβ device. Thatβs the device in question, bestie.upper_devβ new upper device. Yep, βnew upper deviceβ is the whole description, no cap.
π¦ DESCRIPTION π¦
So whatβs the vibe? This function Removes a link to device which is upper to this one. Thatβs the whole actual job, and it ate.
π¨ Important bestie alert: the caller must hold the RTNL lock. Not kinda hold it, not manifest it β actually hold it. This is a real requirement, periodt.
π SEE ALSO π
The whole friend group lives in the Kernel file ./net/core/dev.c, and hereβs the entire roll call β every single one, because we do not leave the squad behind:
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_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_increment_features(9),
netdev_compute_master_upper_features(9), netdev_drivername(9)
Thatβs the whole list β no skips, no βetc.β, no missing besties. π
Sending you all the love from the ./net/core source/version corner, October 2026 edition β 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