diff options
| author | Jani Nikula <jani.nikula@intel.com> | 2025-06-09 12:40:46 +0300 | 
|---|---|---|
| committer | Jani Nikula <jani.nikula@intel.com> | 2025-06-09 12:40:46 +0300 | 
| commit | 34c55367af96f62e89221444f04487440ebc6487 (patch) | |
| tree | fdb36ba67d7dea09455b55037e26043b7e051ef9 /net/core/dev_api.c | |
| parent | 7247efca0dcbc8ac6147db9200ed1549c0662465 (diff) | |
| parent | 19272b37aa4f83ca52bdf9c16d5d81bdd1354494 (diff) | |
| download | linux-34c55367af96f62e89221444f04487440ebc6487.tar.xz | |
Merge drm/drm-next into drm-intel-next
Sync to v6.16-rc1, among other things to get the fixed size GENMASK_U*()
and BIT_U*() macros.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'net/core/dev_api.c')
| -rw-r--r-- | net/core/dev_api.c | 34 | 
1 files changed, 29 insertions, 5 deletions
diff --git a/net/core/dev_api.c b/net/core/dev_api.c index 90898cd540ce..1bf0153195f2 100644 --- a/net/core/dev_api.c +++ b/net/core/dev_api.c @@ -84,14 +84,15 @@ void dev_set_group(struct net_device *dev, int new_group)  	netdev_unlock_ops(dev);  } -int dev_set_mac_address_user(struct net_device *dev, struct sockaddr *sa, +int dev_set_mac_address_user(struct net_device *dev, +			     struct sockaddr_storage *ss,  			     struct netlink_ext_ack *extack)  {  	int ret;  	down_write(&dev_addr_sem);  	netdev_lock_ops(dev); -	ret = netif_set_mac_address(dev, sa, extack); +	ret = netif_set_mac_address(dev, ss, extack);  	netdev_unlock_ops(dev);  	up_write(&dev_addr_sem); @@ -268,6 +269,29 @@ void dev_disable_lro(struct net_device *dev)  EXPORT_SYMBOL(dev_disable_lro);  /** + * dev_set_promiscuity() - update promiscuity count on a device + * @dev: device + * @inc: modifier + * + * Add or remove promiscuity from a device. While the count in the device + * remains above zero the interface remains promiscuous. Once it hits zero + * the device reverts back to normal filtering operation. A negative inc + * value is used to drop promiscuity on the device. + * Return 0 if successful or a negative errno code on error. + */ +int dev_set_promiscuity(struct net_device *dev, int inc) +{ +	int ret; + +	netdev_lock_ops(dev); +	ret = netif_set_promiscuity(dev, inc); +	netdev_unlock_ops(dev); + +	return ret; +} +EXPORT_SYMBOL(dev_set_promiscuity); + +/**   * dev_set_allmulti() - update allmulti count on a device   * @dev: device   * @inc: modifier @@ -296,20 +320,20 @@ EXPORT_SYMBOL(dev_set_allmulti);  /**   * dev_set_mac_address() - change Media Access Control Address   * @dev: device - * @sa: new address + * @ss: new address   * @extack: netlink extended ack   *   * Change the hardware (MAC) address of the device   *   * Return: 0 on success, -errno on failure.   */ -int dev_set_mac_address(struct net_device *dev, struct sockaddr *sa, +int dev_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss,  			struct netlink_ext_ack *extack)  {  	int ret;  	netdev_lock_ops(dev); -	ret = netif_set_mac_address(dev, sa, extack); +	ret = netif_set_mac_address(dev, ss, extack);  	netdev_unlock_ops(dev);  	return ret;  | 
