* [dpdk-test-report] |WARNING| pw102586-102588 [PATCH] [v9, 3/3] app/testpmd: support L2TPv2 and PPP protocol pattern
@ 2021-10-21 18:19 dpdklab
0 siblings, 0 replies; only message in thread
From: dpdklab @ 2021-10-21 18:19 UTC (permalink / raw)
To: test-report; +Cc: dpdk-test-reports
[-- Attachment #1: Type: text/plain, Size: 13938 bytes --]
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/102586
_apply patch failure_
Submitter: Jie Wang <jie1x.wang@intel.com>
Date: Thursday, October 21 2021 10:49:24
Applied on: CommitID:3ac2dffae88e8eb5c374b1fdd40d605014526510
Apply patch set 102586-102588 failed:
Checking patch doc/api/doxy-api-index.md...
Hunk #1 succeeded at 122 (offset 1 line).
Checking patch doc/guides/nics/features/default.ini...
error: while searching for:
phy_port =
port_id =
port_representor =
pppoed =
pppoes =
pppoe_proto_id =
error: patch failed: doc/guides/nics/features/default.ini:121
Checking patch doc/guides/prog_guide/rte_flow.rst...
error: while searching for:
as padded with trailing zeroes up to full configured length, both for
value and mask.
Actions
~~~~~~~
error: patch failed: doc/guides/prog_guide/rte_flow.rst:1573
Checking patch doc/guides/rel_notes/release_21_11.rst...
error: while searching for:
Added an ethdev API which can help users get device configuration.
* **Updated AF_XDP PMD.**
* Disabled secondary process support.
error: patch failed: doc/guides/rel_notes/release_21_11.rst:105
Checking patch lib/ethdev/rte_flow.c...
error: while searching for:
MK_FLOW_ITEM(REPRESENTED_PORT, sizeof(struct rte_flow_item_ethdev)),
MK_FLOW_ITEM_FN(FLEX, sizeof(struct rte_flow_item_flex),
rte_flow_item_flex_conv),
};
/** Generate flow_action[] entry. */
error: patch failed: lib/ethdev/rte_flow.c:156
Checking patch lib/ethdev/rte_flow.h...
error: while searching for:
* @see struct rte_flow_item_flex.
*/
RTE_FLOW_ITEM_TYPE_FLEX,
};
/**
error: patch failed: lib/ethdev/rte_flow.h:644
Hunk #3 succeeded at 1801 (offset -115 lines).
Checking patch lib/net/meson.build...
Checking patch lib/net/rte_l2tpv2.h...
Checking patch lib/net/rte_ppp.h...
Applied patch doc/api/doxy-api-index.md cleanly.
Applying patch doc/guides/nics/features/default.ini with 1 reject...
Hunk #1 applied cleanly.
Rejected hunk #2.
Applying patch doc/guides/prog_guide/rte_flow.rst with 1 reject...
Rejected hunk #1.
Applying patch doc/guides/rel_notes/release_21_11.rst with 1 reject...
Rejected hunk #1.
Applying patch lib/ethdev/rte_flow.c with 1 reject...
Rejected hunk #1.
Applying patch lib/ethdev/rte_flow.h with 1 reject...
Hunk #1 applied cleanly.
Rejected hunk #2.
Hunk #3 applied cleanly.
Applied patch lib/net/meson.build cleanly.
Applied patch lib/net/rte_l2tpv2.h cleanly.
Applied patch lib/net/rte_ppp.h cleanly.
diff a/doc/guides/nics/features/default.ini b/doc/guides/nics/features/default.ini (rejected hunks)
@@ -121,6 +122,7 @@ pfcp =
phy_port =
port_id =
port_representor =
+ppp =
pppoed =
pppoes =
pppoe_proto_id =
diff a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst (rejected hunks)
@@ -1573,6 +1573,31 @@ rte_flow_flex_item_create() routine.
as padded with trailing zeroes up to full configured length, both for
value and mask.
+Item: ``L2TPV2``
+^^^^^^^^^^^^^^^^^^^
+
+Matches a L2TPv2 header.
+
+- ``flags_version``: flags(12b), version(4b).
+- ``length``: total length of the message.
+- ``tunnel_id``: identifier for the control connection.
+- ``session_id``: identifier for a session within a tunnel.
+- ``ns``: sequence number for this date or control message.
+- ``nr``: sequence number expected in the next control message to be received.
+- ``offset_size``: offset of payload data.
+- ``offset_padding``: offset padding, variable length.
+- Default ``mask`` matches flags_version only.
+
+Item: ``PPP``
+^^^^^^^^^^^^^^^^^^^
+
+Matches a PPP header.
+
+- ``addr``: PPP address.
+- ``ctrl``: PPP control.
+- ``proto_id``: PPP protocol identifier.
+- Default ``mask`` matches addr, ctrl, proto_id.
+
Actions
~~~~~~~
diff a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst (rejected hunks)
@@ -105,6 +105,10 @@ New Features
Added an ethdev API which can help users get device configuration.
+* **Added L2TPv2 and PPP protocol support in rte_flow.**
+
+ Added flow pattern items and header formats of L2TPv2 and PPP protocol.
+
* **Updated AF_XDP PMD.**
* Disabled secondary process support.
diff a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c (rejected hunks)
@@ -156,6 +156,8 @@ static const struct rte_flow_desc_data rte_flow_desc_item[] = {
MK_FLOW_ITEM(REPRESENTED_PORT, sizeof(struct rte_flow_item_ethdev)),
MK_FLOW_ITEM_FN(FLEX, sizeof(struct rte_flow_item_flex),
rte_flow_item_flex_conv),
+ MK_FLOW_ITEM(L2TPV2, sizeof(struct rte_flow_item_l2tpv2)),
+ MK_FLOW_ITEM(PPP, sizeof(struct rte_flow_item_ppp)),
};
/** Generate flow_action[] entry. */
diff a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h (rejected hunks)
@@ -644,6 +646,20 @@ enum rte_flow_item_type {
* @see struct rte_flow_item_flex.
*/
RTE_FLOW_ITEM_TYPE_FLEX,
+
+ /**
+ * Matches L2TPv2 Header.
+ *
+ * See struct rte_flow_item_l2tpv2.
+ */
+ RTE_FLOW_ITEM_TYPE_L2TPV2,
+
+ /**
+ * Matches PPP Header.
+ *
+ * See struct rte_flow_item_ppp.
+ */
+ RTE_FLOW_ITEM_TYPE_PPP,
};
/**
Checking patch app/test-pmd/cmdline_flow.c...
error: while searching for:
ITEM_FLEX,
ITEM_FLEX_ITEM_HANDLE,
ITEM_FLEX_PATTERN_HANDLE,
/* Validate/create actions. */
ACTIONS,
error: patch failed: app/test-pmd/cmdline_flow.c:321
error: while searching for:
ITEM_PORT_REPRESENTOR,
ITEM_REPRESENTED_PORT,
ITEM_FLEX,
END_SET,
ZERO,
};
error: patch failed: app/test-pmd/cmdline_flow.c:1042
Hunk #3 succeeded at 1368 (offset -80 lines).
Hunk #4 succeeded at 1762 (offset -97 lines).
error: while searching for:
NEXT_ENTRY(ITEM_PARAM_IS)),
.args = ARGS(ARGS_ENTRY(struct rte_flow_item_flex, pattern)),
},
/* Validate/create actions. */
[ACTIONS] = {
.name = "actions",
error: patch failed: app/test-pmd/cmdline_flow.c:3789
Hunk #6 succeeded at 5483 (offset -387 lines).
error: while searching for:
case RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT:
mask = &rte_flow_item_ethdev_mask;
break;
default:
break;
}
error: patch failed: app/test-pmd/cmdline_flow.c:8701
Checking patch doc/guides/testpmd_app_ug/testpmd_funcs.rst...
error: while searching for:
- ``ethdev_port_id {unsigned}``: ethdev port ID
Actions list
^^^^^^^^^^^^
error: patch failed: doc/guides/testpmd_app_ug/testpmd_funcs.rst:3810
Hunk #2 succeeded at 5011 (offset -39 lines).
Applying patch app/test-pmd/cmdline_flow.c with 4 rejects...
Rejected hunk #1.
Rejected hunk #2.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Rejected hunk #5.
Hunk #6 applied cleanly.
Rejected hunk #7.
Applying patch doc/guides/testpmd_app_ug/testpmd_funcs.rst with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.
diff a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c (rejected hunks)
@@ -321,6 +321,23 @@ enum index {
ITEM_FLEX,
ITEM_FLEX_ITEM_HANDLE,
ITEM_FLEX_PATTERN_HANDLE,
+ ITEM_L2TPV2,
+ ITEM_L2TPV2_COMMON,
+ ITEM_L2TPV2_COMMON_TYPE,
+ ITEM_L2TPV2_COMMON_TYPE_DATA_L,
+ ITEM_L2TPV2_COMMON_TYPE_CTRL,
+ ITEM_L2TPV2_MSG_DATA_L_LENGTH,
+ ITEM_L2TPV2_MSG_DATA_L_TUNNEL_ID,
+ ITEM_L2TPV2_MSG_DATA_L_SESSION_ID,
+ ITEM_L2TPV2_MSG_CTRL_LENGTH,
+ ITEM_L2TPV2_MSG_CTRL_TUNNEL_ID,
+ ITEM_L2TPV2_MSG_CTRL_SESSION_ID,
+ ITEM_L2TPV2_MSG_CTRL_NS,
+ ITEM_L2TPV2_MSG_CTRL_NR,
+ ITEM_PPP,
+ ITEM_PPP_ADDR,
+ ITEM_PPP_CTRL,
+ ITEM_PPP_PROTO_ID,
/* Validate/create actions. */
ACTIONS,
@@ -1042,6 +1059,8 @@ static const enum index next_item[] = {
ITEM_PORT_REPRESENTOR,
ITEM_REPRESENTED_PORT,
ITEM_FLEX,
+ ITEM_L2TPV2,
+ ITEM_PPP,
END_SET,
ZERO,
};
@@ -3789,6 +3836,153 @@ static const struct token token_list[] = {
NEXT_ENTRY(ITEM_PARAM_IS)),
.args = ARGS(ARGS_ENTRY(struct rte_flow_item_flex, pattern)),
},
+ [ITEM_L2TPV2] = {
+ .name = "l2tpv2",
+ .help = "match L2TPv2 header",
+ .priv = PRIV_ITEM(L2TPV2, sizeof(struct rte_flow_item_l2tpv2)),
+ .next = NEXT(item_l2tpv2),
+ .call = parse_vc,
+ },
+ [ITEM_L2TPV2_COMMON] = {
+ .name = "common",
+ .help = "L2TPv2 common header",
+ .next = NEXT(item_l2tpv2_common),
+ },
+ [ITEM_L2TPV2_COMMON_TYPE] = {
+ .name = "type",
+ .help = "type of common header",
+ .next = NEXT(item_l2tpv2_common_type),
+ .args = ARGS(ARG_ENTRY_HTON(struct rte_flow_item_l2tpv2)),
+ },
+ [ITEM_L2TPV2_COMMON_TYPE_DATA_L] = {
+ .name = "data_l",
+ .help = "Type #6: data message with length option",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_DATA_L_LENGTH,
+ ITEM_L2TPV2_MSG_DATA_L_TUNNEL_ID,
+ ITEM_L2TPV2_MSG_DATA_L_SESSION_ID,
+ ITEM_NEXT)),
+ .call = parse_vc_item_l2tpv2_type,
+ },
+ [ITEM_L2TPV2_MSG_DATA_L_LENGTH] = {
+ .name = "length",
+ .help = "message length",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_DATA_L_LENGTH,
+ ITEM_L2TPV2_COMMON, ITEM_NEXT),
+ NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_l2tpv2,
+ hdr.type6.length)),
+ },
+ [ITEM_L2TPV2_MSG_DATA_L_TUNNEL_ID] = {
+ .name = "tunnel_id",
+ .help = "tunnel identifier",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_DATA_L_TUNNEL_ID,
+ ITEM_L2TPV2_COMMON, ITEM_NEXT),
+ NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_l2tpv2,
+ hdr.type6.tunnel_id)),
+ },
+ [ITEM_L2TPV2_MSG_DATA_L_SESSION_ID] = {
+ .name = "session_id",
+ .help = "session identifier",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_DATA_L_SESSION_ID,
+ ITEM_L2TPV2_COMMON, ITEM_NEXT),
+ NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_l2tpv2,
+ hdr.type6.session_id)),
+ },
+ [ITEM_L2TPV2_COMMON_TYPE_CTRL] = {
+ .name = "control",
+ .help = "Type #3: conrtol message contains length, ns, nr options",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_CTRL_LENGTH,
+ ITEM_L2TPV2_MSG_CTRL_TUNNEL_ID,
+ ITEM_L2TPV2_MSG_CTRL_SESSION_ID,
+ ITEM_L2TPV2_MSG_CTRL_NS,
+ ITEM_L2TPV2_MSG_CTRL_NR,
+ ITEM_NEXT)),
+ .call = parse_vc_item_l2tpv2_type,
+ },
+ [ITEM_L2TPV2_MSG_CTRL_LENGTH] = {
+ .name = "length",
+ .help = "message length",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_CTRL_LENGTH,
+ ITEM_L2TPV2_COMMON, ITEM_NEXT),
+ NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_l2tpv2,
+ hdr.type3.length)),
+ },
+ [ITEM_L2TPV2_MSG_CTRL_TUNNEL_ID] = {
+ .name = "tunnel_id",
+ .help = "tunnel identifier",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_CTRL_TUNNEL_ID,
+ ITEM_L2TPV2_COMMON, ITEM_NEXT),
+ NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_l2tpv2,
+ hdr.type3.tunnel_id)),
+ },
+ [ITEM_L2TPV2_MSG_CTRL_SESSION_ID] = {
+ .name = "session_id",
+ .help = "session identifier",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_CTRL_SESSION_ID,
+ ITEM_L2TPV2_COMMON, ITEM_NEXT),
+ NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_l2tpv2,
+ hdr.type3.session_id)),
+ },
+ [ITEM_L2TPV2_MSG_CTRL_NS] = {
+ .name = "ns",
+ .help = "sequence number for message",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_CTRL_NS,
+ ITEM_L2TPV2_COMMON, ITEM_NEXT),
+ NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_l2tpv2,
+ hdr.type3.ns)),
+ },
+ [ITEM_L2TPV2_MSG_CTRL_NR] = {
+ .name = "nr",
+ .help = "sequence number for next receive message",
+ .next = NEXT(NEXT_ENTRY(ITEM_L2TPV2_MSG_CTRL_NS,
+ ITEM_L2TPV2_COMMON, ITEM_NEXT),
+ NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_l2tpv2,
+ hdr.type3.nr)),
+ },
+ [ITEM_PPP] = {
+ .name = "ppp",
+ .help = "match PPP header",
+ .priv = PRIV_ITEM(PPP, sizeof(struct rte_flow_item_ppp)),
+ .next = NEXT(item_ppp),
+ .call = parse_vc,
+ },
+ [ITEM_PPP_ADDR] = {
+ .name = "addr",
+ .help = "PPP address",
+ .next = NEXT(item_ppp, NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY(struct rte_flow_item_ppp, hdr.addr)),
+ },
+ [ITEM_PPP_CTRL] = {
+ .name = "ctrl",
+ .help = "PPP control",
+ .next = NEXT(item_ppp, NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY(struct rte_flow_item_ppp, hdr.ctrl)),
+ },
+ [ITEM_PPP_PROTO_ID] = {
+ .name = "proto_id",
+ .help = "PPP protocol identifier",
+ .next = NEXT(item_ppp, NEXT_ENTRY(COMMON_UNSIGNED),
+ item_param),
+ .args = ARGS(ARGS_ENTRY(struct rte_flow_item_ppp,
+ hdr.proto_id)),
+ },
/* Validate/create actions. */
[ACTIONS] = {
.name = "actions",
@@ -8701,6 +8946,12 @@ flow_item_default_mask(const struct rte_flow_item *item)
case RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT:
mask = &rte_flow_item_ethdev_mask;
break;
+ case RTE_FLOW_ITEM_TYPE_L2TPV2:
+ mask = &rte_flow_item_l2tpv2_mask;
+ break;
+ case RTE_FLOW_ITEM_TYPE_PPP:
+ mask = &rte_flow_item_ppp_mask;
+ break;
default:
break;
}
diff a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst (rejected hunks)
@@ -3810,6 +3810,20 @@ This section lists supported pattern items and their attributes, if any.
- ``ethdev_port_id {unsigned}``: ethdev port ID
+- ``l2tpv2``: match L2TPv2 header.
+
+ - ``length {unsigned}``: L2TPv2 option length.
+ - ``tunnel_id {unsigned}``: L2TPv2 tunnel identifier.
+ - ``session_id {unsigned}``: L2TPv2 session identifier.
+ - ``ns {unsigned}``: L2TPv2 option ns.
+ - ``nr {unsigned}``: L2TPv2 option nr.
+
+- ``ppp``: match PPP header.
+
+ - ``addr {unsigned}``: PPP address.
+ - ``ctrl {unsigned}``: PPP control.
+ - ``proto_id {unsigned}``: PPP protocol identifier.
+
Actions list
^^^^^^^^^^^^
https://lab.dpdk.org/results/dashboard/patchsets/19622/
UNH-IOL DPDK Community Lab
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-10-21 18:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-21 18:19 [dpdk-test-report] |WARNING| pw102586-102588 [PATCH] [v9, 3/3] app/testpmd: support L2TPv2 and PPP protocol pattern dpdklab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).