ipsec: fix transport mode for IPv6 with extensions
authorMarcin Smoczynski <marcinx.smoczynski@intel.com>
Mon, 24 Jun 2019 13:39:58 +0000 (15:39 +0200)
committerAkhil Goyal <akhil.goyal@nxp.com>
Fri, 5 Jul 2019 13:28:14 +0000 (15:28 +0200)
commit2c1887fad07538ec05e557c21a2d9f6468e21c37
treef095e30a3ee02bca5e3478c11cff608b3444c378
parent1f79768ca68b0edf79d092f9590fec86bb9ad315
ipsec: fix transport mode for IPv6 with extensions

Reconstructing IPv6 header after encryption or decryption requires
updating 'next header' value in the preceding protocol header, which
is determined by parsing IPv6 header and iteratively looking for
next IPv6 header extension.

It is required that 'l3_len' in the mbuf metadata contains a total
length of the IPv6 header with header extensions up to ESP header.

Fixes: 4d7ea3e1459b ("ipsec: implement SA data-path API")
Cc: stable@dpdk.org
Signed-off-by: Marcin Smoczynski <marcinx.smoczynski@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
lib/Makefile
lib/librte_ipsec/iph.h
lib/meson.build