[dpdk-dev] [PATCH v3 1/3] ethdev: support metadata as flow rule criteria

Andrew Rybchenko arybchenko at solarflare.com
Fri Oct 5 15:39:57 CEST 2018


On 10/5/18 4:31 PM, Ferruh Yigit wrote:
> 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 <dekelp at 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?

As for me, I'd prefer to see dedicated union member something like
it was suggested in [1].

Andrew.

[1] http://mails.dpdk.org/archives/dev/2018-September/111954.html


More information about the dev mailing list