diff options
Diffstat (limited to 'net/core/dev.h')
| -rw-r--r-- | net/core/dev.h | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/net/core/dev.h b/net/core/dev.h index 814ed5b7b960..e075e198092c 100644 --- a/net/core/dev.h +++ b/net/core/dev.h @@ -9,6 +9,7 @@ struct net_device;  struct netdev_bpf;  struct netdev_phys_item_id;  struct netlink_ext_ack; +struct cpumask;  /* Random bits of netdevice that don't need to be exposed */  #define FLOW_LIMIT_HISTORY	(1 << 7)  /* must be ^2 and !overflow buckets */ @@ -100,6 +101,8 @@ static inline void netif_set_gso_max_size(struct net_device *dev,  {  	/* dev->gso_max_size is read locklessly from sk_setup_caps() */  	WRITE_ONCE(dev->gso_max_size, size); +	if (size <= GSO_LEGACY_MAX_SIZE) +		WRITE_ONCE(dev->gso_ipv4_max_size, size);  }  static inline void netif_set_gso_max_segs(struct net_device *dev, @@ -114,6 +117,23 @@ static inline void netif_set_gro_max_size(struct net_device *dev,  {  	/* This pairs with the READ_ONCE() in skb_gro_receive() */  	WRITE_ONCE(dev->gro_max_size, size); +	if (size <= GRO_LEGACY_MAX_SIZE) +		WRITE_ONCE(dev->gro_ipv4_max_size, size);  } +static inline void netif_set_gso_ipv4_max_size(struct net_device *dev, +					       unsigned int size) +{ +	/* dev->gso_ipv4_max_size is read locklessly from sk_setup_caps() */ +	WRITE_ONCE(dev->gso_ipv4_max_size, size); +} + +static inline void netif_set_gro_ipv4_max_size(struct net_device *dev, +					       unsigned int size) +{ +	/* This pairs with the READ_ONCE() in skb_gro_receive() */ +	WRITE_ONCE(dev->gro_ipv4_max_size, size); +} + +int rps_cpumask_housekeeping(struct cpumask *mask);  #endif  |