Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'net-maintain-netif-vs-dev-prefix-semantics'

Stanislav Fomichev says:

====================
net: maintain netif vs dev prefix semantics

Commit cc34acd577f1 ("docs: net: document new locking reality")
introduced netif_ vs dev_ function semantics: the former expects locked
netdev, the latter takes care of the locking. We don't strictly
follow this semantics on either side, but there are more dev_xxx handlers
now that don't fit. Rename them to netif_xxx where appropriate. We care only
about driver-visible APIs, don't touch stack-internal routines.

The rest seem to be ok:
* dev_xdp_prog_count - mostly called by sw drivers (bonding), should not matter
* dev_get_by_xxx - too many to reasonably cleanup, already have different flavors
* dev_fetch_sw_netstats - don't need instance lock
* dev_get_tstats64 - never called directly, only as an ndo callback
* dev_pick_tx_zero - never called directly, only as an ndo callback
* dev_add_pack / dev_remove_pack - called early enough (in module init) to not matter
* dev_get_iflink - mostly called by sw drivers, should not matter
* dev_fill_forward_path - ditto
* dev_getbyhwaddr_rcu - ditto
* dev_getbyhwaddr - ditto
* dev_getfirstbyhwtype - ditto
* dev_valid_name - ditto
* __dev_forward_skb dev_forward_skb dev_queue_xmit_nit - established helpers, no netif vs dev distinction
====================

Link: https://patch.msgid.link/20250717172333.1288349-1-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

