[dpdk-dev] [PATCH v3 3/3] examples/ipsec-secgw: support IPv6 tunnel for lookaside proto
Akhil Goyal
akhil.goyal at nxp.com
Thu Sep 19 17:17:55 CEST 2019
Hi Konstantin,
Could you please review this patch.
Thanks,
Akhil
>
> IPv6 tunnels are already supported in case of inline and
> lookaside none cases. In case of protocol offload, the details
> for IPv6 header need to be added in session configuration
> for security session create.
>
> Signed-off-by: Akhil Goyal <akhil.goyal at nxp.com>
> ---
> examples/ipsec-secgw/ipsec.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/examples/ipsec-secgw/ipsec.c b/examples/ipsec-secgw/ipsec.c
> index dc85adfe5..317faed7a 100644
> --- a/examples/ipsec-secgw/ipsec.c
> +++ b/examples/ipsec-secgw/ipsec.c
> @@ -33,8 +33,20 @@ set_ipsec_conf(struct ipsec_sa *sa, struct
> rte_security_ipsec_xform *ipsec)
>
> memcpy((uint8_t *)&tunnel->ipv4.dst_ip,
> (uint8_t *)&sa->dst.ip.ip4, 4);
> + } else if (IS_IP6_TUNNEL(sa->flags)) {
> + tunnel->type =
> + RTE_SECURITY_IPSEC_TUNNEL_IPV6;
> + tunnel->ipv6.hlimit = IPDEFTTL;
> + tunnel->ipv6.dscp = 0;
> + tunnel->ipv6.flabel = 0;
> +
> + memcpy((uint8_t *)&tunnel->ipv6.src_addr,
> + (uint8_t *)&sa->src.ip.ip6.ip6_b, 16);
> +
> + memcpy((uint8_t *)&tunnel->ipv6.dst_addr,
> + (uint8_t *)&sa->dst.ip.ip6.ip6_b, 16);
> }
> - /* TODO support for Transport and IPV6 tunnel */
> + /* TODO support for Transport */
> }
> ipsec->esn_soft_limit = IPSEC_OFFLOAD_ESN_SOFTLIMIT;
> }
> --
> 2.17.1
More information about the dev
mailing list