[dpdk-test-report] |WARNING| pw97810-97817 [PATCH] [8/8] crypto/cnxk: update feature flag for cn9k lookaside IPsec

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Thu Sep 2 16:27:23 CEST 2021


Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/97810

_apply patch failure_

Submitter: Archana Muniganti <marchana at marvell.com>
Date: Thursday, September 02 2021 13:42:54 
Applied on: CommitID:eeedef704c11bd74c367d62838700bdb8e5b573f
Apply patch set 97810-97817 failed:

Checking patch drivers/common/cnxk/roc_cpt.h...
Checking patch drivers/common/cnxk/roc_ie_on.h...
error: while searching for:
#ifndef __ROC_IE_ON_H__
#define __ROC_IE_ON_H__

/* CN9K IPSEC LA opcodes */
#define ROC_IE_ONL_MAJOR_OP_WRITE_IPSEC_OUTBOUND   0x20
#define ROC_IE_ONL_MAJOR_OP_WRITE_IPSEC_INBOUND	   0x21
#define ROC_IE_ONL_MAJOR_OP_PROCESS_OUTBOUND_IPSEC 0x23
#define ROC_IE_ONL_MAJOR_OP_PROCESS_INBOUND_IPSEC  0x24

/* CN9K IPSEC FP opcodes */
#define ROC_IE_ONF_MAJOR_OP_PROCESS_OUTBOUND_IPSEC 0x25UL
#define ROC_IE_ONF_MAJOR_OP_PROCESS_INBOUND_IPSEC  0x26UL

/* Ucode completion codes */
#define ROC_IE_ONF_UCC_SUCCESS 0

enum {
	ROC_IE_ON_SA_ENC_NULL = 0,

error: patch failed: drivers/common/cnxk/roc_ie_on.h:5
Hunk #2 succeeded at 76 (offset 20 lines).
Applied patch drivers/common/cnxk/roc_cpt.h cleanly.
Applying patch drivers/common/cnxk/roc_ie_on.h with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.
diff a/drivers/common/cnxk/roc_ie_on.h b/drivers/common/cnxk/roc_ie_on.h	(rejected hunks)
@@ -5,18 +5,24 @@
 #ifndef __ROC_IE_ON_H__
 #define __ROC_IE_ON_H__
 
-/* CN9K IPSEC LA opcodes */
-#define ROC_IE_ONL_MAJOR_OP_WRITE_IPSEC_OUTBOUND   0x20
-#define ROC_IE_ONL_MAJOR_OP_WRITE_IPSEC_INBOUND	   0x21
-#define ROC_IE_ONL_MAJOR_OP_PROCESS_OUTBOUND_IPSEC 0x23
-#define ROC_IE_ONL_MAJOR_OP_PROCESS_INBOUND_IPSEC  0x24
+/* CN9K IPsec LA */
 
-/* CN9K IPSEC FP opcodes */
-#define ROC_IE_ONF_MAJOR_OP_PROCESS_OUTBOUND_IPSEC 0x25UL
-#define ROC_IE_ONF_MAJOR_OP_PROCESS_INBOUND_IPSEC  0x26UL
+/* CN9K IPsec LA opcodes */
+#define ROC_IE_ON_MAJOR_OP_WRITE_IPSEC_OUTBOUND	  0x20
+#define ROC_IE_ON_MAJOR_OP_WRITE_IPSEC_INBOUND	  0x21
+#define ROC_IE_ON_MAJOR_OP_PROCESS_OUTBOUND_IPSEC 0x23
+#define ROC_IE_ON_MAJOR_OP_PROCESS_INBOUND_IPSEC  0x24
 
 /* Ucode completion codes */
-#define ROC_IE_ONF_UCC_SUCCESS 0
+enum roc_ie_on_ucc_ipsec {
+	ROC_IE_ON_UCC_SUCCESS = 0,
+	ROC_IE_ON_AUTH_UNSUPPORTED = 0xB0,
+	ROC_IE_ON_ENCRYPT_UNSUPPORTED = 0xB1,
+};
+
+/* Helper macros */
+#define ROC_IE_ON_PER_PKT_IV	    BIT(11)
+#define ROC_IE_ON_INB_RPTR_HDR	    0x8
 
