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

net: Add TLS RX offload feature

This patch adds a netdev feature to configure TLS RX inline crypto offload.

Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com>
Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Ilya Lesokhin and committed by
David S. Miller
14136564 784abe24

+3
+2
include/linux/netdev_features.h
··· 79 79 NETIF_F_HW_ESP_TX_CSUM_BIT, /* ESP with TX checksum offload */ 80 80 NETIF_F_RX_UDP_TUNNEL_PORT_BIT, /* Offload of RX port for UDP tunnels */ 81 81 NETIF_F_HW_TLS_TX_BIT, /* Hardware TLS TX offload */ 82 + NETIF_F_HW_TLS_RX_BIT, /* Hardware TLS RX offload */ 82 83 83 84 NETIF_F_GRO_HW_BIT, /* Hardware Generic receive offload */ 84 85 NETIF_F_HW_TLS_RECORD_BIT, /* Offload TLS record */ ··· 152 151 #define NETIF_F_HW_TLS_RECORD __NETIF_F(HW_TLS_RECORD) 153 152 #define NETIF_F_GSO_UDP_L4 __NETIF_F(GSO_UDP_L4) 154 153 #define NETIF_F_HW_TLS_TX __NETIF_F(HW_TLS_TX) 154 + #define NETIF_F_HW_TLS_RX __NETIF_F(HW_TLS_RX) 155 155 156 156 #define for_each_netdev_feature(mask_addr, bit) \ 157 157 for_each_set_bit(bit, (unsigned long *)mask_addr, NETDEV_FEATURE_COUNT)
+1
net/core/ethtool.c
··· 111 111 [NETIF_F_RX_UDP_TUNNEL_PORT_BIT] = "rx-udp_tunnel-port-offload", 112 112 [NETIF_F_HW_TLS_RECORD_BIT] = "tls-hw-record", 113 113 [NETIF_F_HW_TLS_TX_BIT] = "tls-hw-tx-offload", 114 + [NETIF_F_HW_TLS_RX_BIT] = "tls-hw-rx-offload", 114 115 }; 115 116 116 117 static const char