]> git.droids-corp.org - dpdk.git/commitdiff
security: add IPsec option for IP reassembly
authorAkhil Goyal <gakhil@marvell.com>
Tue, 8 Feb 2022 22:20:27 +0000 (03:50 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 10 Feb 2022 10:23:17 +0000 (11:23 +0100)
A new option is added in IPsec to enable and attempt reassembly
of inbound IP packets.

Signed-off-by: Akhil Goyal <gakhil@marvell.com>
devtools/libabigail.abignore
lib/security/rte_security.h

index 4b676f317df7b624a595a48e894ca0b8fa95cc3b..5be41b88055a26cd03da703d85997d2aca008eac 100644 (file)
@@ -11,3 +11,8 @@
 ; Ignore generated PMD information strings
 [suppress_variable]
         name_regexp = _pmd_info$
+
+; Ignore fields inserted in place of reserved_opts of rte_security_ipsec_sa_options
+[suppress_type]
+       name = rte_security_ipsec_sa_options
+       has_data_member_inserted_between = {offset_of(reserved_opts), end}
index 1228b6c8b16d3433cc1beab4d60cf491e344e1fb..b080d10c2c8b8ddcd0fb5e72350fb20a57861c67 100644 (file)
@@ -264,6 +264,19 @@ struct rte_security_ipsec_sa_options {
         */
        uint32_t l4_csum_enable : 1;
 
+       /** Enable IP reassembly on inline inbound packets.
+        *
+        * * 1: Enable driver to try reassembly of encrypted IP packets for
+        *      this SA, if supported by the driver. This feature will work
+        *      only if user has successfully set IP reassembly config params
+        *      using rte_eth_ip_reassembly_conf_set() for the inline Ethernet
+        *      device. PMD need to register mbuf dynamic fields using
+        *      rte_eth_ip_reassembly_dynfield_register() and security session
+        *      creation would fail if dynfield is not registered successfully.
+        * * 0: Disable IP reassembly of packets (default).
+        */
+       uint32_t ip_reassembly_en : 1;
+
        /** Reserved bit fields for future extension
         *
         * User should ensure reserved_opts is cleared as it may change in
@@ -271,7 +284,7 @@ struct rte_security_ipsec_sa_options {
         *
         * Note: Reduce number of bits in reserved_opts for every new option.
         */
-       uint32_t reserved_opts : 18;
+       uint32_t reserved_opts : 17;
 };
 
 /** IPSec security association direction */