[PATCH] doc: fix support table for ETH and VLAN flow items
Asaf Penso
asafp at nvidia.com
Tue Apr 26 10:55:44 CEST 2022
>-----Original Message-----
>From: Ferruh Yigit <ferruh.yigit at xilinx.com>
>Sent: Wednesday, April 20, 2022 8:52 PM
>To: Ilya Maximets <i.maximets at ovn.org>; dev at dpdk.org; Asaf Penso
><asafp at nvidia.com>
>Cc: Ajit Khaparde <ajit.khaparde at broadcom.com>; Rahul Lakkireddy
><rahul.lakkireddy at chelsio.com>; Hemant Agrawal
><hemant.agrawal at nxp.com>; Haiyue Wang <haiyue.wang at intel.com>; John
>Daley <johndale at cisco.com>; Guoyang Zhou <zhouguoyang at huawei.com>;
>Min Hu (Connor) <humin29 at huawei.com>; Beilei Xing
><beilei.xing at intel.com>; Jingjing Wu <jingjing.wu at intel.com>; Qi Zhang
><qi.z.zhang at intel.com>; Rosen Xu <rosen.xu at intel.com>; Matan Azrad
><matan at nvidia.com>; Slava Ovsiienko <viacheslavo at nvidia.com>; Liron Himi
><lironh at marvell.com>; Jiawen Wu <jiawenwu at trustnetic.com>; Ori Kam
><orika at nvidia.com>; Dekel Peled <dekelp at nvidia.com>; NBU-Contact-
>Thomas Monjalon (EXTERNAL) <thomas at monjalon.net>; stable at dpdk.org;
>NBU-Contact-Thomas Monjalon (EXTERNAL) <thomas at monjalon.net>
>Subject: Re: [PATCH] doc: fix support table for ETH and VLAN flow items
>
>On 3/16/2022 12:01 PM, Ilya Maximets wrote:
>> 'has_vlan' attribute is only supported by sfc, mlx5 and cnxk.
>> Other drivers doesn't support it. Most of them (like i40e) just
>> ignore it silently. Some drivers (like mlx4) never had a full support
>> of the eth item even before introduction of 'has_vlan'
>> (mlx4 allows to match on the destination MAC only).
>>
>> Same for the 'has_more_vlan' flag of the vlan item.
>>
>> Changing the support level to 'partial' for all such drivers.
>> This doesn't solve the issue, but at least marks the problematic
>> drivers.
>>
>
>Hi Asaf,
>
>This was the kind of maintanance issue I was referring to have this kind of
>capability documentation for flow API.
>
Are you referring to the fact that fields like has_vlan are not part of the table?
If so, you are right, but IMHO having the high level items still allows the users to understand what is supported quickly.
We can have another level of tables per each relevant item to address this specific issue.
In this case, we'll have a table for ETH that elaborates the different fields' support, like has_vlan.
If you are referring to a different issue, please elaborate.
>All below drivers are using 'RTE_FLOW_ITEM_TYPE_VLAN', the script verifies
>this, but are they actually supporting VLAN filter and in which case?
>
>We need comment from driver maintainers about the support level.
@Ori Kam, please comment for mlx driver.
>
>> Some details are available in:
>> https://bugs.dpdk.org/show_bug.cgi?id=958
>>
>> Fixes: 09315fc83861 ("ethdev: add VLAN attributes to ethernet and VLAN
>> items")
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
>> ---
>>
>> I added the stable in CC, but the patch should be extended while
>> backporting. For 21.11 the cnxk driver should be also updated, for
>> 20.11, sfc driver should also be included.
>>
>> doc/guides/nics/features/bnxt.ini | 4 ++--
>> doc/guides/nics/features/cxgbe.ini | 4 ++--
>> doc/guides/nics/features/dpaa2.ini | 4 ++--
>> doc/guides/nics/features/e1000.ini | 2 +-
>> doc/guides/nics/features/enic.ini | 4 ++--
>> doc/guides/nics/features/hinic.ini | 2 +-
>> doc/guides/nics/features/hns3.ini | 4 ++--
>> doc/guides/nics/features/i40e.ini | 4 ++--
>> doc/guides/nics/features/iavf.ini | 4 ++--
>> doc/guides/nics/features/ice.ini | 4 ++--
>> doc/guides/nics/features/igc.ini | 2 +-
>> doc/guides/nics/features/ipn3ke.ini | 4 ++--
>> doc/guides/nics/features/ixgbe.ini | 4 ++--
>> doc/guides/nics/features/mlx4.ini | 4 ++--
>> doc/guides/nics/features/mvpp2.ini | 4 ++--
>> doc/guides/nics/features/tap.ini | 4 ++--
>> doc/guides/nics/features/txgbe.ini | 4 ++--
>> 17 files changed, 31 insertions(+), 31 deletions(-)
>>
>> diff --git a/doc/guides/nics/features/bnxt.ini
>> b/doc/guides/nics/features/bnxt.ini
>> index afb5414b49..ac682c5779 100644
>> --- a/doc/guides/nics/features/bnxt.ini
>> +++ b/doc/guides/nics/features/bnxt.ini
>> @@ -57,7 +57,7 @@ Perf doc = Y
>>
>> [rte_flow items]
>> any = Y
>> -eth = Y
>> +eth = P
>> ipv4 = Y
>> ipv6 = Y
>> gre = Y
>> @@ -71,7 +71,7 @@ represented_port = Y
>> tcp = Y
>> udp = Y
>> vf = Y
>> -vlan = Y
>> +vlan = P
>> vxlan = Y
>>
>> [rte_flow actions]
>> diff --git a/doc/guides/nics/features/cxgbe.ini
>> b/doc/guides/nics/features/cxgbe.ini
>> index f674803ec4..f9912390fb 100644
>> --- a/doc/guides/nics/features/cxgbe.ini
>> +++ b/doc/guides/nics/features/cxgbe.ini
>> @@ -36,7 +36,7 @@ x86-64 = Y
>> Usage doc = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> ipv4 = Y
>> ipv6 = Y
>> pf = Y
>> @@ -44,7 +44,7 @@ phy_port = Y
>> tcp = Y
>> udp = Y
>> vf = Y
>> -vlan = Y
>> +vlan = P
>>
>> [rte_flow actions]
>> count = Y
>> diff --git a/doc/guides/nics/features/dpaa2.ini
>> b/doc/guides/nics/features/dpaa2.ini
>> index 4c06841a87..09ce66c788 100644
>> --- a/doc/guides/nics/features/dpaa2.ini
>> +++ b/doc/guides/nics/features/dpaa2.ini
>> @@ -31,7 +31,7 @@ ARMv8 = Y
>> Usage doc = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> gre = Y
>> icmp = Y
>> ipv4 = Y
>> @@ -41,7 +41,7 @@ raw = Y
>> sctp = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>>
>> [rte_flow actions]
>> drop = Y
>> diff --git a/doc/guides/nics/features/e1000.ini
>> b/doc/guides/nics/features/e1000.ini
>> index e4bdef6da9..a9cbed1c3c 100644
>> --- a/doc/guides/nics/features/e1000.ini
>> +++ b/doc/guides/nics/features/e1000.ini
>> @@ -31,7 +31,7 @@ x86-32 = Y
>> x86-64 = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> ipv4 = Y
>> ipv6 = Y
>> raw = Y
>> diff --git a/doc/guides/nics/features/enic.ini
>> b/doc/guides/nics/features/enic.ini
>> index 61bec4910e..6dbea9f36e 100644
>> --- a/doc/guides/nics/features/enic.ini
>> +++ b/doc/guides/nics/features/enic.ini
>> @@ -40,7 +40,7 @@ Usage doc = Y
>>
>> [rte_flow items]
>> ecpri = Y
>> -eth = Y
>> +eth = P
>> geneve = Y
>> geneve_opt = Y
>> gtp = Y
>> @@ -52,7 +52,7 @@ raw = Y
>> sctp = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>> vxlan = Y
>>
>> [rte_flow actions]
>> diff --git a/doc/guides/nics/features/hinic.ini
>> b/doc/guides/nics/features/hinic.ini
>> index 9f6f0ebf3a..ada6607fe9 100644
>> --- a/doc/guides/nics/features/hinic.ini
>> +++ b/doc/guides/nics/features/hinic.ini
>> @@ -40,7 +40,7 @@ ARMv8 = Y
>>
>> [rte_flow items]
>> any = Y
>> -eth = Y
>> +eth = P
>> icmp = Y
>> icmp6 = Y
>> ipv4 = Y
>> diff --git a/doc/guides/nics/features/hns3.ini
>> b/doc/guides/nics/features/hns3.ini
>> index 405b94f05c..338b4e6864 100644
>> --- a/doc/guides/nics/features/hns3.ini
>> +++ b/doc/guides/nics/features/hns3.ini
>> @@ -51,7 +51,7 @@ Linux = Y
>> ARMv8 = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> geneve = Y
>> icmp = Y
>> ipv4 = Y
>> @@ -60,7 +60,7 @@ nvgre = Y
>> sctp = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>> vxlan = Y
>> vxlan_gpe = Y
>>
>> diff --git a/doc/guides/nics/features/i40e.ini
>> b/doc/guides/nics/features/i40e.ini
>> index dd18fec217..6e141de326 100644
>> --- a/doc/guides/nics/features/i40e.ini
>> +++ b/doc/guides/nics/features/i40e.ini
>> @@ -54,7 +54,7 @@ Power8 = Y
>> [rte_flow items]
>> ah = Y
>> esp = Y
>> -eth = Y
>> +eth = P
>> gre = Y
>> gtpc = Y
>> gtpu = Y
>> @@ -69,7 +69,7 @@ sctp = Y
>> tcp = Y
>> udp = Y
>> vf = Y
>> -vlan = Y
>> +vlan = P
>> vxlan = Y
>>
>> [rte_flow actions]
>> diff --git a/doc/guides/nics/features/iavf.ini
>> b/doc/guides/nics/features/iavf.ini
>> index 01f514239e..c6694a1a94 100644
>> --- a/doc/guides/nics/features/iavf.ini
>> +++ b/doc/guides/nics/features/iavf.ini
>> @@ -40,7 +40,7 @@ ah = Y
>> arp_eth_ipv4 = Y
>> ecpri = Y
>> esp = Y
>> -eth = Y
>> +eth = P
>> gre = Y
>> gtpc = Y
>> gtpu = Y
>> @@ -57,7 +57,7 @@ ppp = Y
>> sctp = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>>
>> [rte_flow actions]
>> count = Y
>> diff --git a/doc/guides/nics/features/ice.ini
>> b/doc/guides/nics/features/ice.ini
>> index 7861790a51..0bd2f2d7b2 100644
>> --- a/doc/guides/nics/features/ice.ini
>> +++ b/doc/guides/nics/features/ice.ini
>> @@ -53,7 +53,7 @@ ah = Y
>> any = Y
>> arp_eth_ipv4 = Y
>> esp = Y
>> -eth = Y
>> +eth = P
>> gtpu = Y
>> gtp_psc = Y
>> icmp = Y
>> @@ -71,7 +71,7 @@ raw = Y
>> sctp = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>> vxlan = Y
>>
>> [rte_flow actions]
>> diff --git a/doc/guides/nics/features/igc.ini
>> b/doc/guides/nics/features/igc.ini
>> index f2c6fa28ad..b5deea3f61 100644
>> --- a/doc/guides/nics/features/igc.ini
>> +++ b/doc/guides/nics/features/igc.ini
>> @@ -35,7 +35,7 @@ Linux = Y
>> x86-64 = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> ipv4 = Y
>> ipv6 = Y
>> tcp = Y
>> diff --git a/doc/guides/nics/features/ipn3ke.ini
>> b/doc/guides/nics/features/ipn3ke.ini
>> index defc39f525..1f6b780273 100644
>> --- a/doc/guides/nics/features/ipn3ke.ini
>> +++ b/doc/guides/nics/features/ipn3ke.ini
>> @@ -47,13 +47,13 @@ x86-32 = Y
>> x86-64 = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> ipv4 = Y
>> mpls = Y
>> nvgre = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>> vxlan = Y
>>
>> [rte_flow actions]
>> diff --git a/doc/guides/nics/features/ixgbe.ini
>> b/doc/guides/nics/features/ixgbe.ini
>> index c5333d1142..e5cef81f9a 100644
>> --- a/doc/guides/nics/features/ixgbe.ini
>> +++ b/doc/guides/nics/features/ixgbe.ini
>> @@ -56,7 +56,7 @@ x86-32 = Y
>> x86-64 = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> e_tag = Y
>> fuzzy = Y
>> ipv4 = Y
>> @@ -66,7 +66,7 @@ raw = Y
>> sctp = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>> vxlan = Y
>>
>> [rte_flow actions]
>> diff --git a/doc/guides/nics/features/mlx4.ini
>> b/doc/guides/nics/features/mlx4.ini
>> index 82f6f0bc0b..03f59a5f8b 100644
>> --- a/doc/guides/nics/features/mlx4.ini
>> +++ b/doc/guides/nics/features/mlx4.ini
>> @@ -38,11 +38,11 @@ x86-64 = Y
>> Usage doc = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> ipv4 = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>>
>> [rte_flow actions]
>> drop = Y
>> diff --git a/doc/guides/nics/features/mvpp2.ini
>> b/doc/guides/nics/features/mvpp2.ini
>> index 1bcf74875e..653c9d08cb 100644
>> --- a/doc/guides/nics/features/mvpp2.ini
>> +++ b/doc/guides/nics/features/mvpp2.ini
>> @@ -24,13 +24,13 @@ ARMv8 = Y
>> Usage doc = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> ipv4 = Y
>> ipv6 = Y
>> raw = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>>
>> [rte_flow actions]
>> drop = Y
>> diff --git a/doc/guides/nics/features/tap.ini
>> b/doc/guides/nics/features/tap.ini
>> index b4a356e5d5..f26355e57f 100644
>> --- a/doc/guides/nics/features/tap.ini
>> +++ b/doc/guides/nics/features/tap.ini
>> @@ -27,12 +27,12 @@ x86-64 = Y
>> Usage doc = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> ipv4 = Y
>> ipv6 = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>>
>> [rte_flow actions]
>> drop = Y
>> diff --git a/doc/guides/nics/features/txgbe.ini
>> b/doc/guides/nics/features/txgbe.ini
>> index 22c74ba9e3..e21083052c 100644
>> --- a/doc/guides/nics/features/txgbe.ini
>> +++ b/doc/guides/nics/features/txgbe.ini
>> @@ -53,7 +53,7 @@ x86-32 = Y
>> x86-64 = Y
>>
>> [rte_flow items]
>> -eth = Y
>> +eth = P
>> e_tag = Y
>> fuzzy = Y
>> ipv4 = Y
>> @@ -63,7 +63,7 @@ raw = Y
>> sctp = Y
>> tcp = Y
>> udp = Y
>> -vlan = Y
>> +vlan = P
>> vxlan = Y
>>
>> [rte_flow actions]
More information about the dev
mailing list