[dpdk-dev,2/2] examples/ipsec-secgw: fix SPI byte order in flow item
Checks
Commit Message
SPI field is defined in the RFC2406 [1] as a big endian field it should be
provided in its final form to the drivers through RTE flow.
Fixes: ec17993a145a ("examples/ipsec-secgw: support security offload")
Cc: akhil.goyal@nxp.com
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
[1] https://tools.ietf.org/html/rfc2406
---
examples/ipsec-secgw/ipsec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nelio Laranjeiro
> Sent: Thursday, January 11, 2018 9:16 AM
> To: dev@dpdk.org; Olivier Matz <olivier.matz@6wind.com>
> Cc: akhil.goyal@nxp.com
> Subject: [dpdk-dev] [PATCH 2/2] examples/ipsec-secgw: fix SPI byte order in
> flow item
>
> SPI field is defined in the RFC2406 [1] as a big endian field it should be
> provided in its final form to the drivers through RTE flow.
>
> Fixes: ec17993a145a ("examples/ipsec-secgw: support security offload")
> Cc: akhil.goyal@nxp.com
Cc'ing stable ML.
>
> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Applied to dpdk-next-crypto.
Thanks,
Pablo
@@ -195,7 +195,7 @@ create_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa)
sa->pattern[2].type = RTE_FLOW_ITEM_TYPE_ESP;
sa->pattern[2].spec = &sa->esp_spec;
sa->pattern[2].mask = &rte_flow_item_esp_mask;
- sa->esp_spec.hdr.spi = sa->spi;
+ sa->esp_spec.hdr.spi = rte_cpu_to_be_32(sa->spi);
sa->pattern[3].type = RTE_FLOW_ITEM_TYPE_END;