X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fprog_guide%2Frte_flow.rst;h=119b12873969a59d39392233715633c0d3648025;hb=cbcda56cced98ec6cc214ed89df0703ddeb7723e;hp=2f21309a92ec517c2ce28cc4675cb0409a71beb8;hpb=8482ffe4b68bc0a6f14d46e65158d3c779f7e0f9;p=dpdk.git diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst index 2f21309a92..119b128739 100644 --- a/doc/guides/prog_guide/rte_flow.rst +++ b/doc/guides/prog_guide/rte_flow.rst @@ -905,6 +905,11 @@ so-called layer 2.5 pattern items such as ``RTE_FLOW_ITEM_TYPE_VLAN``. In the latter case, ``type`` refers to that of the outer header, with the inner EtherType/TPID provided by the subsequent pattern item. This is the same order as on the wire. +If the ``type`` field contains a TPID value, then only tagged packets with the +specified TPID will match the pattern. +Otherwise, only untagged packets will match the pattern. +If the ``ETH`` item is the only item in the pattern, and the ``type`` field is +not specified, then both tagged and untagged packets will match the pattern. - ``dst``: destination MAC. - ``src``: source MAC. @@ -919,6 +924,8 @@ Matches an 802.1Q/ad VLAN tag. The corresponding standard outer EtherType (TPID) values are ``RTE_ETHER_TYPE_VLAN`` or ``RTE_ETHER_TYPE_QINQ``. It can be overridden by the preceding pattern item. +If a ``VLAN`` item is present in the pattern, then only tagged packets will +match the pattern. - ``tci``: tag control information. - ``inner_type``: inner EtherType or TPID. @@ -1336,6 +1343,32 @@ Broadcom switches. - Default ``mask`` matches classification and vlan. +Item: ``L2TPV3OIP`` +^^^^^^^^^^^^^^^^^^^ + +Matches a L2TPv3 over IP header. + +- ``session_id``: L2TPv3 over IP session identifier. +- Default ``mask`` matches session_id only. + +Item: ``PFCP`` +^^^^^^^^^^^^^^ + +Matches a PFCP Header. + +- ``s_field``: S field. +- ``msg_type``: message type. +- ``msg_len``: message length. +- ``seid``: session endpoint identifier. +- Default ``mask`` matches s_field and seid. + +Item: ``ECPRI`` +^^^^^^^^^^^^^^^ + +Matches a eCPRI header. + +- ``hdr``: eCPRI header definition (``rte_ecpri.h``). +- Default ``mask`` matches nothing, for all eCPRI messages. Actions ~~~~~~~ @@ -1702,6 +1735,19 @@ unspecified "best-effort" settings from the underlying PMD, which depending on the flow rule, may result in anything ranging from empty (single queue) to all-inclusive RSS. +If non-applicable for matching packets RSS types are requested, +these RSS types are simply ignored. For example, it happens if: + +- Hashing of both TCP and UDP ports is requested + (only one can be present in a packet). + +- Requested RSS types contradict to flow rule pattern + (e.g. pattern has UDP item, but RSS types contain TCP). + +If requested RSS hash types are not supported by the Ethernet device at all +(not reported in ``dev_info.flow_tpe_rss_offloads``), +the flow creation will fail. + Note: RSS hash result is stored in the ``hash.rss`` mbuf field which overlaps ``hash.fdir.lo``. Since `Action: MARK`_ sets the ``hash.fdir.hi`` field only, both can be requested simultaneously. @@ -2598,6 +2644,28 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned. | ``dscp`` | DSCP in low 6 bits, rest ignore | +-----------+---------------------------------+ +Action: ``AGE`` +^^^^^^^^^^^^^^^ + +Set ageing timeout configuration to a flow. + +Event RTE_ETH_EVENT_FLOW_AGED will be reported if +timeout passed without any matching on the flow. + +.. _table_rte_flow_action_age: + +.. table:: AGE + + +--------------+---------------------------------+ + | Field | Value | + +==============+=================================+ + | ``timeout`` | 24 bits timeout value | + +--------------+---------------------------------+ + | ``reserved`` | 8 bits reserved, must be zero | + +--------------+---------------------------------+ + | ``context`` | user input flow context | + +--------------+---------------------------------+ + Negative types ~~~~~~~~~~~~~~