[dpdk-test-report] |WARNING| pw95548 [PATCH] [V2] pipeline: add support for LPM lookup

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Thu Jul 8 13:58:24 CEST 2021


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

_apply patch failure_

Submitter: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
Date: Thursday, July 08 2021 10:11:29 
Applied on: CommitID:71f8bd4e60eacbaadfe568293620367bb7a0468f
Apply patch set 95548 failed:

Checking patch lib/pipeline/rte_swx_ctl.c...
Hunk #1 succeeded at 183 (offset -35 lines).
Hunk #2 succeeded at 309 (offset -35 lines).
error: while searching for:
		selector_abort(ctl, i);
}

static int
token_is_comment(const char *token)
{

error: patch failed: lib/pipeline/rte_swx_ctl.c:2207
Hunk #4 succeeded at 1562 (offset -685 lines).
Hunk #5 succeeded at 1638 (offset -685 lines).
Hunk #6 succeeded at 1705 (offset -685 lines).
Checking patch lib/pipeline/rte_swx_pipeline.c...
Hunk #1 succeeded at 9107 (offset -92 lines).
Hunk #2 succeeded at 9206 (offset -92 lines).
Hunk #3 succeeded at 9227 (offset -92 lines).
Hunk #4 succeeded at 9238 (offset -93 lines).
Hunk #5 succeeded at 9277 (offset -93 lines).
Applying patch lib/pipeline/rte_swx_ctl.c with 1 reject...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Rejected hunk #3.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
Applied patch lib/pipeline/rte_swx_pipeline.c cleanly.
diff a/lib/pipeline/rte_swx_ctl.c b/lib/pipeline/rte_swx_ctl.c	(rejected hunks)
@@ -2207,6 +2184,45 @@ rte_swx_ctl_pipeline_abort(struct rte_swx_ctl_pipeline *ctl)
 		selector_abort(ctl, i);
 }
 
+static int
+mask_to_prefix(uint64_t mask, uint32_t mask_length, uint32_t *prefix_length)
+{
+	uint32_t n_trailing_zeros = 0, n_ones = 0, i;
+
+	if (!mask) {
+		*prefix_length = 0;
+		return 0;
+	}
+
+	/* Count trailing zero bits. */
+	for (i = 0; i < 64; i++) {
+		if (mask & (1LLU << i))
+			break;
+
+		n_trailing_zeros++;
+	}
+
+	/* Count the one bits that follow. */
+	for ( ; i < 64; i++) {
+		if (!(mask & (1LLU << i)))
+			break;
+
+		n_ones++;
+	}
+
+	/* Check that no more one bits are present */
+	for ( ; i < 64; i++)
+		if (mask & (1LLU << i))
+			return -EINVAL;
+
+	/* Check that the input mask is a prefix or the right length. */
+	if (n_ones + n_trailing_zeros != mask_length)
+		return -EINVAL;
+
+	*prefix_length = n_ones;
+	return 0;
+}
+
 static int
 token_is_comment(const char *token)
 {

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

UNH-IOL DPDK Community Lab


More information about the test-report mailing list