|WARNING| pw135319-135320 [PATCH] [v2, 3/3] net/mlx5: add compare item support
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Tue Dec 19 02:50:44 CET 2023
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/135319
_apply patch failure_
Submitter: Suanming Mou <suanmingm at nvidia.com>
Date: Tuesday, December 19 2023 01:33:37
Applied on: CommitID:84bfce561f24a33cb186efdc1cf8dc4a8c96fd26
Apply patch set 135319-135320 failed:
Checking patch app/test-pmd/cmdline_flow.c...
Hunk #1 succeeded at 545 (offset 2 lines).
Hunk #2 succeeded at 764 (offset 2 lines).
Hunk #3 succeeded at 968 (offset 2 lines).
Hunk #4 succeeded at 1620 (offset 4 lines).
Hunk #5 succeeded at 2158 (offset 10 lines).
Hunk #6 succeeded at 2932 (offset 10 lines).
Hunk #7 succeeded at 6084 (offset 25 lines).
Hunk #8 succeeded at 7231 (offset 25 lines).
Hunk #9 succeeded at 8674 (offset 25 lines).
Hunk #10 succeeded at 10159 (offset 25 lines).
Hunk #11 succeeded at 12276 (offset 25 lines).
Hunk #12 succeeded at 12422 (offset 25 lines).
Checking patch doc/guides/nics/features/default.ini...
Checking patch doc/guides/prog_guide/rte_flow.rst...
error: while searching for:
- ``packet_type``: L2/L3/L4 and tunnel information.
Actions
~~~~~~~
error: patch failed: doc/guides/prog_guide/rte_flow.rst:1573
Checking patch doc/guides/rel_notes/release_24_03.rst...
error: while searching for:
Also, make sure to start the actual text at the margin.
=======================================================
* **Updated NVIDIA mlx5 driver.**
* Added support for accumulating from src field to dst field.
error: patch failed: doc/guides/rel_notes/release_24_03.rst:55
Checking patch doc/guides/testpmd_app_ug/testpmd_funcs.rst...
Hunk #1 succeeded at 3856 (offset 15 lines).
Checking patch lib/ethdev/rte_flow.c...
Hunk #1 succeeded at 168 (offset 1 line).
Checking patch lib/ethdev/rte_flow.h...
error: while searching for:
*
*/
RTE_FLOW_ITEM_TYPE_PTYPE,
};
/**
error: patch failed: lib/ethdev/rte_flow.h:704
Hunk #2 succeeded at 2368 (offset 25 lines).
error: while searching for:
uint16_t port_id; /**< ethdev port ID */
};
/**
* Field IDs for MODIFY_FIELD action.
*/
enum rte_flow_field_id {
RTE_FLOW_FIELD_START = 0, /**< Start of a packet. */
RTE_FLOW_FIELD_MAC_DST, /**< Destination MAC Address. */
RTE_FLOW_FIELD_MAC_SRC, /**< Source MAC Address. */
RTE_FLOW_FIELD_VLAN_TYPE, /**< VLAN Tag Identifier. */
RTE_FLOW_FIELD_VLAN_ID, /**< VLAN Identifier. */
RTE_FLOW_FIELD_MAC_TYPE, /**< EtherType. */
RTE_FLOW_FIELD_IPV4_DSCP, /**< IPv4 DSCP. */
RTE_FLOW_FIELD_IPV4_TTL, /**< IPv4 Time To Live. */
RTE_FLOW_FIELD_IPV4_SRC, /**< IPv4 Source Address. */
RTE_FLOW_FIELD_IPV4_DST, /**< IPv4 Destination Address. */
RTE_FLOW_FIELD_IPV6_DSCP, /**< IPv6 DSCP. */
RTE_FLOW_FIELD_IPV6_HOPLIMIT, /**< IPv6 Hop Limit. */
RTE_FLOW_FIELD_IPV6_SRC, /**< IPv6 Source Address. */
RTE_FLOW_FIELD_IPV6_DST, /**< IPv6 Destination Address. */
RTE_FLOW_FIELD_TCP_PORT_SRC, /**< TCP Source Port Number. */
RTE_FLOW_FIELD_TCP_PORT_DST, /**< TCP Destination Port Number. */
RTE_FLOW_FIELD_TCP_SEQ_NUM, /**< TCP Sequence Number. */
RTE_FLOW_FIELD_TCP_ACK_NUM, /**< TCP Acknowledgment Number. */
RTE_FLOW_FIELD_TCP_FLAGS, /**< TCP Flags. */
RTE_FLOW_FIELD_UDP_PORT_SRC, /**< UDP Source Port Number. */
RTE_FLOW_FIELD_UDP_PORT_DST, /**< UDP Destination Port Number. */
RTE_FLOW_FIELD_VXLAN_VNI, /**< VXLAN Network Identifier. */
RTE_FLOW_FIELD_GENEVE_VNI, /**< GENEVE Network Identifier. */
RTE_FLOW_FIELD_GTP_TEID, /**< GTP Tunnel Endpoint Identifier. */
RTE_FLOW_FIELD_TAG, /**< Tag value. */
RTE_FLOW_FIELD_MARK, /**< Mark value. */
RTE_FLOW_FIELD_META, /**< Metadata value. */
RTE_FLOW_FIELD_POINTER, /**< Memory pointer. */
RTE_FLOW_FIELD_VALUE, /**< Immediate value. */
RTE_FLOW_FIELD_IPV4_ECN, /**< IPv4 ECN. */
RTE_FLOW_FIELD_IPV6_ECN, /**< IPv6 ECN. */
RTE_FLOW_FIELD_GTP_PSC_QFI, /**< GTP QFI. */
RTE_FLOW_FIELD_METER_COLOR, /**< Meter color marker. */
RTE_FLOW_FIELD_IPV6_PROTO, /**< IPv6 next header. */
RTE_FLOW_FIELD_FLEX_ITEM, /**< Flex item. */
RTE_FLOW_FIELD_HASH_RESULT, /**< Hash result. */
RTE_FLOW_FIELD_GENEVE_OPT_TYPE, /**< GENEVE option type. */
RTE_FLOW_FIELD_GENEVE_OPT_CLASS,/**< GENEVE option class. */
RTE_FLOW_FIELD_GENEVE_OPT_DATA, /**< GENEVE option data. */
RTE_FLOW_FIELD_MPLS, /**< MPLS header. */
RTE_FLOW_FIELD_TCP_DATA_OFFSET, /**< TCP data offset. */
RTE_FLOW_FIELD_IPV4_IHL, /**< IPv4 IHL. */
RTE_FLOW_FIELD_IPV4_TOTAL_LEN, /**< IPv4 total length. */
RTE_FLOW_FIELD_IPV6_PAYLOAD_LEN /**< IPv6 payload length. */
};
/**
* @warning
* @b EXPERIMENTAL: this structure may change without prior notice
*
* Field description for packet field.
*/
struct rte_flow_field_data {
enum rte_flow_field_id field; /**< Field or memory type ID. */
union {
struct {
/** Encapsulation level and tag index or flex item handle. */
union {
struct {
/**
* Packet encapsulation level containing
* the field to modify.
*
* - @p 0 requests the default behavior.
* Depending on the packet type, it
* can mean outermost, innermost or
* anything in between.
*
* It basically stands for the
* innermost encapsulation level.
* Modification can be performed
* according to PMD and device
* capabilities.
*
* - @p 1 requests modification to be
* performed on the outermost packet
* encapsulation level.
*
* - @p 2 and subsequent values request
* modification to be performed on
* the specified inner packet
* encapsulation level, from
* outermost to innermost (lower to
* higher values).
*
* Values other than @p 0 are not
* necessarily supported.
*
* @note that for MPLS field,
* encapsulation level also include
* tunnel since MPLS may appear in
* outer, inner or tunnel.
*/
uint8_t level;
union {
/**
* Tag index array inside
* encapsulation level.
* Used for VLAN, MPLS or TAG types.
*/
uint8_t tag_in
error: patch failed: lib/ethdev/rte_flow.h:3856
Applied patch app/test-pmd/cmdline_flow.c cleanly.
Applied patch doc/guides/nics/features/default.ini cleanly.
Applying patch doc/guides/prog_guide/rte_flow.rst with 1 reject...
Rejected hunk #1.
Applying patch doc/guides/rel_notes/release_24_03.rst with 1 reject...
Rejected hunk #1.
Applied patch doc/guides/testpmd_app_ug/testpmd_funcs.rst cleanly.
Applied patch lib/ethdev/rte_flow.c cleanly.
Applying patch lib/ethdev/rte_flow.h with 2 rejects...
Rejected hunk #1.
Hunk #2 applied cleanly.
Rejected hunk #3.
hint: Use 'git am --show-current-patch' to see the failed patch
diff a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst (rejected hunks)
@@ -1573,6 +1573,13 @@ Matches the packet type as defined in rte_mbuf_ptype.
- ``packet_type``: L2/L3/L4 and tunnel information.
+Item: ``COMPARE``
+^^^^^^^^^^^^^^^^^
+
+Matches the comparison result between packet fields or value.
+
+- ``compare``: Comparison information.
+
Actions
~~~~~~~
diff a/doc/guides/rel_notes/release_24_03.rst b/doc/guides/rel_notes/release_24_03.rst (rejected hunks)
@@ -55,6 +55,11 @@ New Features
Also, make sure to start the actual text at the margin.
=======================================================
+* **Added compare flow matching criteria.**
+
+ Added ``RTE_FLOW_ITEM_TYPE_COMPARE`` to allow matching on compare
+ result between the packet fields or value.
+
* **Updated NVIDIA mlx5 driver.**
* Added support for accumulating from src field to dst field.
diff a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h (rejected hunks)
@@ -704,6 +704,13 @@ enum rte_flow_item_type {
*
*/
RTE_FLOW_ITEM_TYPE_PTYPE,
+
+ /**
+ * Matches the packet with compare result.
+ *
+ * See struct rte_flow_item_compare.
+ */
+ RTE_FLOW_ITEM_TYPE_COMPARE,
};
/**
@@ -3856,150 +4034,6 @@ struct rte_flow_action_ethdev {
uint16_t port_id; /**< ethdev port ID */
};
-/**
- * Field IDs for MODIFY_FIELD action.
- */
-enum rte_flow_field_id {
- RTE_FLOW_FIELD_START = 0, /**< Start of a packet. */
- RTE_FLOW_FIELD_MAC_DST, /**< Destination MAC Address. */
- RTE_FLOW_FIELD_MAC_SRC, /**< Source MAC Address. */
- RTE_FLOW_FIELD_VLAN_TYPE, /**< VLAN Tag Identifier. */
- RTE_FLOW_FIELD_VLAN_ID, /**< VLAN Identifier. */
- RTE_FLOW_FIELD_MAC_TYPE, /**< EtherType. */
- RTE_FLOW_FIELD_IPV4_DSCP, /**< IPv4 DSCP. */
- RTE_FLOW_FIELD_IPV4_TTL, /**< IPv4 Time To Live. */
- RTE_FLOW_FIELD_IPV4_SRC, /**< IPv4 Source Address. */
- RTE_FLOW_FIELD_IPV4_DST, /**< IPv4 Destination Address. */
- RTE_FLOW_FIELD_IPV6_DSCP, /**< IPv6 DSCP. */
- RTE_FLOW_FIELD_IPV6_HOPLIMIT, /**< IPv6 Hop Limit. */
- RTE_FLOW_FIELD_IPV6_SRC, /**< IPv6 Source Address. */
- RTE_FLOW_FIELD_IPV6_DST, /**< IPv6 Destination Address. */
- RTE_FLOW_FIELD_TCP_PORT_SRC, /**< TCP Source Port Number. */
- RTE_FLOW_FIELD_TCP_PORT_DST, /**< TCP Destination Port Number. */
- RTE_FLOW_FIELD_TCP_SEQ_NUM, /**< TCP Sequence Number. */
- RTE_FLOW_FIELD_TCP_ACK_NUM, /**< TCP Acknowledgment Number. */
- RTE_FLOW_FIELD_TCP_FLAGS, /**< TCP Flags. */
- RTE_FLOW_FIELD_UDP_PORT_SRC, /**< UDP Source Port Number. */
- RTE_FLOW_FIELD_UDP_PORT_DST, /**< UDP Destination Port Number. */
- RTE_FLOW_FIELD_VXLAN_VNI, /**< VXLAN Network Identifier. */
- RTE_FLOW_FIELD_GENEVE_VNI, /**< GENEVE Network Identifier. */
- RTE_FLOW_FIELD_GTP_TEID, /**< GTP Tunnel Endpoint Identifier. */
- RTE_FLOW_FIELD_TAG, /**< Tag value. */
- RTE_FLOW_FIELD_MARK, /**< Mark value. */
- RTE_FLOW_FIELD_META, /**< Metadata value. */
- RTE_FLOW_FIELD_POINTER, /**< Memory pointer. */
- RTE_FLOW_FIELD_VALUE, /**< Immediate value. */
- RTE_FLOW_FIELD_IPV4_ECN, /**< IPv4 ECN. */
- RTE_FLOW_FIELD_IPV6_ECN, /**< IPv6 ECN. */
- RTE_FLOW_FIELD_GTP_PSC_QFI, /**< GTP QFI. */
- RTE_FLOW_FIELD_METER_COLOR, /**< Meter color marker. */
- RTE_FLOW_FIELD_IPV6_PROTO, /**< IPv6 next header. */
- RTE_FLOW_FIELD_FLEX_ITEM, /**< Flex item. */
- RTE_FLOW_FIELD_HASH_RESULT, /**< Hash result. */
- RTE_FLOW_FIELD_GENEVE_OPT_TYPE, /**< GENEVE option type. */
- RTE_FLOW_FIELD_GENEVE_OPT_CLASS,/**< GENEVE option class. */
- RTE_FLOW_FIELD_GENEVE_OPT_DATA, /**< GENEVE option data. */
- RTE_FLOW_FIELD_MPLS, /**< MPLS header. */
- RTE_FLOW_FIELD_TCP_DATA_OFFSET, /**< TCP data offset. */
- RTE_FLOW_FIELD_IPV4_IHL, /**< IPv4 IHL. */
- RTE_FLOW_FIELD_IPV4_TOTAL_LEN, /**< IPv4 total length. */
- RTE_FLOW_FIELD_IPV6_PAYLOAD_LEN /**< IPv6 payload length. */
-};
-
-/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
- * Field description for packet field.
- */
-struct rte_flow_field_data {
- enum rte_flow_field_id field; /**< Field or memory type ID. */
- union {
- struct {
- /** Encapsulation level and tag index or flex item handle. */
- union {
- struct {
- /**
- * Packet encapsulation level containing
- * the field to modify.
- *
- * - @p 0 requests the default behavior.
- * Depending on the packet type, it
- * can mean outermost, innermost or
- * anything in between.
- *
- * It basically stands for the
- * innermost encapsulation level.
- * Modification can be performed
- * according to PMD and device
- * capabilities.
- *
- * - @p 1 requests modification to be
- * performed on the outermost packet
- * encapsulation level.
- *
- * - @p 2 and subsequent values request
- * modification to be performed on
- * the specified inner packet
- * encapsulation level, from
- * outermost to innermost (lower to
- * higher values).
- *
- * Values other than @p 0 are not
- * necessarily supported.
- *
- * @note that for MPLS field,
- * encapsulation level also include
- * tunnel since MPLS may appear in
- * outer, inner or tunnel.
- */
- uint8_t level;
- union {
- /**
- * Tag index array inside
- * encapsulation level.
- * Used for VLAN, MPLS or TAG types.
- */
- uint8_t tag_index;
- /**
- * Geneve option identifier.
- * Relevant only for
- * RTE_FLOW_FIELD_GENEVE_OPT_XXXX
- * modification type.
- */
- struct {
- /**
- * Geneve option type.
- */
- uint8_t type;
- /**
- * Geneve option class.
- */
- rte_be16_t class_id;
- };
- };
- };
- struct rte_flow_item_flex_handle *flex_handle;
- };
- /** Number of bits to skip from a field. */
- uint32_t offset;
- };
- /**
- * Immediate value for RTE_FLOW_FIELD_VALUE, presented in the
- * same byte order and length as in relevant rte_flow_item_xxx.
- * The immediate source bitfield offset is inherited from
- * the destination's one.
- */
- uint8_t value[16];
- /**
- * Memory address for RTE_FLOW_FIELD_POINTER, memory layout
- * should be the same as for relevant field in the
- * rte_flow_item_xxx structure.
- */
- void *pvalue;
- };
-};
-
/**
* Operation types for MODIFY_FIELD action.
*/
Checking patch doc/guides/nics/features/mlx5.ini...
Checking patch doc/guides/nics/mlx5.rst...
Checking patch doc/guides/rel_notes/release_24_03.rst...
error: while searching for:
* **Updated NVIDIA mlx5 driver.**
* Added support for accumulating from src field to dst field.
Removed Items
-------------
error: patch failed: doc/guides/rel_notes/release_24_03.rst:63
Checking patch drivers/net/mlx5/mlx5_flow.h...
Checking patch drivers/net/mlx5/mlx5_flow_hw.c...
Hunk #2 succeeded at 4389 (offset -4 lines).
Hunk #3 succeeded at 6639 (offset -36 lines).
Hunk #4 succeeded at 6709 (offset -36 lines).
Hunk #5 succeeded at 6847 (offset -36 lines).
Applied patch doc/guides/nics/features/mlx5.ini cleanly.
Applied patch doc/guides/nics/mlx5.rst cleanly.
Applying patch doc/guides/rel_notes/release_24_03.rst with 1 reject...
Rejected hunk #1.
Applied patch drivers/net/mlx5/mlx5_flow.h cleanly.
Applied patch drivers/net/mlx5/mlx5_flow_hw.c cleanly.
hint: Use 'git am --show-current-patch' to see the failed patch
diff a/doc/guides/rel_notes/release_24_03.rst b/doc/guides/rel_notes/release_24_03.rst (rejected hunks)
@@ -63,7 +63,7 @@ New Features
* **Updated NVIDIA mlx5 driver.**
* Added support for accumulating from src field to dst field.
-
+ * Added support for comparing result between packet fields or value.
Removed Items
-------------
https://lab.dpdk.org/results/dashboard/patchsets/28676/
UNH-IOL DPDK Community Lab
More information about the test-report
mailing list