From: Ahmed Zaki <ahmed.zaki@intel.com>
To: Edward Cree <ecree.xilinx@gmail.com>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Jiri Pirko <jiri@resnulli.us>
Cc: <stephen@networkplumber.org>, <davem@davemloft.net>,
<edumazet@google.com>, <pabeni@redhat.com>, <corbet@lwn.net>,
<xiyou.wangcong@gmail.com>, <netdev@vger.kernel.org>,
"Chittim, Madhu" <madhu.chittim@intel.com>,
"Samudrala, Sridhar" <sridhar.samudrala@intel.com>,
<amritha.nambiar@intel.com>,
Jan Sokolowski <jan.sokolowski@intel.com>,
Jakub Kicinski <kuba@kernel.org>
Subject: Re: [RFC]: raw packet filtering via tc-flower
Date: Mon, 26 Feb 2024 07:40:55 -0700 [thread overview]
Message-ID: <40539b7b-9bff-4fca-9004-16bf68aca11f@intel.com> (raw)
In-Reply-To: <3c5c69f8-b7c1-6de7-e22a-5bb267f5562d@gmail.com>
On 2024-02-23 6:44 a.m., Edward Cree wrote:
> On 23/02/2024 13:32, Jamal Hadi Salim wrote:
>> u32 has a DSL that deals with parsing as well, which includes dealing
>> with variable packet offsets etc. That is a necessary ingredient if
>> you want to do pragmatic parsing (example how do you point to TCP
>> ports if the IP header has options etc).
>
> My understanding (Ahmed can correct me) is that the proposed raw
> filtering here would not support variable packet offsets at all.
> That is precisely why I consider it a narrow hack for specialised
> use-cases and thus oppose its addition to cls_flower.
Intel's DDP (NVM) comes with default parser tables that contain all the
supported protocol definitions. In order to use RSS or flow director on
any of these protocol/field that is not defined in ethtool/tc, we
usually need to submit patches for kernel, PF and even virtchannel and
vf drivers if we want support on the VF.
While Intel's hardware supports programming the parser IP stage (and
that would allow mixed protocol field + binary matching/arbitrary
offset), for now we want to support something like DPDK's raw filtering:
https://doc.dpdk.org/dts/test_plans/iavf_fdir_protocol_agnostic_flow_test_plan.html#test-case-1-vf-fdir-mac-ipv4-udp
What we had in mind is offloading based on exclusive binary matching,
not mixed protocol field + binary matching. Also, as in my original
example, may be restrict the protocol to 802_3, so all parsing starts at
MAC hdr which would make the offset calculations much easier.
Please advice what is the best way forward, flower vs u32, new filter,
..etc.
Thanks
Ahmed, Sridhar, Amritha
next prev parent reply other threads:[~2024-02-26 14:41 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-21 19:43 [RFC]: raw packet filtering via tc-flower Ahmed Zaki
2024-02-23 2:40 ` Jakub Kicinski
2024-02-23 9:51 ` Jiri Pirko
2024-02-23 12:07 ` Edward Cree
2024-02-23 12:22 ` Jiri Pirko
2024-02-23 12:36 ` Edward Cree
2024-02-23 13:32 ` Jamal Hadi Salim
2024-02-23 13:44 ` Edward Cree
2024-02-26 14:40 ` Ahmed Zaki [this message]
2024-02-26 15:03 ` Jakub Kicinski
2024-02-27 15:25 ` Jamal Hadi Salim
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=40539b7b-9bff-4fca-9004-16bf68aca11f@intel.com \
--to=ahmed.zaki@intel.com \
--cc=amritha.nambiar@intel.com \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=ecree.xilinx@gmail.com \
--cc=edumazet@google.com \
--cc=jan.sokolowski@intel.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=madhu.chittim@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sridhar.samudrala@intel.com \
--cc=stephen@networkplumber.org \
--cc=xiyou.wangcong@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).