crypto/dpaax_sec: support HFN override
[dpdk.git] / drivers / crypto / dpaa_sec / dpaa_sec.h
index 75c0960..68461ce 100644 (file)
@@ -19,6 +19,8 @@
 #define AES_CTR_IV_LEN         16
 #define AES_GCM_IV_LEN         12
 
+#define DPAA_IPv6_DEFAULT_VTC_FLOW     0x60000000
+
 /* Minimum job descriptor consists of a oneword job descriptor HEADER and
  * a pointer to the shared descriptor.
  */
@@ -101,9 +103,12 @@ struct sec_pdcp_ctxt {
        int8_t bearer;  /*!< PDCP bearer ID */
        int8_t pkt_dir;/*!< PDCP Frame Direction 0:UL 1:DL*/
        int8_t hfn_ovd;/*!< Overwrite HFN per packet*/
+       uint8_t sn_size;        /*!< Sequence number size, 5/7/12/15/18 */
+       uint32_t hfn_ovd_offset;/*!< offset from rte_crypto_op at which
+                                * per packet hfn is stored
+                                */
        uint32_t hfn;   /*!< Hyper Frame Number */
        uint32_t hfn_threshold; /*!< HFN Threashold for key renegotiation */
-       uint8_t sn_size;        /*!< Sequence number size, 7/12/15 */
 };
 
 typedef struct dpaa_sec_session_entry {
@@ -139,7 +144,10 @@ typedef struct dpaa_sec_session_entry {
                        uint32_t digest_length;
                        struct ipsec_decap_pdb decap_pdb;
                        struct ipsec_encap_pdb encap_pdb;
-                       struct ip ip4_hdr;
+                       union {
+                               struct ip ip4_hdr;
+                               struct rte_ipv6_hdr ip6_hdr;
+                       };
                };
                struct sec_pdcp_ctxt pdcp;
        };