All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eli Britstein <elibr@nvidia.com>
To: Ilya Maximets <i.maximets@ovn.org>,
	"Finn, Emma" <emma.finn@intel.com>,
	"dev@openvswitch.org" <dev@openvswitch.org>
Cc: "Stokes, Ian" <ian.stokes@intel.com>,
	Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>,
	Gaetan Rivet <gaetanr@nvidia.com>,
	"Majd Dibbiny" <majd@nvidia.com>, Salem Sol <salems@nvidia.com>,
	Andrew Rybchenko <Andrew.Rybchenko@oktetlabs.ru>,
	Ori Kam <orika@nvidia.com>, dev <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH V3 1/2] netdev-offload-dpdk: Use has_vlan match attribute
Date: Tue, 24 Aug 2021 19:04:41 +0300	[thread overview]
Message-ID: <6eae08ab-dc19-7623-ba2c-e76f8c435659@nvidia.com> (raw)
In-Reply-To: <7f98de95-144f-bddd-6747-da145fc1e6d9@ovn.org>


On 8/24/2021 6:47 PM, Ilya Maximets wrote:
> External email: Use caution opening links or attachments
>
>
> On 8/24/21 5:25 PM, Eli Britstein wrote:
>> On 8/24/2021 6:08 PM, Finn, Emma wrote:
>>> External email: Use caution opening links or attachments
>>>
>>>
>>> -----Original Message-----
>>> From: Eli Britstein <elibr@nvidia.com>
>>> Sent: Monday 16 August 2021 14:55
>>> To: dev@openvswitch.org; Ilya Maximets <i.maximets@ovn.org>
>>> Cc: Finn, Emma <emma.finn@intel.com>; Stokes, Ian <ian.stokes@intel.com>; Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>; Gaetan Rivet <gaetanr@nvidia.com>; Majd Dibbiny <majd@nvidia.com>; Eli Britstein <elibr@nvidia.com>; Salem Sol <salems@nvidia.com>
>>> Subject: [PATCH V3 1/2] netdev-offload-dpdk: Use has_vlan match attribute
>>>
>>> DPDK 20.11 introduced an ability to specify existance/non-existance of VLAN tag by [1].
>>> Use this attribute.
>>>
>>> [1]: 09315fc83861 ("ethdev: add VLAN attributes to ethernet and VLAN items")
>>>
>>> Signed-off-by: Eli Britstein <elibr@nvidia.com>
>>> Reviewed-by: Salem Sol <salems@nvidia.com>
>>>
>>> Hi Eli,
>>>
>>> I tested this but currently we don't have support in the i40e pmd for the has_vlan match attribute and with these patches it is breaking offload for VLAN packets on Intel devices.
>> Hi Emma,
>>
>> Thanks for testing.
>>
>> Is adding such support in your plans?
>>
>> How do you suggest to proceed? It is needed in order to fix OVS bug.
>>
>> Thanks,
>>
>> Eli
> The "Table 1.2 rte_flow items availability in networking drivers"
> here: https://doc.dpdk.org/guides/nics/overview.html
> says that both ixgbe and i40e has a full support for 'vlan' and
> 'eth' items.  Is it a bug?  Should it be 'partial' instead?
>
> In general, this sounds like a big limitation of rte_flow API.
> I mean the fact that there is no way to get what is implemented by
> a particular driver and what is not implemented in runtime.
> Someone should, probably, work on adding this kind of API to DPDK.
> Otherwise, we will stuck with inability to use certain actions/matches
> unless all the drivers supports them (which is also hard to check
> taking documentation issues into account).  If I missed it and the
> API actually exists, we should definitely start using it.
>
> CC: dpdk-dev and rte_flow maintainers.
>
> Thoughts?

There is such an API - rte_flow_validate().

However, in OVS, as each flow is independent and can have different 
matches and actions, we just call rte_flow_create(). The PMD (at least 
mlx5) first internally validates it (as if rte_flow_validate() is 
called), and bail out with a failure in case validate fails.

Can you suggest an effective way to utilize it in OVS?

In theory, if the API exists in rte_flow, OVS should not care if all 
PMDs support it or not.

In practice, the "has_vlan" field was introduced only in 20.11, and 
apparently Intel has not adapted i40e PMD, so it breaks their offloads. 
I suspected this so I've added Emma and Ian to review it.

I don't know i40e HW capabilities, but at least from PMD point of view, 
it can be silently ignored until a proper support is added.

>
> Best regards, Ilya Maximets.

  reply	other threads:[~2021-08-24 16:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20210816135433.1922261-1-elibr@nvidia.com>
     [not found] ` <SN6PR11MB316556D38F83BA754D38C0BDEAC59@SN6PR11MB3165.namprd11.prod.outlook.com>
     [not found]   ` <221d1783-58c0-5cb4-eb0d-c6ff5648636f@nvidia.com>
2021-08-24 15:47     ` [dpdk-dev] [PATCH V3 1/2] netdev-offload-dpdk: Use has_vlan match attribute Ilya Maximets
2021-08-24 16:04       ` Eli Britstein [this message]
2021-08-24 16:20         ` Ilya Maximets

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6eae08ab-dc19-7623-ba2c-e76f8c435659@nvidia.com \
    --to=elibr@nvidia.com \
    --cc=Andrew.Rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=dev@openvswitch.org \
    --cc=emma.finn@intel.com \
    --cc=gaetanr@nvidia.com \
    --cc=i.maximets@ovn.org \
    --cc=ian.stokes@intel.com \
    --cc=majd@nvidia.com \
    --cc=orika@nvidia.com \
    --cc=salems@nvidia.com \
    --cc=sriharsha.basavapatna@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.