From: Jiri Pirko <jiri@resnulli.us>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [jkirsher/next-queue PATCH v4 0/6] tc-flower based cloud filters in i40e
Date: Wed, 11 Oct 2017 22:58:30 +0200 [thread overview]
Message-ID: <20171011205830.GD9297@nanopsycho> (raw)
In-Reply-To: <20171011.134652.1653141099248918341.davem@davemloft.net>
Wed, Oct 11, 2017 at 10:46:52PM CEST, davem at davemloft.net wrote:
>From: Jiri Pirko <jiri@resnulli.us>
>Date: Wed, 11 Oct 2017 22:38:32 +0200
>
>> Wed, Oct 11, 2017 at 07:46:27PM CEST, alexander.duyck at gmail.com wrote:
>>>On Wed, Oct 11, 2017 at 5:56 AM, Jiri Pirko <jiri@resnulli.us> wrote:
>>>> Wed, Oct 11, 2017 at 02:24:12AM CEST, amritha.nambiar at intel.com wrote:
>>>>>This patch series enables configuring cloud filters in i40e
>>>>>using the tc-flower classifier. The classification function
>>>>>of the filter is to match a packet to a class. cls_flower is
>>>>>extended to offload classid to hardware. The offloaded classid
>>>>>is used direct matched packets to a traffic class on the device.
>>>>>The approach here is similar to the tc 'prio' qdisc which uses
>>>>>the classid for band selection. The ingress qdisc is called ffff:0,
>>>>>so traffic classes are ffff:1 to ffff:8 (i40e has max of 8 TCs).
>>>>
>>>>
>>>> NACK. This clearly looks like abuse of classid to something
>>>> else. Classid is here to identify qdisc instance. However, you use it
>>>> for hw tclass identification. This is mixing of apples and oranges.
>>>>
>>>> Why?
>>>>
>>>> Please don't try to abuse things! This is not nice.
>>>
>>>This isn't an abuse. This is reproducing in hardware what is already
>>>the behavior for software. Isn't that how offloads are supposed to
>>>work?
>>
>> What is meaning of classid in HW? Classid is SW only identification of
>> qdisc instances. No relation to HW instances = abuse.
>
>Jiri I really don't see what the problem is.
>
>As long as the driver does the right thing when changes are made to the
>qdisc, it doesn't really matter what "key" they use to refer to it.
>
>It could have just as easily used the qdisc pointer and then internally
>use some IDR allocated ID to refer to it in the driver and hardware.
>
>But that's such a waste, we have a unique handle already so why can't
>the driver just use that?
Well if I see classid, I expect it should refer to qdisc instance. So
far, this has been always a case. But for some drivers, this would mean
something totally different and unrelated. So what should I think?
What's next? Classid could be abused to identify something else. I don't
understand why.
classid in kernel and tclass in hw are 2 completely unrelated things.
Why they should share the same userspace api? What am I missing that
indicates this is not an abuse?
There should be clean and well-defined userspace api:
1) classid to identify qdisc instances
2) something else to identify HW tclasses
WARNING: multiple messages have this Message-ID (diff)
From: Jiri Pirko <jiri@resnulli.us>
To: David Miller <davem@davemloft.net>
Cc: alexander.duyck@gmail.com, amritha.nambiar@intel.com,
intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com,
alexander.h.duyck@intel.com, netdev@vger.kernel.org,
jhs@mojatatu.com, xiyou.wangcong@gmail.com
Subject: Re: [jkirsher/next-queue PATCH v4 0/6] tc-flower based cloud filters in i40e
Date: Wed, 11 Oct 2017 22:58:30 +0200 [thread overview]
Message-ID: <20171011205830.GD9297@nanopsycho> (raw)
In-Reply-To: <20171011.134652.1653141099248918341.davem@davemloft.net>
Wed, Oct 11, 2017 at 10:46:52PM CEST, davem@davemloft.net wrote:
>From: Jiri Pirko <jiri@resnulli.us>
>Date: Wed, 11 Oct 2017 22:38:32 +0200
>
>> Wed, Oct 11, 2017 at 07:46:27PM CEST, alexander.duyck@gmail.com wrote:
>>>On Wed, Oct 11, 2017 at 5:56 AM, Jiri Pirko <jiri@resnulli.us> wrote:
>>>> Wed, Oct 11, 2017 at 02:24:12AM CEST, amritha.nambiar@intel.com wrote:
>>>>>This patch series enables configuring cloud filters in i40e
>>>>>using the tc-flower classifier. The classification function
>>>>>of the filter is to match a packet to a class. cls_flower is
>>>>>extended to offload classid to hardware. The offloaded classid
>>>>>is used direct matched packets to a traffic class on the device.
>>>>>The approach here is similar to the tc 'prio' qdisc which uses
>>>>>the classid for band selection. The ingress qdisc is called ffff:0,
>>>>>so traffic classes are ffff:1 to ffff:8 (i40e has max of 8 TCs).
>>>>
>>>>
>>>> NACK. This clearly looks like abuse of classid to something
>>>> else. Classid is here to identify qdisc instance. However, you use it
>>>> for hw tclass identification. This is mixing of apples and oranges.
>>>>
>>>> Why?
>>>>
>>>> Please don't try to abuse things! This is not nice.
>>>
>>>This isn't an abuse. This is reproducing in hardware what is already
>>>the behavior for software. Isn't that how offloads are supposed to
>>>work?
>>
>> What is meaning of classid in HW? Classid is SW only identification of
>> qdisc instances. No relation to HW instances = abuse.
>
>Jiri I really don't see what the problem is.
>
>As long as the driver does the right thing when changes are made to the
>qdisc, it doesn't really matter what "key" they use to refer to it.
>
>It could have just as easily used the qdisc pointer and then internally
>use some IDR allocated ID to refer to it in the driver and hardware.
>
>But that's such a waste, we have a unique handle already so why can't
>the driver just use that?
Well if I see classid, I expect it should refer to qdisc instance. So
far, this has been always a case. But for some drivers, this would mean
something totally different and unrelated. So what should I think?
What's next? Classid could be abused to identify something else. I don't
understand why.
classid in kernel and tclass in hw are 2 completely unrelated things.
Why they should share the same userspace api? What am I missing that
indicates this is not an abuse?
There should be clean and well-defined userspace api:
1) classid to identify qdisc instances
2) something else to identify HW tclasses
next prev parent reply other threads:[~2017-10-11 20:58 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-11 0:24 [Intel-wired-lan] [jkirsher/next-queue PATCH v4 0/6] tc-flower based cloud filters in i40e Amritha Nambiar
2017-10-11 0:24 ` Amritha Nambiar
2017-10-11 0:24 ` [Intel-wired-lan] [jkirsher/next-queue PATCH v4 1/6] cls_flower: Offload classid to hardware Amritha Nambiar
2017-10-11 0:24 ` Amritha Nambiar
2017-10-11 0:24 ` [Intel-wired-lan] [jkirsher/next-queue PATCH v4 2/6] i40e: Map TCs with the VSI seids Amritha Nambiar
2017-10-11 0:24 ` Amritha Nambiar
2017-10-11 0:24 ` [Intel-wired-lan] [jkirsher/next-queue PATCH v4 3/6] i40e: Cloud filter mode for set_switch_config command Amritha Nambiar
2017-10-11 0:24 ` Amritha Nambiar
2017-10-11 23:30 ` [Intel-wired-lan] " Shannon Nelson
2017-10-11 23:30 ` Shannon Nelson
2017-10-26 21:10 ` Nambiar, Amritha
2017-10-26 21:10 ` Nambiar, Amritha
2017-10-11 0:24 ` [Intel-wired-lan] [jkirsher/next-queue PATCH v4 4/6] i40e: Admin queue definitions for cloud filters Amritha Nambiar
2017-10-11 0:24 ` Amritha Nambiar
2017-10-11 23:30 ` [Intel-wired-lan] " Shannon Nelson
2017-10-11 23:30 ` Shannon Nelson
2017-10-11 0:24 ` [Intel-wired-lan] [jkirsher/next-queue PATCH v4 5/6] i40e: Clean up of " Amritha Nambiar
2017-10-11 0:24 ` Amritha Nambiar
2017-10-11 23:30 ` [Intel-wired-lan] " Shannon Nelson
2017-10-11 23:30 ` Shannon Nelson
2017-10-11 0:24 ` [Intel-wired-lan] [jkirsher/next-queue PATCH v4 6/6] i40e: Enable cloud filters via tc-flower Amritha Nambiar
2017-10-11 0:24 ` Amritha Nambiar
2017-10-11 23:30 ` [Intel-wired-lan] " Shannon Nelson
2017-10-11 23:30 ` Shannon Nelson
2017-10-26 21:29 ` Nambiar, Amritha
2017-10-26 21:29 ` Nambiar, Amritha
2017-10-26 21:35 ` Shannon Nelson
2017-10-26 21:35 ` Shannon Nelson
2017-10-26 21:47 ` Nambiar, Amritha
2017-10-26 21:47 ` Nambiar, Amritha
2017-10-11 12:42 ` [Intel-wired-lan] [jkirsher/next-queue PATCH v4 0/6] tc-flower based cloud filters in i40e Jamal Hadi Salim
2017-10-11 12:42 ` Jamal Hadi Salim
2017-10-11 22:41 ` [Intel-wired-lan] " Nambiar, Amritha
2017-10-11 22:41 ` Nambiar, Amritha
2017-10-11 12:56 ` [Intel-wired-lan] " Jiri Pirko
2017-10-11 12:56 ` Jiri Pirko
2017-10-11 17:46 ` [Intel-wired-lan] " Alexander Duyck
2017-10-11 17:46 ` Alexander Duyck
2017-10-11 20:38 ` [Intel-wired-lan] " Jiri Pirko
2017-10-11 20:38 ` Jiri Pirko
2017-10-11 20:46 ` [Intel-wired-lan] " David Miller
2017-10-11 20:46 ` David Miller
2017-10-11 20:58 ` Jiri Pirko [this message]
2017-10-11 20:58 ` Jiri Pirko
2017-10-11 21:19 ` [Intel-wired-lan] " David Miller
2017-10-11 21:19 ` David Miller
2017-10-11 21:28 ` [Intel-wired-lan] " Jiri Pirko
2017-10-11 21:28 ` Jiri Pirko
2017-10-12 7:05 ` [Intel-wired-lan] " Alexander Duyck
2017-10-12 7:05 ` Alexander Duyck
2017-10-12 7:30 ` [Intel-wired-lan] " Jiri Pirko
2017-10-12 7:30 ` Jiri Pirko
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=20171011205830.GD9297@nanopsycho \
--to=jiri@resnulli.us \
--cc=intel-wired-lan@osuosl.org \
/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.