[dpdk-dev] [PATCH 03/14] ethdev: remove legacy EtherType filter type support

Andrew Rybchenko arybchenko at solarflare.com
Wed Oct 21 18:12:12 CEST 2020


On 10/21/20 8:38 AM, Guo, Jia wrote:
> 
>> -----Original Message-----
>> From: Andrew Rybchenko <arybchenko at solarflare.com>
>> Sent: Sunday, October 18, 2020 10:09 PM
>> To: Lu, Wenzhuo <wenzhuo.lu at intel.com>; Xing, Beilei
>> <beilei.xing at intel.com>; Iremonger, Bernard
>> <bernard.iremonger at intel.com>; Ray Kinsella <mdr at ashroe.eu>; Neil
>> Horman <nhorman at tuxdriver.com>; Ajit Khaparde
>> <ajit.khaparde at broadcom.com>; Somnath Kotur
>> <somnath.kotur at broadcom.com>; Guo, Jia <jia.guo at intel.com>; Wang,
>> Haiyue <haiyue.wang at intel.com>; Ziyang Xuan
>> <xuanziyang2 at huawei.com>; Xiaoyun Wang
>> <cloud.wangxiaoyun at huawei.com>; Guoyang Zhou
>> <zhouguoyang at huawei.com>; Rasesh Mody <rmody at marvell.com>;
>> Shahed Shaikh <shshaikh at marvell.com>; Andrew Rybchenko
>> <andrew.rybchenko at oktetlabs.ru>; Thomas Monjalon
>> <thomas at monjalon.net>; Yigit, Ferruh <ferruh.yigit at intel.com>
>> Cc: dev at dpdk.org
>> Subject: [PATCH 03/14] ethdev: remove legacy EtherType filter type support
>>
>> RTE flow API should be used for filtering.
>>
>> Move corresponding definitions to ethdev internal driver API since it is used
>> by drivers internally.
>> Preserve RTE_ETH_FILTER_ETHERTYPE because of it as well.
>>
>> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
>> ---
>>   app/test-pmd/cmdline.c                | 115 -------------------
>>   doc/guides/rel_notes/deprecation.rst  |   2 +-
>>   drivers/net/bnxt/bnxt_ethdev.c        | 157 --------------------------
>>   drivers/net/e1000/igb_ethdev.c        |  85 --------------
>>   drivers/net/hinic/hinic_pmd_ethdev.h  |   1 +
>>   drivers/net/i40e/i40e_ethdev.c        |  45 --------
>>   drivers/net/ixgbe/ixgbe_ethdev.c      |  85 --------------
>>   drivers/net/qede/qede_filter.c        |   1 -
>>   drivers/net/sfc/sfc_ethdev.c          |   3 -
>>   lib/librte_ethdev/rte_eth_ctrl.h      |  19 ----
>>   lib/librte_ethdev/rte_ethdev_driver.h |  23 ++++
>>   11 files changed, 25 insertions(+), 511 deletions(-)
>>
> 
> <...>
> 
>>   #define RTE_FLEX_FILTER_MAXLEN128/**< bytes to use in flex filter. */
>> #define RTE_FLEX_FILTER_MASK_SIZE\
>> (RTE_ALIGN(RTE_FLEX_FILTER_MAXLEN, CHAR_BIT) / CHAR_BIT) diff --git
>> a/lib/librte_ethdev/rte_ethdev_driver.h
>> b/lib/librte_ethdev/rte_ethdev_driver.h
>> index c63b9f7eb7..67a83dacc7 100644
>> --- a/lib/librte_ethdev/rte_ethdev_driver.h
>> +++ b/lib/librte_ethdev/rte_ethdev_driver.h
>> @@ -1342,6 +1342,29 @@ int
>>   rte_eth_hairpin_queue_peer_unbind(uint16_t cur_port, uint16_t
>> cur_queue,
>>     uint32_t direction);
>>
>> +
>> +/*
> 
> s/*/**

No, it is not going to be a comment picked up by doxygen.
Otherwise it requires @group mark up etc which is not used in DPDK
as far as I know.

>> + * Legacy ethdev API used internally by drivers.
>> + */
>> +
> 
> I am not sure if this doc is need?

I think it is required to highlight that it is legacy and should
not be used by new drivers.

>> +/**
>> + * Define all structures for Ethertype Filter type.
>> + */
>> +
>> +#define RTE_ETHTYPE_FLAGS_MAC    0x0001 /**< If set, compare mac */
>> +#define RTE_ETHTYPE_FLAGS_DROP   0x0002 /**< If set, drop packet when
>> match */
>> +
>> +/**
>> + * A structure used to define the ethertype filter entry
>> + * to support RTE_ETH_FILTER_ETHERTYPE data representation.
>> + */
>> +struct rte_eth_ethertype_filter {
>> +struct rte_ether_addr mac_addr;   /**< Mac address to match. */
>> +uint16_t ether_type;          /**< Ether type to match */
>> +uint16_t flags;               /**< Flags from RTE_ETHTYPE_FLAGS_* */
>> +uint16_t queue;               /**< Queue assigned to when match*/
>> +};
>> +
>>   #ifdef __cplusplus
>>   }
>>   #endif
>> --
>> 2.17.1
>>
> 



More information about the dev mailing list