|WARNING| pw110560 [PATCH] common/cnxk: fix channel number setting in MCAM entries

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Fri May 6 19:03:31 CEST 2022


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

_apply patch failure_

Submitter: Satheesh Paul <psatheesh at marvell.com>
Date: Monday, May 02 2022 08:47:30 
Applied on: CommitID:28c5d600723a9bb384a4b2f79bf6af8c40950bba
Apply patch set 110560 failed:

Checking patch drivers/common/cnxk/roc_npc_mcam.c...
error: while searching for:
	req->entry_data.kw_mask[0] &= ~(GENMASK(11, 0));
	flow->mcam_data[0] &= ~(GENMASK(11, 0));
	flow->mcam_mask[0] &= ~(GENMASK(11, 0));

	if (is_second_pass) {
		chan = (channel | NIX_CHAN_CPT_CH_START);
		mask = (chan_mask | NIX_CHAN_CPT_CH_START);
	} else {
		/*
		 * Clear bits 10 & 11 corresponding to CPT
		 * channel. By default, rules should match
		 * both first pass packets and second pass
		 * packets from CPT.
		 */
		chan = (channel & NIX_CHAN_CPT_X2P_MASK);
		mask = (chan_mask & NIX_CHAN_CPT_X2P_MASK);
	}

	req->entry_data.kw[0] |= (uint64_t)chan;

error: patch failed: drivers/common/cnxk/roc_npc_mcam.c:508
Applying patch drivers/common/cnxk/roc_npc_mcam.c with 1 reject...
Rejected hunk #1.
diff a/drivers/common/cnxk/roc_npc_mcam.c b/drivers/common/cnxk/roc_npc_mcam.c	(rejected hunks)
@@ -508,19 +508,25 @@ npc_mcam_set_channel(struct roc_npc_flow *flow,
 	req->entry_data.kw_mask[0] &= ~(GENMASK(11, 0));
 	flow->mcam_data[0] &= ~(GENMASK(11, 0));
 	flow->mcam_mask[0] &= ~(GENMASK(11, 0));
+	chan = channel;
+	mask = chan_mask;
 
-	if (is_second_pass) {
-		chan = (channel | NIX_CHAN_CPT_CH_START);
-		mask = (chan_mask | NIX_CHAN_CPT_CH_START);
-	} else {
-		/*
-		 * Clear bits 10 & 11 corresponding to CPT
-		 * channel. By default, rules should match
-		 * both first pass packets and second pass
-		 * packets from CPT.
-		 */
-		chan = (channel & NIX_CHAN_CPT_X2P_MASK);
-		mask = (chan_mask & NIX_CHAN_CPT_X2P_MASK);
+	if (roc_model_runtime_is_cn10k()) {
+		if (is_second_pass) {
+			chan = (channel | NIX_CHAN_CPT_CH_START);
+			mask = (chan_mask | NIX_CHAN_CPT_CH_START);
+		} else {
+			if (!(flow->npc_action & NIX_RX_ACTIONOP_UCAST_IPSEC)) {
+				/*
+				 * Clear bits 10 & 11 corresponding to CPT
+				 * channel. By default, rules should match
+				 * both first pass packets and second pass
+				 * packets from CPT.
+				 */
+				chan = (channel & NIX_CHAN_CPT_X2P_MASK);
+				mask = (chan_mask & NIX_CHAN_CPT_X2P_MASK);
+			}
+		}
 	}
 
 	req->entry_data.kw[0] |= (uint64_t)chan;

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

UNH-IOL DPDK Community Lab


More information about the test-report mailing list