OSDN Git Service

ixgbe: prep IPsec constants for later use
authorShannon Nelson <shannon.nelson@oracle.com>
Mon, 13 Aug 2018 18:43:39 +0000 (11:43 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 28 Aug 2018 21:32:58 +0000 (14:32 -0700)
Pull out a couple of values from a function so they can be used
later elsewhere.

Signed-off-by: Shannon Nelson <shannon.nelson@oracle.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c

index 4340651..3afb1fe 100644 (file)
@@ -5,6 +5,9 @@
 #include <net/xfrm.h>
 #include <crypto/aead.h>
 
+#define IXGBE_IPSEC_KEY_BITS  160
+static const char aes_gcm_name[] = "rfc4106(gcm(aes))";
+
 /**
  * ixgbe_ipsec_set_tx_sa - set the Tx SA registers
  * @hw: hw specific details
@@ -407,7 +410,6 @@ static int ixgbe_ipsec_parse_proto_keys(struct xfrm_state *xs,
        struct net_device *dev = xs->xso.dev;
        unsigned char *key_data;
        char *alg_name = NULL;
-       const char aes_gcm_name[] = "rfc4106(gcm(aes))";
        int key_len;
 
        if (!xs->aead) {
@@ -435,9 +437,9 @@ static int ixgbe_ipsec_parse_proto_keys(struct xfrm_state *xs,
         * we don't need to do any byteswapping.
         * 160 accounts for 16 byte key and 4 byte salt
         */
-       if (key_len == 160) {
+       if (key_len == IXGBE_IPSEC_KEY_BITS) {
                *mysalt = ((u32 *)key_data)[4];
-       } else if (key_len != 128) {
+       } else if (key_len != (IXGBE_IPSEC_KEY_BITS - (sizeof(*mysalt) * 8))) {
                netdev_err(dev, "IPsec hw offload only supports keys up to 128 bits with a 32 bit salt\n");
                return -EINVAL;
        } else {