replace alignment attributes
[dpdk.git] / drivers / net / octeontx2 / otx2_ethdev_sec.h
index 87342ef..e24358a 100644 (file)
 #include "otx2_ipsec_fp.h"
 
 #define OTX2_CPT_RES_ALIGN             16
+#define OTX2_NIX_SEND_DESC_ALIGN       16
+#define OTX2_CPT_INST_SIZE             64
 
 #define OTX2_CPT_EGRP_INLINE_IPSEC     1
 
+#define OTX2_CPT_OP_INLINE_IPSEC_OUTB          (0x40 | 0x25)
+#define OTX2_CPT_OP_INLINE_IPSEC_INB           (0x40 | 0x26)
 #define OTX2_CPT_OP_WRITE_HMAC_IPAD_OPAD       (0x40 | 0x27)
 
 #define OTX2_SEC_CPT_COMP_GOOD 0x1
@@ -93,6 +97,21 @@ struct otx2_sec_session_ipsec_ip {
        /* CPT LF enqueue register address */
        rte_iova_t cpt_nq_reg;
 
+       /* Pre calculated lengths and data for a session */
+       uint8_t partial_len;
+       uint8_t roundup_len;
+       uint8_t roundup_byte;
+       uint16_t ip_id;
+       union {
+               uint64_t esn;
+               struct {
+                       uint32_t seq;
+                       uint32_t esn_hi;
+               };
+       };
+
+       uint64_t inst_w7;
+
        /* CPT QP used by SA */
        struct otx2_cpt_qp *qp;
 };
@@ -111,6 +130,8 @@ int otx2_eth_sec_ctx_create(struct rte_eth_dev *eth_dev);
 
 void otx2_eth_sec_ctx_destroy(struct rte_eth_dev *eth_dev);
 
+int otx2_eth_sec_update_tag_type(struct rte_eth_dev *eth_dev);
+
 int otx2_eth_sec_init(struct rte_eth_dev *eth_dev);
 
 void otx2_eth_sec_fini(struct rte_eth_dev *eth_dev);