X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk%2Fipsec%2Fesp_encrypt.c;h=984bb64d1ef6a669106e528a86137d76afe048d8;hb=751bb131e;hp=f815e4158bbc6836e25832f7a5bb137bd3779359;hpb=4ec36c5535849a4e456ed99b57968d54d5e03b62;p=vpp.git diff --git a/src/plugins/dpdk/ipsec/esp_encrypt.c b/src/plugins/dpdk/ipsec/esp_encrypt.c index f815e4158bb..984bb64d1ef 100644 --- a/src/plugins/dpdk/ipsec/esp_encrypt.c +++ b/src/plugins/dpdk/ipsec/esp_encrypt.c @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include #include @@ -45,8 +45,8 @@ typedef enum #define foreach_esp_encrypt_error \ _(RX_PKTS, "ESP pkts received") \ _(SEQ_CYCLED, "Sequence number cycled") \ - _(ENQ_FAIL, "Enqueue failed to crypto device") \ - _(DISCARD, "Not enough crypto operations, discarding frame") \ + _(ENQ_FAIL, "Enqueue encrypt failed (queue full)") \ + _(DISCARD, "Not enough crypto operations") \ _(SESSION, "Failed to get crypto session") \ _(NOSUP, "Cipher/Auth not supported") @@ -141,11 +141,12 @@ dpdk_esp_encrypt_inline (vlib_main_t * vm, { if (is_ip6) vlib_node_increment_counter (vm, dpdk_esp6_encrypt_node.index, - ESP_ENCRYPT_ERROR_DISCARD, 1); + ESP_ENCRYPT_ERROR_DISCARD, n_left_from); else vlib_node_increment_counter (vm, dpdk_esp4_encrypt_node.index, - ESP_ENCRYPT_ERROR_DISCARD, 1); + ESP_ENCRYPT_ERROR_DISCARD, n_left_from); /* Discard whole frame */ + vlib_buffer_free (vm, from, n_left_from); return n_left_from; } @@ -243,8 +244,6 @@ dpdk_esp_encrypt_inline (vlib_main_t * vm, if (PREDICT_FALSE (res_idx == (u16) ~ 0)) { - clib_warning ("unsupported SA by thread index %u", - thread_idx); if (is_ip6) vlib_node_increment_counter (vm, dpdk_esp6_encrypt_node.index, @@ -263,7 +262,6 @@ dpdk_esp_encrypt_inline (vlib_main_t * vm, error = crypto_get_session (&session, sa_index0, res, cwm, 1); if (PREDICT_FALSE (error || !session)) { - clib_warning ("failed to get crypto session"); if (is_ip6) vlib_node_increment_counter (vm, dpdk_esp6_encrypt_node.index, @@ -285,9 +283,6 @@ dpdk_esp_encrypt_inline (vlib_main_t * vm, if (PREDICT_FALSE (esp_seq_advance (sa0))) { - clib_warning - ("sequence number counter has cycled SPI %u (0x%08x)", - sa0->spi, sa0->spi); if (is_ip6) vlib_node_increment_counter (vm, dpdk_esp6_encrypt_node.index, @@ -519,8 +514,7 @@ dpdk_esp_encrypt_inline (vlib_main_t * vm, u32 *aad = NULL; u8 *digest = vlib_buffer_get_tail (b0) - trunc_size; - u64 digest_paddr = - mb0->buf_physaddr + digest - ((u8 *) mb0->buf_addr); + u64 digest_paddr = mb0->buf_iova + digest - ((u8 *) mb0->buf_addr); if (!is_aead && (cipher_alg->alg == RTE_CRYPTO_CIPHER_AES_CBC || cipher_alg->alg == RTE_CRYPTO_CIPHER_NULL))