diff options
Diffstat (limited to 'include/linux/netdevice.h')
| -rw-r--r-- | include/linux/netdevice.h | 39 | 
1 files changed, 14 insertions, 25 deletions
| diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index c2f0c6002a84..b828c7a75be2 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -3124,6 +3124,10 @@ struct net_device *netdev_sk_get_lowest_dev(struct net_device *dev,  					    struct sock *sk);  struct net_device *dev_get_by_index(struct net *net, int ifindex);  struct net_device *__dev_get_by_index(struct net *net, int ifindex); +struct net_device *netdev_get_by_index(struct net *net, int ifindex, +				       netdevice_tracker *tracker, gfp_t gfp); +struct net_device *netdev_get_by_name(struct net *net, const char *name, +				      netdevice_tracker *tracker, gfp_t gfp);  struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex);  struct net_device *dev_get_by_napi_id(unsigned int napi_id);  int dev_restart(struct net_device *dev); @@ -4827,13 +4831,6 @@ int skb_crc32c_csum_help(struct sk_buff *skb);  int skb_csum_hwoffload_help(struct sk_buff *skb,  			    const netdev_features_t features); -struct sk_buff *__skb_gso_segment(struct sk_buff *skb, -				  netdev_features_t features, bool tx_path); -struct sk_buff *skb_eth_gso_segment(struct sk_buff *skb, -				    netdev_features_t features, __be16 type); -struct sk_buff *skb_mac_gso_segment(struct sk_buff *skb, -				    netdev_features_t features); -  struct netdev_bonding_info {  	ifslave	slave;  	ifbond	master; @@ -4856,11 +4853,6 @@ static inline void ethtool_notify(struct net_device *dev, unsigned int cmd,  }  #endif -static inline -struct sk_buff *skb_gso_segment(struct sk_buff *skb, netdev_features_t features) -{ -	return __skb_gso_segment(skb, features, true); -}  __be16 skb_network_protocol(struct sk_buff *skb, int *depth);  static inline bool can_checksum_protocol(netdev_features_t features, @@ -4987,6 +4979,7 @@ netdev_features_t passthru_features_check(struct sk_buff *skb,  					  struct net_device *dev,  					  netdev_features_t features);  netdev_features_t netif_skb_features(struct sk_buff *skb); +void skb_warn_bad_offload(const struct sk_buff *skb);  static inline bool net_gso_ok(netdev_features_t features, int gso_type)  { @@ -5035,19 +5028,6 @@ void netif_set_tso_max_segs(struct net_device *dev, unsigned int segs);  void netif_inherit_tso_max(struct net_device *to,  			   const struct net_device *from); -static inline void skb_gso_error_unwind(struct sk_buff *skb, __be16 protocol, -					int pulled_hlen, u16 mac_offset, -					int mac_len) -{ -	skb->protocol = protocol; -	skb->encapsulation = 1; -	skb_push(skb, pulled_hlen); -	skb_reset_transport_header(skb); -	skb->mac_header = mac_offset; -	skb->network_header = skb->mac_header + mac_len; -	skb->mac_len = mac_len; -} -  static inline bool netif_is_macsec(const struct net_device *dev)  {  	return dev->priv_flags & IFF_MACSEC; @@ -5093,6 +5073,15 @@ static inline bool netif_is_l3_slave(const struct net_device *dev)  	return dev->priv_flags & IFF_L3MDEV_SLAVE;  } +static inline int dev_sdif(const struct net_device *dev) +{ +#ifdef CONFIG_NET_L3_MASTER_DEV +	if (netif_is_l3_slave(dev)) +		return dev->ifindex; +#endif +	return 0; +} +  static inline bool netif_is_bridge_master(const struct net_device *dev)  {  	return dev->priv_flags & IFF_EBRIDGE; |