From: Jakub Kicinski <kuba@kernel.org>
To: "Nambiar, Amritha" <amritha.nambiar@intel.com>
Cc: "Nguyen, Anthony L" <anthony.l.nguyen@intel.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"edumazet@google.com" <edumazet@google.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"Mogilappagari, Sudheer" <sudheer.mogilappagari@intel.com>,
"Samudrala, Sridhar" <sridhar.samudrala@intel.com>,
"Sreenivas, Bharathi" <bharathi.sreenivas@intel.com>,
Jamal Hadi Salim <jhs@mojatatu.com>
Subject: Re: [PATCH net-next 01/11] ice: Add support for classid based queue selection
Date: Fri, 29 Apr 2022 17:17:17 -0700 [thread overview]
Message-ID: <20220429171717.5b0b2a81@kernel.org> (raw)
In-Reply-To: <MWHPR11MB1293C17C30E689270E0C39AAF1FC9@MWHPR11MB1293.namprd11.prod.outlook.com>
On Fri, 29 Apr 2022 23:43:06 +0000 Nambiar, Amritha wrote:
> > > HW.
> > > Example:
> > > $ tc filter add dev ens4f0 protocol ip ingress flower\
> > > dst_ip 192.168.1.12 ip_proto tcp dst_port 5001\
> > > skip_sw classid ffff:0x5
> > >
> > > The above command adds an ingress filter, the accepted packets
> > > will be directed to queue 4. The major number represents the ingress
> >
> > ..and "directed" here. TC is used for so many different things you
> > really need to explain what your use case is.
> >
>
> Sorry about using the terms "forward" and "direct" interchangeably in this
> context. I should have been more consistent with the terminology.
>
> The use case is to accept incoming packets into a queue via TC ingress filter.
> TC filters are offloaded to a hardware table called the "switch" table. This
> table supports two types of actions in hardware termed as "forward to queue" and
> "forward to a VSI aka queue-group". Accepting packets into a queue using
> ethtool filter is also supported, but this type of filter is added into a
> different hardware table called the "flow director" table. The flow director
> table has certain restrictions that it can only have filters with the same packet
> type. The switch table does not have this restriction.
>
> > > qdisc. The general rule is "classID's minor number - 1" upto max
> > > queues supported. The queue number is in hex format.
> >
> > The "general rule" you speak of is a rule you'd like to establish,
> > or an existing rule?
>
> This is an existing rule already being used in the TX qdiscs. We are using
> this in the ingress qdisc and offloading RX filters following the explanation
> from Netdev 0x13 session presented by Jamal. Section 4.1 from
> https://legacy.netdevconf.info/0x13/session.html?talk-tc-u-classifier
> "There is one interesting tidbit on the above rule exposed
> via the "classid 1:1" construct: the accepted packets will be
> queued to DMA ring 0. If classid 1:2 was used then they
> would be queued to DMA ring 1 etc. The general rule is the
> "classid's minor number - 1" upto a max of DMA queues
> supported by the NIC (64 in the case of the ixgbe). By definition, this is
> how tc classids are intended to be used i.e they select queues (in this
> case hardware ingress queues)."
So we're faking mqprio behavior on ingress? I guess that's fine.
Wouldn't SKBEDIT_F_QUEUE_MAPPING be a more natural fit here?
next prev parent reply other threads:[~2022-04-30 0:17 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-28 17:24 [PATCH net-next 00/11][pull request] 100GbE Intel Wired LAN Driver Updates 2022-04-28 Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 01/11] ice: Add support for classid based queue selection Tony Nguyen
2022-04-28 23:04 ` Jakub Kicinski
2022-04-29 23:43 ` Nambiar, Amritha
2022-04-30 0:17 ` Jakub Kicinski [this message]
2022-04-30 2:00 ` Nambiar, Amritha
2022-04-30 2:42 ` Jakub Kicinski
2022-05-03 10:32 ` Jamal Hadi Salim
2022-05-03 15:47 ` Jakub Kicinski
2022-05-03 21:44 ` Jamal Hadi Salim
2022-04-28 17:24 ` [PATCH net-next 02/11] ice: use min_t() to make code cleaner in ice_gnss Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 03/11] ice: introduce common helper for retrieving VSI by vsi_num Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 04/11] ice: return ENOSPC when exceeding ICE_MAX_CHAIN_WORDS Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 05/11] ice: get switch id on switchdev devices Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 06/11] ice: add newline to dev_dbg in ice_vf_fdir_dump_info Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 07/11] ice: always check VF VSI pointer values Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 08/11] ice: remove return value comment for ice_reset_all_vfs Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 09/11] ice: fix wording in comment for ice_reset_vf Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 10/11] ice: add a function comment for ice_cfg_mac_antispoof Tony Nguyen
2022-04-28 17:24 ` [PATCH net-next 11/11] ice: remove period on argument description in ice_for_each_vf Tony Nguyen
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=20220429171717.5b0b2a81@kernel.org \
--to=kuba@kernel.org \
--cc=amritha.nambiar@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=bharathi.sreenivas@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=jhs@mojatatu.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sridhar.samudrala@intel.com \
--cc=sudheer.mogilappagari@intel.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).