common/sfc_efx/base: add NIC magic check on BAR lookup
[dpdk.git] / lib / librte_security / rte_security.h
index 747830d..16839e5 100644 (file)
@@ -293,6 +293,28 @@ struct rte_security_pdcp_xform {
        uint32_t hfn_ovrd;
 };
 
+/** DOCSIS direction */
+enum rte_security_docsis_direction {
+       RTE_SECURITY_DOCSIS_UPLINK,
+       /**< Uplink
+        * - Decryption, followed by CRC Verification
+        */
+       RTE_SECURITY_DOCSIS_DOWNLINK,
+       /**< Downlink
+        * - CRC Generation, followed by Encryption
+        */
+};
+
+/**
+ * DOCSIS security session configuration.
+ *
+ * This structure contains data required to create a DOCSIS security session.
+ */
+struct rte_security_docsis_xform {
+       enum rte_security_docsis_direction direction;
+       /**< DOCSIS direction */
+};
+
 /**
  * Security session action type.
  */
@@ -325,6 +347,8 @@ enum rte_security_session_protocol {
        /**< MACSec Protocol */
        RTE_SECURITY_PROTOCOL_PDCP,
        /**< PDCP Protocol */
+       RTE_SECURITY_PROTOCOL_DOCSIS,
+       /**< DOCSIS Protocol */
 };
 
 /**
@@ -340,6 +364,7 @@ struct rte_security_session_conf {
                struct rte_security_ipsec_xform ipsec;
                struct rte_security_macsec_xform macsec;
                struct rte_security_pdcp_xform pdcp;
+               struct rte_security_docsis_xform docsis;
        };
        /**< Configuration parameters for security session */
        struct rte_crypto_sym_xform *crypto_xform;
@@ -523,6 +548,10 @@ struct rte_security_pdcp_stats {
        uint64_t reserved;
 };
 
+struct rte_security_docsis_stats {
+       uint64_t reserved;
+};
+
 struct rte_security_stats {
        enum rte_security_session_protocol protocol;
        /**< Security protocol to be configured */
@@ -532,6 +561,7 @@ struct rte_security_stats {
                struct rte_security_macsec_stats macsec;
                struct rte_security_ipsec_stats ipsec;
                struct rte_security_pdcp_stats pdcp;
+               struct rte_security_docsis_stats docsis;
        };
 };
 
@@ -591,6 +621,11 @@ struct rte_security_capability {
                        /**< Capability flags, see RTE_SECURITY_PDCP_* */
                } pdcp;
                /**< PDCP capability */
+               struct {
+                       enum rte_security_docsis_direction direction;
+                       /**< DOCSIS direction */
+               } docsis;
+               /**< DOCSIS capability */
        };
 
        const struct rte_cryptodev_capabilities *crypto_capabilities;
@@ -649,6 +684,9 @@ struct rte_security_capability_idx {
                        enum rte_security_pdcp_domain domain;
                        uint32_t capa_flags;
                } pdcp;
+               struct {
+                       enum rte_security_docsis_direction direction;
+               } docsis;
        };
 };