[dpdk-dev] [PATCH 1/6] ethdev: add a function to look up Rx offload names

Andrew Rybchenko arybchenko at solarflare.com
Thu Jan 18 08:16:04 CET 2018


On 01/17/2018 08:33 PM, Thomas Monjalon wrote:
> Hi, 2 comments below
>
> 11/01/2018 09:12, Andrew Rybchenko:
>> From: Ivan Malov <ivan.malov at oktetlabs.ru>
>>
>> +#define	RTE_RX_OFFLOAD_BIT2STR(_name)	\
>> +	{ DEV_RX_OFFLOAD_##_name, #_name }
>> +
>> +static const struct {
>> +	uint64_t offload;
>> +	const char *name;
>> +} rte_rx_offload_names[] = {
>> +	RTE_RX_OFFLOAD_BIT2STR(VLAN_STRIP),
>> +	RTE_RX_OFFLOAD_BIT2STR(IPV4_CKSUM),
>> +	RTE_RX_OFFLOAD_BIT2STR(UDP_CKSUM),
>> +	RTE_RX_OFFLOAD_BIT2STR(TCP_CKSUM),
>> +	RTE_RX_OFFLOAD_BIT2STR(TCP_LRO),
>> +	RTE_RX_OFFLOAD_BIT2STR(QINQ_STRIP),
>> +	RTE_RX_OFFLOAD_BIT2STR(OUTER_IPV4_CKSUM),
>> +	RTE_RX_OFFLOAD_BIT2STR(MACSEC_STRIP),
>> +	RTE_RX_OFFLOAD_BIT2STR(HEADER_SPLIT),
>> +	RTE_RX_OFFLOAD_BIT2STR(VLAN_FILTER),
>> +	RTE_RX_OFFLOAD_BIT2STR(VLAN_EXTEND),
>> +	RTE_RX_OFFLOAD_BIT2STR(JUMBO_FRAME),
>> +	RTE_RX_OFFLOAD_BIT2STR(CRC_STRIP),
>> +	RTE_RX_OFFLOAD_BIT2STR(SCATTER),
>> +	RTE_RX_OFFLOAD_BIT2STR(TIMESTAMP),
>> +	RTE_RX_OFFLOAD_BIT2STR(SECURITY),
>> +};
>> +
>> +#undef RTE_RX_OFFLOAD_BIT2STR
> Why this undef?

It is a constant-local macro with assumption to be used as
initializer of the corresponding structure. So, under is just to
limit its context and be sure that it is will not clash or be reused
most likely in a wrong way.

>> --- a/lib/librte_ether/rte_ethdev_version.map
>> +++ b/lib/librte_ether/rte_ethdev_version.map
>> @@ -198,6 +198,12 @@ DPDK_17.11 {
>>   
>>   } DPDK_17.08;
>>   
>> +DPDK_18.02 {
>> +	global:
>> +
>> +	rte_eth_dev_rx_offload_name;
>> +} DPDK_17.11;
> New functions should be experimental.

Thanks, I've moved it to EXPERIMENTAL and added a comment
as highlighted by Ferruh in another review.

I've not removed DPDK_17.11 base for EXPERIMENTAL in map file.
If it should be done, it should be done separately.

Thanks.

>>   EXPERIMENTAL {
>>   	global:



More information about the dev mailing list