* security: The IPsec SA config options ``struct rte_security_ipsec_sa_options``
will be updated with new fields to support new features like IPsec inner
- checksum, tunnel header verification, TSO in case of protocol offload.
+ checksum, TSO in case of protocol offload.
* ipsec: The structure ``rte_ipsec_sa_prm`` will be extended with a new field
``hdr_l3_len`` to configure tunnel L3 header length.
``rte_security_ipsec_sa_options`` to disable IV generation inside PMD,
so that application can provide its own IV and test known test vectors.
+* security: A new option ``tunnel_hdr_verify`` was added in structure
+ ``rte_security_ipsec_sa_options`` to indicate whether outer header
+ verification need to be done as part of inbound IPsec processing.
+
* security: A new structure ``rte_security_ipsec_lifetime`` was added to
replace ``esn_soft_limit`` in IPsec configuration structure
``rte_security_ipsec_xform`` to allow applications to configure SA soft
/**< Outer header is IPv6 */
};
+/**
+ * IPSEC tunnel header verification mode
+ *
+ * Controls how outer IP header is verified in inbound.
+ */
+#define RTE_SECURITY_IPSEC_TUNNEL_VERIFY_DST_ADDR 0x1
+#define RTE_SECURITY_IPSEC_TUNNEL_VERIFY_SRC_DST_ADDR 0x2
+
/**
* Security context for crypto/eth devices
*
* by the PMD.
*/
uint32_t iv_gen_disable : 1;
+
+ /** Verify tunnel header in inbound
+ * * ``RTE_SECURITY_IPSEC_TUNNEL_VERIFY_DST_ADDR``: Verify destination
+ * IP address.
+ *
+ * * ``RTE_SECURITY_IPSEC_TUNNEL_VERIFY_SRC_DST_ADDR``: Verify both
+ * source and destination IP addresses.
+ */
+ uint32_t tunnel_hdr_verify : 2;
};
/** IPSec security association direction */