Re: [dpdk-dev] [EXT] [PATCH v4 02/10] security: add UDP params for IPsec NAT-T
From: Hemant Agrawal <hidden>
Date: 2021-09-24 09:11:55
On 9/6/2021 4:39 PM, Nicolau, Radu wrote:
On 9/5/2021 3:19 PM, Akhil Goyal wrote:quoted
Hi Radu,quoted
Add support for specifying UDP port params for UDP encapsulation option. Signed-off-by: Declan Doherty <redacted> Signed-off-by: Radu Nicolau <redacted> Signed-off-by: Abhijit Sinha <redacted> Signed-off-by: Daniel Martin Buckley <redacted>Do we really need to specify the port numbers for NAT-T? I suppose they are fixed as 4500. Could you please specify what the user need to set here for session creation?From what I'm seeing here https://datatracker.ietf.org/doc/html/rfc3948#section-2.1 there is no requirement in general for UDP encapsulation so I think it's better to make the API flexible as to allow any port to be used.
This section states that : o the Source Port and Destination Port MUST be the same as that used by IKE traffic, IKE usages port 4500 am I missing something?
quoted
quoted
--- lib/security/rte_security.h | 8 ++++++++ 1 file changed, 8 insertions(+)diff --git a/lib/security/rte_security.h b/lib/security/rte_security.h index 45896a77d0..03572b10ab 100644 --- a/lib/security/rte_security.h +++ b/lib/security/rte_security.h@@ -112,6 +112,12 @@ struct rte_security_ipsec_tunnel_param {}; }; +struct rte_security_ipsec_udp_param { + + uint16_t sport; + uint16_t dport; +}; + /** * IPsec Security Association option flags */@@ -224,6 +230,8 @@ struct rte_security_ipsec_xform {/**< IPsec SA Mode - transport/tunnel */ struct rte_security_ipsec_tunnel_param tunnel; /**< Tunnel parameters, NULL for transport mode */ + struct rte_security_ipsec_udp_param udp; + /**< UDP parameters, ignored when udp_encap option not specified */ uint64_t esn_soft_limit; /**< ESN for which the overflow event need to be raised */ uint32_t replay_win_sz; -- 2.25.1