On 9/27/2018 2:57 PM, Dekel Peled wrote: > As described in [1], a new rte_flow item is added to support metadata > to use as flow rule match pattern. > The metadata is an opaque item, fully controlled by the application. > > The use of metadata is relevant for egress rules only. > It can be set in the flow rule using the RTE_FLOW_ITEM_META. > > In order to avoid change in mbuf API, exisitng field buf.hash.fdir.hi > is used to carry the metadata item. This field is used only in > ingress packets, so using it for egress metadata will not cause > conflicts. > > Application should set the packet metadata in the mbuf dedicated field, > and set the PKT_TX_METADATA flag in the mbuf->ol_flags. > The NIC will use the packet metadata as match criteria for relevant > flow rules. > > This patch introduces metadata item type for rte_flow RTE_FLOW_ITEM_META, > along with corresponding struct rte_flow_item_meta and ol_flag > PKT_TX_METADATA. > > [1] "[RFC,v2] ethdev: support metadata as flow rule criteria" > http://mails.dpdk.org/archives/dev/2018-August/110194.html > > Signed-off-by: Dekel Peled <dek...@mellanox.com>
<...> > @@ -526,6 +532,12 @@ struct rte_mbuf { > uint32_t hi; > /**< First 4 flexible bytes or FD ID, dependent on > PKT_RX_FDIR_* flag in ol_flags. */ > + /** > + * Above member has optional use on egress: > + * Application specific metadata value > + * for flow rule match. > + * Valid if PKT_TX_METADATA is set. > + */ > } fdir; /**< Filter identifier if FDIR enabled */ Any objection/comment to use hash.fdir.hi for this new "metadata" meaning? Olivier?