On 3/24/2021 3:04 PM, Alexander Kozyrev wrote:
Include the rte_flow_field_id enumeration into the
documentation to provide the full list of all supported
Field IDs available for the MODIFY_FIELD RTE action.
Signed-off-by: Alexander Kozyrev <akozy...@nvidia.com>
---
doc/guides/prog_guide/rte_flow.rst | 45 ++++++++++++++++++++++++++++--
1 file changed, 43 insertions(+), 2 deletions(-)
diff --git a/doc/guides/prog_guide/rte_flow.rst
b/doc/guides/prog_guide/rte_flow.rst
index 62a57919eb..4265b7bfb8 100644
--- a/doc/guides/prog_guide/rte_flow.rst
+++ b/doc/guides/prog_guide/rte_flow.rst
@@ -2784,6 +2784,41 @@ can be used as both source and destination fields as set
by ``field``.
The immediate value ``RTE_FLOW_FIELD_VALUE`` (or a pointer to it
``RTE_FLOW_FIELD_POINTER``) is allowed as a source only.
``RTE_FLOW_FIELD_START`` is used to point to the beginning of a packet.
+See ``enum rte_flow_field_id`` for the list of supported fields:
+
+.. code-block:: c
+
+ 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, /**< 802.1Q Tag Identifier. */
+ RTE_FLOW_FIELD_VLAN_ID, /**< 802.1Q 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. */
+ };
The code in the documentation proved to be problem in long term, they get out of
date most of the times. So what do you think to just keep the reference to
``enum rte_flow_field_id`` but drop the code block?
Dropping the patch in next-net, it can be sent later separately.