 enum {
 	ROC_IE_ON_SA_ENC_NULL = 0,
Checking patch drivers/crypto/cnxk/cn9k_cryptodev_ops.c...
error: while searching for:
#include <rte_cryptodev.h>
#include <rte_cryptodev_pmd.h>
#include <rte_event_crypto_adapter.h>
#include <rte_vect.h>

#include "cn9k_cryptodev.h"
#include "cn9k_cryptodev_ops.h"
#include "cnxk_ae.h"
#include "cnxk_cryptodev.h"
#include "cnxk_cryptodev_ops.h"

error: patch failed: drivers/crypto/cnxk/cn9k_cryptodev_ops.c:5
Hunk #2 succeeded at 32 (offset -5 lines).
error: while searching for:
				sym_op->session, cn9k_cryptodev_driver_id);
			ret = cn9k_cpt_sym_inst_fill(qp, op, sess, infl_req,
						     inst);
		} else {
			sess = cn9k_cpt_sym_temp_sess_create(qp, op);
			if (unlikely(sess == NULL)) {
				plt_dp_err("Could not create temp session");

error: patch failed: drivers/crypto/cnxk/cn9k_cryptodev_ops.c:80
error: while searching for:
						  op->sym->session);
				rte_mempool_put(qp->sess_mp, op->sym->session);
			}
		}
		inst->w7.u64 = sess->cpt_inst_w7;
	} else if (op->type == RTE_CRYPTO_OP_TYPE_ASYMMETRIC) {
		struct rte_crypto_asym_op *asym_op;
		struct cnxk_ae_sess *sess;

error: patch failed: drivers/crypto/cnxk/cn9k_cryptodev_ops.c:94
error: while searching for:
	return 1;
}

static inline void
cn9k_cpt_dequeue_post_process(struct cnxk_cpt_qp *qp, struct rte_crypto_op *cop,
			      struct cpt_inflight_req *infl_req)

error: patch failed: drivers/crypto/cnxk/cn9k_cryptodev_ops.c:348
Hunk #6 succeeded at 228 (offset -211 lines).
Checking patch drivers/crypto/cnxk/cn9k_ipsec_la_ops.h...
Applying patch drivers/crypto/cnxk/cn9k_cryptodev_ops.c with 4 rejects...
Rejected hunk #1.
Hunk #2 applied cleanly.
Rejected hunk #3.
Rejected hunk #4.
Rejected hunk #5.
Hunk #6 applied cleanly.
Applied patch drivers/crypto/cnxk/cn9k_ipsec_la_ops.h cleanly.
diff a/drivers/crypto/cnxk/cn9k_cryptodev_ops.c b/drivers/crypto/cnxk/cn9k_cryptodev_ops.c	(rejected hunks)
@@ -5,10 +5,13 @@
 #include <rte_cryptodev.h>
 #include <rte_cryptodev_pmd.h>
 #include <rte_event_crypto_adapter.h>
+#include <rte_ip.h>
 #include <rte_vect.h>
 
 #include "cn9k_cryptodev.h"
 #include "cn9k_cryptodev_ops.h"
+#include "cn9k_ipsec.h"
+#include "cn9k_ipsec_la_ops.h"
 #include "cnxk_ae.h"
 #include "cnxk_cryptodev.h"
 #include "cnxk_cryptodev_ops.h"
@@ -80,7 +113,10 @@ cn9k_cpt_inst_prep(struct cnxk_cpt_qp *qp, struct rte_crypto_op *op,
 				sym_op->session, cn9k_cryptodev_driver_id);
 			ret = cn9k_cpt_sym_inst_fill(qp, op, sess, infl_req,
 						     inst);
