net: introduce the MACSEC netdev feature
authorAntoine Tenart <antoine.tenart@bootlin.com>
Wed, 25 Mar 2020 12:52:30 +0000 (15:52 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Mar 2020 03:17:36 +0000 (20:17 -0700)
This patch introduce a new netdev feature, which will be used by drivers
to state they can perform MACsec transformations in hardware.

The patchset was gathered by Mark, macsec functinality itself
was implemented by Dmitry, Mark and Pavel Belous.

Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: Mark Starovoytov <mstarovoitov@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdev_features.h
net/ethtool/common.c

index 34d050b..9d53c5a 100644 (file)
@@ -83,6 +83,8 @@ enum {
        NETIF_F_HW_TLS_RECORD_BIT,      /* Offload TLS record */
        NETIF_F_GRO_FRAGLIST_BIT,       /* Fraglist GRO */
 
+       NETIF_F_HW_MACSEC_BIT,          /* Offload MACsec operations */
+
        /*
         * Add your fresh new feature above and remember to update
         * netdev_features_strings[] in net/core/ethtool.c and maybe
@@ -154,6 +156,7 @@ enum {
 #define NETIF_F_HW_TLS_RX      __NETIF_F(HW_TLS_RX)
 #define NETIF_F_GRO_FRAGLIST   __NETIF_F(GRO_FRAGLIST)
 #define NETIF_F_GSO_FRAGLIST   __NETIF_F(GSO_FRAGLIST)
+#define NETIF_F_HW_MACSEC      __NETIF_F(HW_MACSEC)
 
 /* Finds the next feature with the highest number of the range of start till 0.
  */
index dab047e..51a0941 100644 (file)
@@ -60,6 +60,7 @@ const char netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN] = {
        [NETIF_F_HW_TLS_TX_BIT] =        "tls-hw-tx-offload",
        [NETIF_F_HW_TLS_RX_BIT] =        "tls-hw-rx-offload",
        [NETIF_F_GRO_FRAGLIST_BIT] =     "rx-gro-list",
+       [NETIF_F_HW_MACSEC_BIT] =        "macsec-hw-offload",
 };
 
 const char