X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcrypto%2Focteontx2%2Fotx2_ipsec_po_ops.h;h=58b199f4f3af65c609b2e9206727aea52874c056;hb=26590b5200bb1d6bdfa931f8615339d049d13881;hp=bc702d5c795ef1bdc73b530a82ec1f712af1a44b;hpb=6045c06a870e31600c698a7ea1830a274f601fb1;p=dpdk.git diff --git a/drivers/crypto/octeontx2/otx2_ipsec_po_ops.h b/drivers/crypto/octeontx2/otx2_ipsec_po_ops.h index bc702d5c79..58b199f4f3 100644 --- a/drivers/crypto/octeontx2/otx2_ipsec_po_ops.h +++ b/drivers/crypto/octeontx2/otx2_ipsec_po_ops.h @@ -26,7 +26,7 @@ otx2_ipsec_po_out_rlen_get(struct otx2_sec_session_ipsec_lp *sess, static __rte_always_inline struct cpt_request_info * alloc_request_struct(char *maddr, void *cop, int mdata_len, - enum rte_security_ipsec_tunnel_type tunnel_type) + enum otx2_ipsec_po_mode_type mode_type) { struct cpt_request_info *req; struct cpt_meta_info *meta; @@ -48,7 +48,7 @@ alloc_request_struct(char *maddr, void *cop, int mdata_len, op[1] = (uintptr_t)cop; op[2] = (uintptr_t)req; op[3] = mdata_len; - op[4] = tunnel_type; + op[4] = mode_type; return req; } @@ -89,7 +89,7 @@ process_outb_sa(struct rte_crypto_op *cop, mdata += extend_tail; /* mdata follows encrypted data */ req = alloc_request_struct(mdata, (void *)cop, mdata_len, - sess->tunnel_type); + sess->mode_type); data = rte_pktmbuf_prepend(m_src, extend_head); if (unlikely(data == NULL)) { @@ -111,7 +111,7 @@ process_outb_sa(struct rte_crypto_op *cop, memcpy(&hdr->iv[0], &sa->iv.gcm.nonce, 4); memcpy(&hdr->iv[4], rte_crypto_op_ctod_offset(cop, uint8_t *, sess->iv_offset), sess->iv_length); - } else if (ctl_wrd->auth_type == OTX2_IPSEC_FP_SA_ENC_AES_CBC) { + } else if (ctl_wrd->auth_type == OTX2_IPSEC_PO_SA_AUTH_SHA1) { memcpy(&hdr->iv[0], rte_crypto_op_ctod_offset(cop, uint8_t *, sess->iv_offset), sess->iv_length); } @@ -124,6 +124,8 @@ process_outb_sa(struct rte_crypto_op *cop, req->ist.ei1 = rte_pktmbuf_iova(m_src); req->ist.ei2 = req->ist.ei1; + sa->esn_hi = sess->seq_hi; + hdr->seq = rte_cpu_to_be_32(sess->seq_lo); hdr->ip_id = rte_cpu_to_be_32(sess->ip_id); @@ -160,7 +162,7 @@ process_inb_sa(struct rte_crypto_op *cop, } req = alloc_request_struct(mdata, (void *)cop, mdata_len, - sess->tunnel_type); + sess->mode_type); /* Prepare CPT instruction */ word0.u64 = sess->ucmd_w0;