ipsec: use boolean or vs. bitwise or to avoid compiler error 70/8870/2
authorAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 18 Oct 2017 10:21:34 +0000 (12:21 +0200)
committerDave Barach <openvpp@barachs.net>
Wed, 18 Oct 2017 12:55:00 +0000 (12:55 +0000)
Ubuntu 17.04, gcc version 6.3.0 20170406 (Ubuntu 6.3.0-12ubuntu2),
"make build" fails with the few of the errors below:

error: suggest parentheses around comparison in operand of ‘|’
[-Werror=parentheses]
        is_aead = (sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_128 |

Solution: use the logical rather than the bitwise or.

Change-Id: Iffcc1ed2e68b14b248159cb117593d32c623c553
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
src/plugins/dpdk/ipsec/esp_decrypt.c
src/plugins/dpdk/ipsec/ipsec.c

index 9405f18..6de1f00 100644 (file)
@@ -171,8 +171,8 @@ dpdk_esp_decrypt_node_fn (vlib_main_t * vm,
              auth_alg = vec_elt_at_index (dcm->auth_algs, sa0->integ_alg);
 
 #if DPDK_NO_AEAD
-             is_aead = (sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_128 |
-                           sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_192 |
+             is_aead = (sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_128 ||
+                           sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_192 ||
                            sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_256);
 #else
              is_aead = (cipher_alg->type == RTE_CRYPTO_SYM_XFORM_AEAD);
@@ -470,8 +470,8 @@ dpdk_esp_decrypt_post_node_fn (vlib_main_t * vm,
          cipher_alg = vec_elt_at_index (dcm->cipher_algs, sa0->crypto_alg);
          auth_alg = vec_elt_at_index (dcm->auth_algs, sa0->integ_alg);
 #if DPDK_NO_AEAD
-         is_aead = (sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_128 |
-                       sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_192 |
+         is_aead = (sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_128 ||
+                       sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_192 ||
                        sa0->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_256);
 #else
          is_aead = cipher_alg->type == RTE_CRYPTO_SYM_XFORM_AEAD;
index 2fd331c..4bae8c1 100644 (file)
@@ -317,8 +317,8 @@ crypto_set_auth_xform (struct rte_crypto_sym_xform *xform,
   xform->auth.key.length = a->key_len;
   xform->auth.digest_length = a->trunc_size;
 #if DPDK_NO_AEAD
-  if (sa->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_128 |
-      sa->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_192 |
+  if (sa->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_128 ||
+      sa->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_192 ||
       sa->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_256)
     xform->auth.algo = RTE_CRYPTO_AUTH_AES_GCM;
   xform->auth.add_auth_data_length = sa->use_esn ? 12 : 8;