+128 -98
+1 -1
Documentation/networking/net_cachelines/net_device.rst
··· 165 165 struct lock_class_key* qdisc_tx_busylock 166 166 bool proto_down 167 167 unsigned:1 wol_enabled 168 - unsigned:1 threaded napi_poll(napi_enable,dev_set_threaded) 168 + unsigned:1 threaded napi_poll(napi_enable,netif_set_threaded) 169 169 unsigned_long:1 see_all_hwtstamp_requests 170 170 unsigned_long:1 change_proto_down 171 171 unsigned_long:1 netns_immutable
+1 -1
drivers/infiniband/sw/rxe/rxe_verbs.c
··· 65 65 attr->state = ib_get_curr_port_state(ndev); 66 66 if (attr->state == IB_PORT_ACTIVE) 67 67 attr->phys_state = IB_PORT_PHYS_STATE_LINK_UP; 68 - else if (dev_get_flags(ndev) & IFF_UP) 68 + else if (netif_get_flags(ndev) & IFF_UP) 69 69 attr->phys_state = IB_PORT_PHYS_STATE_POLLING; 70 70 else 71 71 attr->phys_state = IB_PORT_PHYS_STATE_DISABLED;
+3 -2
drivers/net/bonding/bond_main.c
··· 1040 1040 1041 1041 slave_dbg(bond_dev, slave_dev, "bond_dev=%p slave_dev=%p slave_dev->addr_len=%d\n", 1042 1042 bond_dev, slave_dev, slave_dev->addr_len); 1043 - err = dev_pre_changeaddr_notify(bond_dev, slave_dev->dev_addr, NULL); 1043 + err = netif_pre_changeaddr_notify(bond_dev, slave_dev->dev_addr, NULL); 1044 1044 if (err) 1045 1045 return err; 1046 1046 ··· 2669 2669 2670 2670 if (unregister) { 2671 2671 netdev_lock_ops(slave_dev); 2672 - __dev_set_mtu(slave_dev, slave->original_mtu); 2672 + __netif_set_mtu(slave_dev, slave->original_mtu); 2673 2673 netdev_unlock_ops(slave_dev); 2674 2674 } else { 2675 2675 dev_set_mtu(slave_dev, slave->original_mtu); ··· 6743 6743 MODULE_LICENSE("GPL"); 6744 6744 MODULE_DESCRIPTION(DRV_DESCRIPTION); 6745 6745 MODULE_AUTHOR("Thomas Davis, tadavis@lbl.gov and many others"); 6746 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+1 -1
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
··· 2688 2688 adapter->mii.mdio_write = atl1c_mdio_write; 2689 2689 adapter->mii.phy_id_mask = 0x1f; 2690 2690 adapter->mii.reg_num_mask = MDIO_CTRL_REG_MASK; 2691 - dev_set_threaded(netdev, true); 2691 + netif_set_threaded(netdev, true); 2692 2692 for (i = 0; i < adapter->rx_queue_count; ++i) 2693 2693 netif_napi_add(netdev, &adapter->rrd_ring[i].napi, 2694 2694 atl1c_clean_rx);
+2 -1
drivers/net/ethernet/mediatek/mtk_eth_soc.c
··· 4967 4967 list_add_tail(&dev->close_list, &dev_list); 4968 4968 } 4969 4969 4970 - dev_close_many(&dev_list, false); 4970 + netif_close_many(&dev_list, false); 4971 4971 4972 4972 eth->dma_dev = dma_dev; 4973 4973 ··· 5610 5610 MODULE_LICENSE("GPL"); 5611 5611 MODULE_AUTHOR("John Crispin <blogic@openwrt.org>"); 5612 5612 MODULE_DESCRIPTION("Ethernet driver for MediaTek SoC"); 5613 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+1 -1
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
··· 5446 5446 goto err_action_counter; 5447 5447 } 5448 5448 5449 - err = dev_get_port_parent_id(priv->netdev, &ppid, false); 5449 + err = netif_get_port_parent_id(priv->netdev, &ppid, false); 5450 5450 if (!err) { 5451 5451 memcpy(&key, &ppid.id, sizeof(key)); 5452 5452 mlx5_esw_offloads_devcom_init(esw, key);
+1 -1
drivers/net/ethernet/mellanox/mlxsw/pci.c
··· 156 156 } 157 157 strscpy(mlxsw_pci->napi_dev_rx->name, "mlxsw_rx", 158 158 sizeof(mlxsw_pci->napi_dev_rx->name)); 159 - dev_set_threaded(mlxsw_pci->napi_dev_rx, true); 159 + netif_set_threaded(mlxsw_pci->napi_dev_rx, true); 160 160 161 161 return 0; 162 162
+1 -1
drivers/net/ethernet/renesas/ravb_main.c
··· 3075 3075 if (info->coalesce_irqs) { 3076 3076 netdev_sw_irq_coalesce_default_on(ndev); 3077 3077 if (num_present_cpus() == 1) 3078 - dev_set_threaded(ndev, true); 3078 + netif_set_threaded(ndev, true); 3079 3079 } 3080 3080 3081 3081 /* Network device register */
+4 -3
drivers/net/ipvlan/ipvlan_main.c
··· 784 784 case NETDEV_PRE_CHANGEADDR: 785 785 prechaddr_info = ptr; 786 786 list_for_each_entry(ipvlan, &port->ipvlans, pnode) { 787 - err = dev_pre_changeaddr_notify(ipvlan->dev, 788 - prechaddr_info->dev_addr, 789 - extack); 787 + err = netif_pre_changeaddr_notify(ipvlan->dev, 788 + prechaddr_info->dev_addr, 789 + extack); 790 790 if (err) 791 791 return notifier_from_errno(err); 792 792 } ··· 1094 1094 MODULE_AUTHOR("Mahesh Bandewar <maheshb@google.com>"); 1095 1095 MODULE_DESCRIPTION("Driver for L3 (IPv6/IPv4) based VLANs"); 1096 1096 MODULE_ALIAS_RTNL_LINK("ipvlan"); 1097 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+3 -2
drivers/net/tap.c
··· 1000 1000 return -ENOLINK; 1001 1001 } 1002 1002 ret = 0; 1003 - dev_get_mac_address((struct sockaddr *)&ss, dev_net(tap->dev), 1004 - tap->dev->name); 1003 + netif_get_mac_address((struct sockaddr *)&ss, dev_net(tap->dev), 1004 + tap->dev->name); 1005 1005 if (copy_to_user(&ifr->ifr_name, tap->dev->name, IFNAMSIZ) || 1006 1006 copy_to_user(&ifr->ifr_hwaddr, &ss, sizeof(ifr->ifr_hwaddr))) 1007 1007 ret = -EFAULT; ··· 1282 1282 MODULE_AUTHOR("Arnd Bergmann <arnd@arndb.de>"); 1283 1283 MODULE_AUTHOR("Sainath Grandhi <sainath.grandhi@intel.com>"); 1284 1284 MODULE_LICENSE("GPL"); 1285 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+2 -1
drivers/net/tun.c
··· 3223 3223 3224 3224 case SIOCGIFHWADDR: 3225 3225 /* Get hw address */ 3226 - dev_get_mac_address(&ifr.ifr_hwaddr, net, tun->dev->name); 3226 + netif_get_mac_address(&ifr.ifr_hwaddr, net, tun->dev->name); 3227 3227 if (copy_to_user(argp, &ifr, ifreq_len)) 3228 3228 ret = -EFAULT; 3229 3229 break; ··· 3732 3732 MODULE_LICENSE("GPL"); 3733 3733 MODULE_ALIAS_MISCDEV(TUN_MINOR); 3734 3734 MODULE_ALIAS("devname:net/tun"); 3735 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+1 -1
drivers/net/wireguard/device.c
··· 366 366 if (ret < 0) 367 367 goto err_free_handshake_queue; 368 368 369 - dev_set_threaded(dev, true); 369 + netif_set_threaded(dev, true); 370 370 ret = register_netdevice(dev); 371 371 if (ret < 0) 372 372 goto err_uninit_ratelimiter;
+1 -1
drivers/net/wireless/ath/ath10k/snoc.c
··· 936 936 937 937 bitmap_clear(ar_snoc->pending_ce_irqs, 0, CE_COUNT_MAX); 938 938 939 - dev_set_threaded(ar->napi_dev, true); 939 + netif_set_threaded(ar->napi_dev, true); 940 940 ath10k_core_napi_enable(ar); 941 941 /* IRQs are left enabled when we restart due to a firmware crash */ 942 942 if (!test_bit(ATH10K_SNOC_FLAG_RECOVERY, &ar_snoc->flags))
+1 -1
fs/smb/server/smb2pdu.c
··· 7847 7847 if (!ksmbd_find_netdev_name_iface_list(netdev->name)) 7848 7848 continue; 7849 7849 7850 - flags = dev_get_flags(netdev); 7850 + flags = netif_get_flags(netdev); 7851 7851 if (!(flags & IFF_RUNNING)) 7852 7852 continue; 7853 7853 ipv6_retry:
+9 -8
include/linux/netdevice.h
··· 589 589 return napi_complete_done(n, 0); 590 590 } 591 591 592 + int netif_set_threaded(struct net_device *dev, bool threaded); 592 593 int dev_set_threaded(struct net_device *dev, bool threaded); 593 594 594 595 void napi_disable(struct napi_struct *n); ··· 3343 3342 int dev_open(struct net_device *dev, struct netlink_ext_ack *extack); 3344 3343 void netif_close(struct net_device *dev); 3345 3344 void dev_close(struct net_device *dev); 3346 - void dev_close_many(struct list_head *head, bool unlink); 3345 + void netif_close_many(struct list_head *head, bool unlink); 3347 3346 void netif_disable_lro(struct net_device *dev); 3348 3347 void dev_disable_lro(struct net_device *dev); 3349 3348 int dev_loopback_xmit(struct net *net, struct sock *sk, struct sk_buff *newskb); ··· 4197 4196 struct kernel_hwtstamp_config *kernel_cfg, 4198 4197 struct netlink_ext_ack *extack); 4199 4198 int dev_ethtool(struct net *net, struct ifreq *ifr, void __user *userdata); 4200 - unsigned int dev_get_flags(const struct net_device *); 4199 + unsigned int netif_get_flags(const struct net_device *dev); 4201 4200 int __dev_change_flags(struct net_device *dev, unsigned int flags, 4202 4201 struct netlink_ext_ack *extack); 4203 4202 int netif_change_flags(struct net_device *dev, unsigned int flags, ··· 4212 4211 struct netlink_ext_ack *extack); 4213 4212 int dev_change_net_namespace(struct net_device *dev, struct net *net, 4214 4213 const char *pat); 4215 - int __dev_set_mtu(struct net_device *, int); 4214 + int __netif_set_mtu(struct net_device *dev, int new_mtu); 4216 4215 int netif_set_mtu(struct net_device *dev, int new_mtu); 4217 4216 int dev_set_mtu(struct net_device *, int); 4218 - int dev_pre_changeaddr_notify(struct net_device *dev, const char *addr, 4219 - struct netlink_ext_ack *extack); 4217 + int netif_pre_changeaddr_notify(struct net_device *dev, const char *addr, 4218 + struct netlink_ext_ack *extack); 4220 4219 int netif_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss, 4221 4220 struct netlink_ext_ack *extack); 4222 4221 int dev_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss, 4223 4222 struct netlink_ext_ack *extack); 4224 4223 int dev_set_mac_address_user(struct net_device *dev, struct sockaddr_storage *ss, 4225 4224 struct netlink_ext_ack *extack); 4226 - int dev_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name); 4227 - int dev_get_port_parent_id(struct net_device *dev, 4228 - struct netdev_phys_item_id *ppid, bool recurse); 4225 + int netif_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name); 4226 + int netif_get_port_parent_id(struct net_device *dev, 4227 + struct netdev_phys_item_id *ppid, bool recurse); 4229 4228 bool netdev_port_same_parent_id(struct net_device *a, struct net_device *b); 4230 4229 4231 4230 struct sk_buff *validate_xmit_skb_list(struct sk_buff *skb, struct net_device *dev, bool *again);
+3 -2
net/8021q/vlan.c
··· 470 470 list_add(&vlandev->close_list, &close_list); 471 471 } 472 472 473 - dev_close_many(&close_list, false); 473 + netif_close_many(&close_list, false); 474 474 475 475 list_for_each_entry_safe(vlandev, tmp, &close_list, close_list) { 476 476 vlan_stacked_transfer_operstate(dev, vlandev, ··· 483 483 case NETDEV_UP: 484 484 /* Put all VLANs for this dev in the up state too. */ 485 485 vlan_group_for_each_dev(grp, i, vlandev) { 486 - flgs = dev_get_flags(vlandev); 486 + flgs = netif_get_flags(vlandev); 487 487 if (flgs & IFF_UP) 488 488 continue; 489 489 ··· 765 765 MODULE_DESCRIPTION("802.1Q/802.1ad VLAN Protocol"); 766 766 MODULE_LICENSE("GPL"); 767 767 MODULE_VERSION(DRV_VERSION); 768 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+4 -3
net/bridge/br.c
··· 74 74 if (br->dev->addr_assign_type == NET_ADDR_SET) 75 75 break; 76 76 prechaddr_info = ptr; 77 - err = dev_pre_changeaddr_notify(br->dev, 78 - prechaddr_info->dev_addr, 79 - extack); 77 + err = netif_pre_changeaddr_notify(br->dev, 78 + prechaddr_info->dev_addr, 79 + extack); 80 80 if (err) 81 81 return notifier_from_errno(err); 82 82 break; ··· 484 484 MODULE_VERSION(BR_VERSION); 485 485 MODULE_ALIAS_RTNL_LINK("bridge"); 486 486 MODULE_DESCRIPTION("Ethernet bridge driver"); 487 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+2 -1
net/bridge/br_if.c
··· 668 668 /* Ask for permission to use this MAC address now, even if we 669 669 * don't end up choosing it below. 670 670 */ 671 - err = dev_pre_changeaddr_notify(br->dev, dev->dev_addr, extack); 671 + err = netif_pre_changeaddr_notify(br->dev, dev->dev_addr, 672 + extack); 672 673 if (err) 673 674 goto err6; 674 675 }
+1 -1
net/bridge/br_netlink.c
··· 479 479 hdr->__ifi_pad = 0; 480 480 hdr->ifi_type = dev->type; 481 481 hdr->ifi_index = dev->ifindex; 482 - hdr->ifi_flags = dev_get_flags(dev); 482 + hdr->ifi_flags = netif_get_flags(dev); 483 483 hdr->ifi_change = 0; 484 484 485 485 if (nla_put_string(skb, IFLA_IFNAME, dev->name) ||
+1 -1
net/bridge/br_switchdev.c
··· 837 837 struct netdev_phys_item_id ppid; 838 838 int err; 839 839 840 - err = dev_get_port_parent_id(dev, &ppid, false); 840 + err = netif_get_port_parent_id(dev, &ppid, false); 841 841 if (err) 842 842 return err; 843 843
+51 -44
net/core/dev.c
··· 1768 1768 list_del(&single); 1769 1769 } 1770 1770 1771 - void dev_close_many(struct list_head *head, bool unlink) 1771 + void netif_close_many(struct list_head *head, bool unlink) 1772 1772 { 1773 1773 struct net_device *dev, *tmp; 1774 1774 ··· 1786 1786 list_del_init(&dev->close_list); 1787 1787 } 1788 1788 } 1789 - EXPORT_SYMBOL(dev_close_many); 1789 + EXPORT_SYMBOL_NS_GPL(netif_close_many, "NETDEV_INTERNAL"); 1790 1790 1791 1791 void netif_close(struct net_device *dev) 1792 1792 { ··· 1794 1794 LIST_HEAD(single); 1795 1795 1796 1796 list_add(&dev->close_list, &single); 1797 - dev_close_many(&single, true); 1797 + netif_close_many(&single, true); 1798 1798 list_del(&single); 1799 1799 } 1800 1800 } ··· 4798 4798 4799 4799 if (test_bit(NAPI_STATE_THREADED, &napi->state)) { 4800 4800 /* Paired with smp_mb__before_atomic() in 4801 - * napi_enable()/dev_set_threaded(). 4801 + * napi_enable()/netif_set_threaded(). 4802 4802 * Use READ_ONCE() to guarantee a complete 4803 4803 * read on napi->thread. Only call 4804 4804 * wake_up_process() when it's not NULL. ··· 6990 6990 return 0; 6991 6991 } 6992 6992 6993 - int dev_set_threaded(struct net_device *dev, bool threaded) 6993 + int netif_set_threaded(struct net_device *dev, bool threaded) 6994 6994 { 6995 6995 struct napi_struct *napi; 6996 6996 int err = 0; ··· 7031 7031 7032 7032 return err; 7033 7033 } 7034 - EXPORT_SYMBOL(dev_set_threaded); 7034 + EXPORT_SYMBOL(netif_set_threaded); 7035 7035 7036 7036 /** 7037 7037 * netif_queue_set_napi - Associate queue with the napi ··· 9454 9454 } 9455 9455 9456 9456 /** 9457 - * dev_get_flags - get flags reported to userspace 9458 - * @dev: device 9457 + * netif_get_flags() - get flags reported to userspace 9458 + * @dev: device 9459 9459 * 9460 - * Get the combination of flag bits exported through APIs to userspace. 9460 + * Get the combination of flag bits exported through APIs to userspace. 9461 9461 */ 9462 - unsigned int dev_get_flags(const struct net_device *dev) 9462 + unsigned int netif_get_flags(const struct net_device *dev) 9463 9463 { 9464 9464 unsigned int flags; 9465 9465 ··· 9482 9482 9483 9483 return flags; 9484 9484 } 9485 - EXPORT_SYMBOL(dev_get_flags); 9485 + EXPORT_SYMBOL(netif_get_flags); 9486 9486 9487 9487 int __dev_change_flags(struct net_device *dev, unsigned int flags, 9488 9488 struct netlink_ext_ack *extack) ··· 9594 9594 return ret; 9595 9595 } 9596 9596 9597 - int __dev_set_mtu(struct net_device *dev, int new_mtu) 9597 + int __netif_set_mtu(struct net_device *dev, int new_mtu) 9598 9598 { 9599 9599 const struct net_device_ops *ops = dev->netdev_ops; 9600 9600 ··· 9605 9605 WRITE_ONCE(dev->mtu, new_mtu); 9606 9606 return 0; 9607 9607 } 9608 - EXPORT_SYMBOL(__dev_set_mtu); 9608 + EXPORT_SYMBOL_NS_GPL(__netif_set_mtu, "NETDEV_INTERNAL"); 9609 9609 9610 9610 int dev_validate_mtu(struct net_device *dev, int new_mtu, 9611 9611 struct netlink_ext_ack *extack) ··· 9624 9624 } 9625 9625 9626 9626 /** 9627 - * netif_set_mtu_ext - Change maximum transfer unit 9628 - * @dev: device 9629 - * @new_mtu: new transfer unit 9630 - * @extack: netlink extended ack 9627 + * netif_set_mtu_ext() - Change maximum transfer unit 9628 + * @dev: device 9629 + * @new_mtu: new transfer unit 9630 + * @extack: netlink extended ack 9631 9631 * 9632 - * Change the maximum transfer size of the network device. 9632 + * Change the maximum transfer size of the network device. 9633 + * 9634 + * Return: 0 on success, -errno on failure. 9633 9635 */ 9634 9636 int netif_set_mtu_ext(struct net_device *dev, int new_mtu, 9635 9637 struct netlink_ext_ack *extack) 9636 9638 { 9637 9639 int err, orig_mtu; 9640 + 9641 + netdev_ops_assert_locked(dev); 9638 9642 9639 9643 if (new_mtu == dev->mtu) 9640 9644 return 0; ··· 9656 9652 return err; 9657 9653 9658 9654 orig_mtu = dev->mtu; 9659 - err = __dev_set_mtu(dev, new_mtu); 9655 + err = __netif_set_mtu(dev, new_mtu); 9660 9656 9661 9657 if (!err) { 9662 9658 err = call_netdevice_notifiers_mtu(NETDEV_CHANGEMTU, dev, ··· 9666 9662 /* setting mtu back and notifying everyone again, 9667 9663 * so that they have a chance to revert changes. 9668 9664 */ 9669 - __dev_set_mtu(dev, orig_mtu); 9665 + __netif_set_mtu(dev, orig_mtu); 9670 9666 call_netdevice_notifiers_mtu(NETDEV_CHANGEMTU, dev, 9671 9667 new_mtu); 9672 9668 } ··· 9720 9716 } 9721 9717 9722 9718 /** 9723 - * dev_pre_changeaddr_notify - Call NETDEV_PRE_CHANGEADDR. 9724 - * @dev: device 9725 - * @addr: new address 9726 - * @extack: netlink extended ack 9719 + * netif_pre_changeaddr_notify() - Call NETDEV_PRE_CHANGEADDR. 9720 + * @dev: device 9721 + * @addr: new address 9722 + * @extack: netlink extended ack 9723 + * 9724 + * Return: 0 on success, -errno on failure. 9727 9725 */ 9728 - int dev_pre_changeaddr_notify(struct net_device *dev, const char *addr, 9729 - struct netlink_ext_ack *extack) 9726 + int netif_pre_changeaddr_notify(struct net_device *dev, const char *addr, 9727 + struct netlink_ext_ack *extack) 9730 9728 { 9731 9729 struct netdev_notifier_pre_changeaddr_info info = { 9732 9730 .info.dev = dev, ··· 9740 9734 rc = call_netdevice_notifiers_info(NETDEV_PRE_CHANGEADDR, &info.info); 9741 9735 return notifier_to_errno(rc); 9742 9736 } 9743 - EXPORT_SYMBOL(dev_pre_changeaddr_notify); 9737 + EXPORT_SYMBOL_NS_GPL(netif_pre_changeaddr_notify, "NETDEV_INTERNAL"); 9744 9738 9745 9739 int netif_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss, 9746 9740 struct netlink_ext_ack *extack) ··· 9754 9748 return -EINVAL; 9755 9749 if (!netif_device_present(dev)) 9756 9750 return -ENODEV; 9757 - err = dev_pre_changeaddr_notify(dev, ss->__data, extack); 9751 + err = netif_pre_changeaddr_notify(dev, ss->__data, extack); 9758 9752 if (err) 9759 9753 return err; 9760 9754 if (memcmp(dev->dev_addr, ss->__data, dev->addr_len)) { ··· 9771 9765 DECLARE_RWSEM(dev_addr_sem); 9772 9766 9773 9767 /* "sa" is a true struct sockaddr with limited "sa_data" member. */ 9774 - int dev_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name) 9768 + int netif_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name) 9775 9769 { 9776 9770 size_t size = sizeof(sa->sa_data_min); 9777 9771 struct net_device *dev; ··· 9797 9791 up_read(&dev_addr_sem); 9798 9792 return ret; 9799 9793 } 9800 - EXPORT_SYMBOL(dev_get_mac_address); 9794 + EXPORT_SYMBOL_NS_GPL(netif_get_mac_address, "NETDEV_INTERNAL"); 9801 9795 9802 9796 int netif_change_carrier(struct net_device *dev, bool new_carrier) 9803 9797 { ··· 9850 9844 } 9851 9845 9852 9846 /** 9853 - * dev_get_port_parent_id - Get the device's port parent identifier 9854 - * @dev: network device 9855 - * @ppid: pointer to a storage for the port's parent identifier 9856 - * @recurse: allow/disallow recursion to lower devices 9847 + * netif_get_port_parent_id() - Get the device's port parent identifier 9848 + * @dev: network device 9849 + * @ppid: pointer to a storage for the port's parent identifier 9850 + * @recurse: allow/disallow recursion to lower devices 9857 9851 * 9858 - * Get the devices's port parent identifier 9852 + * Get the devices's port parent identifier. 9853 + * 9854 + * Return: 0 on success, -errno on failure. 9859 9855 */ 9860 - int dev_get_port_parent_id(struct net_device *dev, 9861 - struct netdev_phys_item_id *ppid, 9862 - bool recurse) 9856 + int netif_get_port_parent_id(struct net_device *dev, 9857 + struct netdev_phys_item_id *ppid, bool recurse) 9863 9858 { 9864 9859 const struct net_device_ops *ops = dev->netdev_ops; 9865 9860 struct netdev_phys_item_id first = { }; ··· 9879 9872 return err; 9880 9873 9881 9874 netdev_for_each_lower_dev(dev, lower_dev, iter) { 9882 - err = dev_get_port_parent_id(lower_dev, ppid, true); 9875 + err = netif_get_port_parent_id(lower_dev, ppid, true); 9883 9876 if (err) 9884 9877 break; 9885 9878 if (!first.id_len) ··· 9890 9883 9891 9884 return err; 9892 9885 } 9893 - EXPORT_SYMBOL(dev_get_port_parent_id); 9886 + EXPORT_SYMBOL(netif_get_port_parent_id); 9894 9887 9895 9888 /** 9896 9889 * netdev_port_same_parent_id - Indicate if two network devices have ··· 9903 9896 struct netdev_phys_item_id a_id = { }; 9904 9897 struct netdev_phys_item_id b_id = { }; 9905 9898 9906 - if (dev_get_port_parent_id(a, &a_id, true) || 9907 - dev_get_port_parent_id(b, &b_id, true)) 9899 + if (netif_get_port_parent_id(a, &a_id, true) || 9900 + netif_get_port_parent_id(b, &b_id, true)) 9908 9901 return false; 9909 9902 9910 9903 return netdev_phys_item_id_same(&a_id, &b_id); ··· 12099 12092 netdev_lock(dev); 12100 12093 } 12101 12094 } 12102 - dev_close_many(&close_head, true); 12095 + netif_close_many(&close_head, true); 12103 12096 /* ... now unlock them and go over the rest. */ 12104 12097 list_for_each_entry(dev, head, unreg_list) { 12105 12098 if (netdev_need_ops_lock(dev)) ··· 12107 12100 else 12108 12101 list_add_tail(&dev->close_list, &close_head); 12109 12102 } 12110 - dev_close_many(&close_head, true); 12103 + netif_close_many(&close_head, true); 12111 12104 12112 12105 list_for_each_entry(dev, head, unreg_list) { 12113 12106 /* And unlink it from device chain. */
+1 -1
net/core/dev_addr_lists.c
··· 603 603 604 604 ASSERT_RTNL(); 605 605 606 - err = dev_pre_changeaddr_notify(dev, addr, NULL); 606 + err = netif_pre_changeaddr_notify(dev, addr, NULL); 607 607 if (err) 608 608 return err; 609 609 err = __hw_addr_add(&dev->dev_addrs, addr, dev->addr_len, addr_type);
+12
net/core/dev_api.c
··· 367 367 netdev_unlock_ops(dev); 368 368 } 369 369 EXPORT_SYMBOL(netdev_state_change); 370 + 371 + int dev_set_threaded(struct net_device *dev, bool threaded) 372 + { 373 + int ret; 374 + 375 + netdev_lock(dev); 376 + ret = netif_set_threaded(dev, threaded); 377 + netdev_unlock(dev); 378 + 379 + return ret; 380 + } 381 + EXPORT_SYMBOL(dev_set_threaded);
+3 -2
net/core/dev_ioctl.c
··· 147 147 148 148 switch (cmd) { 149 149 case SIOCGIFFLAGS: /* Get interface flags */ 150 - ifr->ifr_flags = (short) dev_get_flags(dev); 150 + ifr->ifr_flags = (short)netif_get_flags(dev); 151 151 return 0; 152 152 153 153 case SIOCGIFMETRIC: /* Get the metric on the interface ··· 728 728 switch (cmd) { 729 729 case SIOCGIFHWADDR: 730 730 dev_load(net, ifr->ifr_name); 731 - ret = dev_get_mac_address(&ifr->ifr_hwaddr, net, ifr->ifr_name); 731 + ret = netif_get_mac_address(&ifr->ifr_hwaddr, net, 732 + ifr->ifr_name); 732 733 if (colon) 733 734 *colon = ':'; 734 735 return ret;
+3 -3
net/core/net-sysfs.c
··· 256 256 } 257 257 static DEVICE_ATTR_RO(name_assign_type); 258 258 259 - /* use same locking rules as GIFHWADDR ioctl's (dev_get_mac_address()) */ 259 + /* use same locking rules as GIFHWADDR ioctl's (netif_get_mac_address()) */ 260 260 static ssize_t address_show(struct device *dev, struct device_attribute *attr, 261 261 char *buf) 262 262 { ··· 687 687 if (ret) 688 688 return ret; 689 689 690 - ret = dev_get_port_parent_id(netdev, &ppid, false); 690 + ret = netif_get_port_parent_id(netdev, &ppid, false); 691 691 if (!ret) 692 692 ret = sysfs_emit(buf, "%*phN\n", ppid.id_len, ppid.id); 693 693 ··· 757 757 if (val != 0 && val != 1) 758 758 return -EOPNOTSUPP; 759 759 760 - ret = dev_set_threaded(dev, val); 760 + ret = netif_set_threaded(dev, val); 761 761 762 762 return ret; 763 763 }
+3 -3
net/core/rtnetlink.c
··· 1448 1448 struct netdev_phys_item_id ppid = { }; 1449 1449 int err; 1450 1450 1451 - err = dev_get_port_parent_id(dev, &ppid, false); 1451 + err = netif_get_port_parent_id(dev, &ppid, false); 1452 1452 if (err) { 1453 1453 if (err == -EOPNOTSUPP) 1454 1454 return 0; ··· 2038 2038 ifm->__ifi_pad = 0; 2039 2039 ifm->ifi_type = READ_ONCE(dev->type); 2040 2040 ifm->ifi_index = READ_ONCE(dev->ifindex); 2041 - ifm->ifi_flags = dev_get_flags(dev); 2041 + ifm->ifi_flags = netif_get_flags(dev); 2042 2042 ifm->ifi_change = change; 2043 2043 2044 2044 if (tgt_netnsid >= 0 && nla_put_s32(skb, IFLA_TARGET_NETNSID, tgt_netnsid)) ··· 5227 5227 ifm->__ifi_pad = 0; 5228 5228 ifm->ifi_type = dev->type; 5229 5229 ifm->ifi_index = dev->ifindex; 5230 - ifm->ifi_flags = dev_get_flags(dev); 5230 + ifm->ifi_flags = netif_get_flags(dev); 5231 5231 ifm->ifi_change = 0; 5232 5232 5233 5233
+2 -1
net/dsa/dsa.c
··· 1621 1621 dsa_switch_for_each_cpu_port(dp, ds) 1622 1622 list_add(&dp->conduit->close_list, &close_list); 1623 1623 1624 - dev_close_many(&close_list, true); 1624 + netif_close_many(&close_list, true); 1625 1625 1626 1626 dsa_switch_for_each_user_port(dp, ds) { 1627 1627 conduit = dsa_port_to_conduit(dp); ··· 1829 1829 MODULE_DESCRIPTION("Driver for Distributed Switch Architecture switch chips"); 1830 1830 MODULE_LICENSE("GPL"); 1831 1831 MODULE_ALIAS("platform:dsa"); 1832 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+1 -1
net/dsa/user.c
··· 3604 3604 list_add(&dp->user->close_list, &close_list); 3605 3605 } 3606 3606 3607 - dev_close_many(&close_list, true); 3607 + netif_close_many(&close_list, true); 3608 3608 3609 3609 return NOTIFY_OK; 3610 3610 }
+1 -1
net/ipv4/fib_frontend.c
··· 1524 1524 fib_disable_ip(dev, event, false); 1525 1525 break; 1526 1526 case NETDEV_CHANGE: 1527 - flags = dev_get_flags(dev); 1527 + flags = netif_get_flags(dev); 1528 1528 if (flags & (IFF_RUNNING | IFF_LOWER_UP)) 1529 1529 fib_sync_up(dev, RTNH_F_LINKDOWN); 1530 1530 else
+1 -1
net/ipv4/fib_semantics.c
··· 2087 2087 return 0; 2088 2088 2089 2089 if (nh_flags & RTNH_F_DEAD) { 2090 - unsigned int flags = dev_get_flags(dev); 2090 + unsigned int flags = netif_get_flags(dev); 2091 2091 2092 2092 if (flags & (IFF_RUNNING | IFF_LOWER_UP)) 2093 2093 nh_flags |= RTNH_F_LINKDOWN;
+1 -1
net/ipv4/ipmr.c
··· 901 901 vifc->vifc_flags | (!mrtsock ? VIFF_STATIC : 0), 902 902 (VIFF_TUNNEL | VIFF_REGISTER)); 903 903 904 - err = dev_get_port_parent_id(dev, &ppid, true); 904 + err = netif_get_port_parent_id(dev, &ppid, true); 905 905 if (err == 0) { 906 906 memcpy(v->dev_parent_id.id, ppid.id, ppid.id_len); 907 907 v->dev_parent_id.id_len = ppid.id_len;
+1 -1
net/ipv4/nexthop.c
··· 3884 3884 nexthop_flush_dev(dev, event); 3885 3885 break; 3886 3886 case NETDEV_CHANGE: 3887 - if (!(dev_get_flags(dev) & (IFF_RUNNING | IFF_LOWER_UP))) 3887 + if (!(netif_get_flags(dev) & (IFF_RUNNING | IFF_LOWER_UP))) 3888 3888 nexthop_flush_dev(dev, event); 3889 3889 break; 3890 3890 case NETDEV_CHANGEMTU:
+1 -1
net/ipv6/addrconf.c
··· 6072 6072 hdr->ifi_type = dev->type; 6073 6073 ifindex = READ_ONCE(dev->ifindex); 6074 6074 hdr->ifi_index = ifindex; 6075 - hdr->ifi_flags = dev_get_flags(dev); 6075 + hdr->ifi_flags = netif_get_flags(dev); 6076 6076 hdr->ifi_change = 0; 6077 6077 6078 6078 iflink = dev_get_iflink(dev);
+3 -3
net/mpls/af_mpls.c
··· 706 706 } else { 707 707 unsigned int flags; 708 708 709 - flags = dev_get_flags(dev); 709 + flags = netif_get_flags(dev); 710 710 if (!(flags & (IFF_RUNNING | IFF_LOWER_UP))) 711 711 nh->nh_flags |= RTNH_F_LINKDOWN; 712 712 } ··· 1616 1616 return notifier_from_errno(err); 1617 1617 break; 1618 1618 case NETDEV_UP: 1619 - flags = dev_get_flags(dev); 1619 + flags = netif_get_flags(dev); 1620 1620 if (flags & (IFF_RUNNING | IFF_LOWER_UP)) 1621 1621 mpls_ifup(dev, RTNH_F_DEAD | RTNH_F_LINKDOWN); 1622 1622 else 1623 1623 mpls_ifup(dev, RTNH_F_DEAD); 1624 1624 break; 1625 1625 case NETDEV_CHANGE: 1626 - flags = dev_get_flags(dev); 1626 + flags = netif_get_flags(dev); 1627 1627 if (flags & (IFF_RUNNING | IFF_LOWER_UP)) { 1628 1628 mpls_ifup(dev, RTNH_F_DEAD | RTNH_F_LINKDOWN); 1629 1629 } else {
+1 -1
net/wireless/wext-core.c
··· 431 431 r->__ifi_pad = 0; 432 432 r->ifi_type = dev->type; 433 433 r->ifi_index = dev->ifindex; 434 - r->ifi_flags = dev_get_flags(dev); 434 + r->ifi_flags = netif_get_flags(dev); 435 435 r->ifi_change = 0; /* Wireless changes don't affect those flags */ 436 436 437 437 if (nla_put_string(skb, IFLA_IFNAME, dev->name))