* [PATCH] net : sched: cls_api: deal with egdev path only if needed
@ 2018-07-26 17:45 Or Gerlitz
2018-07-26 17:46 ` Or Gerlitz
0 siblings, 1 reply; 4+ messages in thread
From: Or Gerlitz @ 2018-07-26 17:45 UTC (permalink / raw)
To: Greg KH
Cc: stable, Or Gerlitz, Or Gerlitz, David S. Miller, Greg Kroah-Hartman
[ Upstream commit f8f4bef322e4600c5856911c7a632c0e3da920d6 ]
When dealing with ingress rule on a netdev, if we did fine through the
conventional path, there's no need to continue into the egdev route,
and we can stop right there.
Not doing so may cause a 2nd rule to be added by the cls api layer
with the ingress being the egdev.
For example, under sriov switchdev scheme, a user rule of VFR A --> VFR B
will end up with two HW rules (1) VF A --> VF B and (2) uplink --> VF B
Fixes: 208c0f4b5237 ('net: sched: use tc_setup_cb_call to call per-block callbacks')
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
Hi Greg,
The commit that introduced the problem dates to 4.15 and the fix made
on 4.17. I see the fix was pushed to 4.16-stable but not to 4.15-stable,
so sending it now.
Or.
net/sched/cls_api.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index c2c732a..86d2d59 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -1587,7 +1587,7 @@ int tc_setup_cb_call(struct tcf_block *block, struct tcf_exts *exts,
return ret;
ok_count = ret;
- if (!exts)
+ if (!exts || ok_count)
return ok_count;
ret = tc_exts_setup_cb_egdev_call(exts, type, type_data, err_stop);
if (ret < 0)
--
2.3.7
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] net : sched: cls_api: deal with egdev path only if needed
2018-07-26 17:45 [PATCH] net : sched: cls_api: deal with egdev path only if needed Or Gerlitz
@ 2018-07-26 17:46 ` Or Gerlitz
2018-07-27 6:36 ` Greg KH
0 siblings, 1 reply; 4+ messages in thread
From: Or Gerlitz @ 2018-07-26 17:46 UTC (permalink / raw)
To: Greg KH; +Cc: Stable, David S. Miller, Or Gerlitz
On Thu, Jul 26, 2018 at 8:45 PM, Or Gerlitz <ogerlitz@mellanox.com> wrote:
> [ Upstream commit f8f4bef322e4600c5856911c7a632c0e3da920d6 ]
>
> When dealing with ingress rule on a netdev, if we did fine through the
> conventional path, there's no need to continue into the egdev route,
> and we can stop right there.
>
> Not doing so may cause a 2nd rule to be added by the cls api layer
> with the ingress being the egdev.
>
> For example, under sriov switchdev scheme, a user rule of VFR A --> VFR B
> will end up with two HW rules (1) VF A --> VF B and (2) uplink --> VF B
>
> Fixes: 208c0f4b5237 ('net: sched: use tc_setup_cb_call to call per-block callbacks')
> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>
> Hi Greg,
>
> The commit that introduced the problem dates to 4.15 and the fix made
> on 4.17. I see the fix was pushed to 4.16-stable but not to 4.15-stable,
> so sending it now.
Sorry for not marking it on the subject line, but this is for 4.15-stable
Or.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] net : sched: cls_api: deal with egdev path only if needed
2018-07-26 17:46 ` Or Gerlitz
@ 2018-07-27 6:36 ` Greg KH
2018-07-27 6:42 ` Or Gerlitz
0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2018-07-27 6:36 UTC (permalink / raw)
To: Or Gerlitz; +Cc: Stable, David S. Miller, Or Gerlitz
On Thu, Jul 26, 2018 at 08:46:22PM +0300, Or Gerlitz wrote:
> On Thu, Jul 26, 2018 at 8:45 PM, Or Gerlitz <ogerlitz@mellanox.com> wrote:
> > [ Upstream commit f8f4bef322e4600c5856911c7a632c0e3da920d6 ]
> >
> > When dealing with ingress rule on a netdev, if we did fine through the
> > conventional path, there's no need to continue into the egdev route,
> > and we can stop right there.
> >
> > Not doing so may cause a 2nd rule to be added by the cls api layer
> > with the ingress being the egdev.
> >
> > For example, under sriov switchdev scheme, a user rule of VFR A --> VFR B
> > will end up with two HW rules (1) VF A --> VF B and (2) uplink --> VF B
> >
> > Fixes: 208c0f4b5237 ('net: sched: use tc_setup_cb_call to call per-block callbacks')
> > Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
> > Signed-off-by: David S. Miller <davem@davemloft.net>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > ---
> >
> > Hi Greg,
> >
> > The commit that introduced the problem dates to 4.15 and the fix made
> > on 4.17. I see the fix was pushed to 4.16-stable but not to 4.15-stable,
> > so sending it now.
>
> Sorry for not marking it on the subject line, but this is for 4.15-stable
4.15 is long end-of-life, sorry, there's nothing I can do for that
kernel anymore. Please always look at the front page of kernel.org for
what kernels are still "alive" when doing backports so you don't end up
doing work for no reason.
sorry,
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] net : sched: cls_api: deal with egdev path only if needed
2018-07-27 6:36 ` Greg KH
@ 2018-07-27 6:42 ` Or Gerlitz
0 siblings, 0 replies; 4+ messages in thread
From: Or Gerlitz @ 2018-07-27 6:42 UTC (permalink / raw)
To: Greg KH; +Cc: Stable, David S. Miller, Or Gerlitz
On Fri, Jul 27, 2018 at 9:36 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Thu, Jul 26, 2018 at 08:46:22PM +0300, Or Gerlitz wrote:
>> On Thu, Jul 26, 2018 at 8:45 PM, Or Gerlitz <ogerlitz@mellanox.com> wrote:
>> > [ Upstream commit f8f4bef322e4600c5856911c7a632c0e3da920d6 ]
>> >
>> > When dealing with ingress rule on a netdev, if we did fine through the
>> > conventional path, there's no need to continue into the egdev route,
>> > and we can stop right there.
>> >
>> > Not doing so may cause a 2nd rule to be added by the cls api layer
>> > with the ingress being the egdev.
>> >
>> > For example, under sriov switchdev scheme, a user rule of VFR A --> VFR B
>> > will end up with two HW rules (1) VF A --> VF B and (2) uplink --> VF B
>> >
>> > Fixes: 208c0f4b5237 ('net: sched: use tc_setup_cb_call to call per-block callbacks')
>> > Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
>> > Signed-off-by: David S. Miller <davem@davemloft.net>
>> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> > ---
>> >
>> > Hi Greg,
>> >
>> > The commit that introduced the problem dates to 4.15 and the fix made
>> > on 4.17. I see the fix was pushed to 4.16-stable but not to 4.15-stable,
>> > so sending it now.
>>
>> Sorry for not marking it on the subject line, but this is for 4.15-stable
>
> 4.15 is long end-of-life, sorry, there's nothing I can do for that
> kernel anymore. Please always look at the front page of kernel.org for
> what kernels are still "alive" when doing backports so you don't end up
> doing work for no reason.
I see, so I missed the train... luckily I can tell people
that step on the bug to catch the next train/s - long live linux :)
Or.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-07-27 8:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-26 17:45 [PATCH] net : sched: cls_api: deal with egdev path only if needed Or Gerlitz
2018-07-26 17:46 ` Or Gerlitz
2018-07-27 6:36 ` Greg KH
2018-07-27 6:42 ` Or Gerlitz
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.