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 34d050bb1ae6f33f77d9e58c80c480bc6460e02b..9d53c5ad272c22d53fd904024b6f05e3576742bf 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 dab047eec94322337298e8b524228ab26ef0ed90..51a0941fc62f1fe730e84657ed7b3fcdefdff4d2 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