-		} else {
+			inst->w7.u64 = sess->cpt_inst_w7;
+		} else if (op->sess_type == RTE_CRYPTO_OP_SECURITY_SESSION)
+			ret = cn9k_cpt_sec_inst_fill(op, infl_req, inst);
+		else {
 			sess = cn9k_cpt_sym_temp_sess_create(qp, op);
 			if (unlikely(sess == NULL)) {
 				plt_dp_err("Could not create temp session");
@@ -94,8 +130,8 @@ cn9k_cpt_inst_prep(struct cnxk_cpt_qp *qp, struct rte_crypto_op *op,
 						  op->sym->session);
 				rte_mempool_put(qp->sess_mp, op->sym->session);
 			}
+			inst->w7.u64 = sess->cpt_inst_w7;
 		}
-		inst->w7.u64 = sess->cpt_inst_w7;
 	} else if (op->type == RTE_CRYPTO_OP_TYPE_ASYMMETRIC) {
 		struct rte_crypto_asym_op *asym_op;
 		struct cnxk_ae_sess *sess;
@@ -348,6 +384,39 @@ cn9k_cpt_crypto_adapter_enqueue(uintptr_t tag_op, struct rte_crypto_op *op)
 	return 1;
 }
 
+static inline void
+cn9k_cpt_sec_post_process(struct rte_crypto_op *cop,
+			  struct cpt_inflight_req *infl_req)
+{
+	struct rte_crypto_sym_op *sym_op = cop->sym;
+	struct rte_mbuf *m = sym_op->m_src;
+	struct rte_ipv6_hdr *ip6;
+	struct rte_ipv4_hdr *ip;
+	uint16_t m_len = 0;
+	char *data;
+
+	if (infl_req->op_flags & CPT_OP_FLAGS_IPSEC_DIR_INBOUND) {
+		data = rte_pktmbuf_mtod(m, char *);
+
+		ip = (struct rte_ipv4_hdr *)(data + ROC_IE_ON_INB_RPTR_HDR);
+
+		if (((ip->version_ihl & 0xf0) >> RTE_IPV4_IHL_MULTIPLIER) ==
+		    IPVERSION) {
+			m_len = rte_be_to_cpu_16(ip->total_length);
+		} else {
+			PLT_ASSERT(((ip->version_ihl & 0xf0) >>
+				    RTE_IPV4_IHL_MULTIPLIER) == 6);
+			ip6 = (struct rte_ipv6_hdr *)ip;
+			m_len = rte_be_to_cpu_16(ip6->payload_len) +
+				sizeof(struct rte_ipv6_hdr);
+		}
+
+		m->data_len = m_len;
+		m->pkt_len = m_len;
+		m->data_off += ROC_IE_ON_INB_RPTR_HDR;
+	}
+}
+
 static inline void
 cn9k_cpt_dequeue_post_process(struct cnxk_cpt_qp *qp, struct rte_crypto_op *cop,
 			      struct cpt_inflight_req *infl_req)
Checking patch doc/guides/cryptodevs/cnxk.rst...
Checking patch doc/guides/cryptodevs/features/cn9k.ini...
Checking patch doc/guides/rel_notes/release_21_11.rst...
error: while searching for:
  * Added transport mode in lookaside protocol (IPsec).
  * Added UDP encapsulation in lookaside protocol (IPsec).


Removed Items
-------------

error: patch failed: doc/guides/rel_notes/release_21_11.rst:61
Checking patch drivers/crypto/cnxk/cnxk_cryptodev.c...
Applied patch doc/guides/cryptodevs/cnxk.rst cleanly.
Applied patch doc/guides/cryptodevs/features/cn9k.ini cleanly.
Applying patch doc/guides/rel_notes/release_21_11.rst with 1 reject...
Rejected hunk #1.
Applied patch drivers/crypto/cnxk/cnxk_cryptodev.c cleanly.
diff a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst	(rejected hunks)
@@ -61,6 +61,9 @@ New Features
   * Added transport mode in lookaside protocol (IPsec).
   * Added UDP encapsulation in lookaside protocol (IPsec).
 
+* **Updated Marvell cn9k_crypto PMD.**
+
+  * Added support for lookaside protocol (IPsec) offload.
 
 Removed Items
 -------------

https://lab.dpdk.org/results/dashboard/patchsets/18508/

UNH-IOL DPDK Community Lab


More information about the test-report mailing list