dpdk: fix udp-encap for esp in transport mode
[vpp.git] / src / plugins / dpdk / ipsec / esp_encrypt.c
index c024f97..73f2081 100644 (file)
@@ -428,6 +428,7 @@ dpdk_esp_encrypt_inline (vlib_main_t * vm,
              u8 *src = ((u8 *) ih0) - rewrite_len;
              u8 *dst = vlib_buffer_get_current (b0);
              oh0 = vlib_buffer_get_current (b0) + rewrite_len;
+             ouh0 = vlib_buffer_get_current (b0) + rewrite_len;
 
              if (is_ip6)
                {
@@ -577,7 +578,7 @@ dpdk_esp_encrypt_inline (vlib_main_t * vm,
              tr->crypto_alg = sa0->crypto_alg;
              tr->integ_alg = sa0->integ_alg;
              u8 *p = vlib_buffer_get_current (b0);
-             if (!ipsec_sa_is_set_IS_TUNNEL (sa0))
+             if (!ipsec_sa_is_set_IS_TUNNEL (sa0) && !is_tun)
                p += vnet_buffer (b0)->ip.save_rewrite_length;
              clib_memcpy_fast (tr->packet_data, p, sizeof (tr->packet_data));
            }