On 10/30/19 8:12 PM, Viacheslav Ovsiienko wrote:
The dynamic mbuf fields were introduced by [1]. The egress metadata is
good candidate to be move from statically allocated field tx_metadata to
dynamic one. Because mbufs are used in half-duplex fashion only, it is
safe to share this dynamic field with ingress metadata.
The shared dynamic field contains either egress (if application going to
transmit mbuf with tx_burst) or ingress (if mbuf is received with rx_burst)
metadata and can be accessed by RTE_FLOW_DYNF_METADATA() macro or with
rte_flow_dynf_metadata_set() and rte_flow_dynf_metadata_get() helper
routines. PKT_TX_DYNF_METADATA/PKT_RX_DYNF_METADATA flag will be set
along with the data.
The mbuf dynamic field must be registered by calling
rte_flow_dynf_metadata_register() prior accessing the data.
The availability of dynamic mbuf metadata field can be checked with
rte_flow_dynf_metadata_avail() routine.
[1] http://patches.dpdk.org/patch/62040/
Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com>
LGTM
I think release notes should be updated.
What I don't understand now is the way for application
to understand if Tx metadata is supported or not.
Corresponding offload flag is removed. I guess the answer is
rte_flow_validate() with a rule on egress which tries to
match meta and do something (?).
It should be highlighted in the documentation in any case,
but I'd consider to keep the offload.