mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-18 11:54:37 +08:00
net: add new netdevice feature for offload of RX port for UDP tunnels
This adds a new netdevice feature, so that the offloading of RX port for UDP tunnels can be disabled by the administrator on some netdevices, using the "rx-udp_tunnel-port-offload" feature in ethtool. This feature is set for all devices that provide ndo_udp_tunnel_add. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5b861f6baa
commit
d764a122cc
@ -75,6 +75,7 @@ enum {
|
||||
NETIF_F_HW_TC_BIT, /* Offload TC infrastructure */
|
||||
NETIF_F_HW_ESP_BIT, /* Hardware ESP transformation offload */
|
||||
NETIF_F_HW_ESP_TX_CSUM_BIT, /* ESP with TX checksum offload */
|
||||
NETIF_F_RX_UDP_TUNNEL_PORT_BIT, /* Offload of RX port for UDP tunnels */
|
||||
|
||||
/*
|
||||
* Add your fresh new feature above and remember to update
|
||||
@ -138,6 +139,7 @@ enum {
|
||||
#define NETIF_F_HW_TC __NETIF_F(HW_TC)
|
||||
#define NETIF_F_HW_ESP __NETIF_F(HW_ESP)
|
||||
#define NETIF_F_HW_ESP_TX_CSUM __NETIF_F(HW_ESP_TX_CSUM)
|
||||
#define NETIF_F_RX_UDP_TUNNEL_PORT __NETIF_F(RX_UDP_TUNNEL_PORT)
|
||||
|
||||
#define for_each_netdev_feature(mask_addr, bit) \
|
||||
for_each_set_bit(bit, (unsigned long *)mask_addr, NETDEV_FEATURE_COUNT)
|
||||
|
@ -7530,6 +7530,12 @@ int register_netdevice(struct net_device *dev)
|
||||
*/
|
||||
dev->hw_features |= NETIF_F_SOFT_FEATURES;
|
||||
dev->features |= NETIF_F_SOFT_FEATURES;
|
||||
|
||||
if (dev->netdev_ops->ndo_udp_tunnel_add) {
|
||||
dev->features |= NETIF_F_RX_UDP_TUNNEL_PORT;
|
||||
dev->hw_features |= NETIF_F_RX_UDP_TUNNEL_PORT;
|
||||
}
|
||||
|
||||
dev->wanted_features = dev->features & dev->hw_features;
|
||||
|
||||
if (!(dev->flags & IFF_LOOPBACK))
|
||||
|
@ -105,6 +105,7 @@ static const char netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN]
|
||||
[NETIF_F_HW_TC_BIT] = "hw-tc-offload",
|
||||
[NETIF_F_HW_ESP_BIT] = "esp-hw-offload",
|
||||
[NETIF_F_HW_ESP_TX_CSUM_BIT] = "esp-tx-csum-hw-offload",
|
||||
[NETIF_F_RX_UDP_TUNNEL_PORT_BIT] = "rx-udp_tunnel-port-offload",
|
||||
};
|
||||
|
||||
static const char
|
||||
|
Loading…
Reference in New Issue
Block a user