* mlx5 stable backport help
@ 2019-02-20 6:36 David Miller
2019-02-20 20:01 ` Saeed Mahameed
0 siblings, 1 reply; 9+ messages in thread
From: David Miller @ 2019-02-20 6:36 UTC (permalink / raw)
To: saeedm; +Cc: ogerlitz, netdev
Saeed and Or,
I need help backporting two changes for -stable. Namely:
6707f74be8621ae067d2cf1c4485900e2742c20f ("net/mlx5e: Update hw flows when encap source mac changed")
218d05ce326f9e1b40a56085431fa1068b43d5d9 ("net/mlx5e: Don't overwrite pedit action when multiple pedit used")
For example, with the first one, not only has the code moved into
tc_tun.c but also we require the addition of get_route_and_out_devs(),
the passing in of the &route_dev, and also all of the new
dst_is_lag_dev logic. That's like 4 or 5 commits worth.
Thanks.
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: mlx5 stable backport help 2019-02-20 6:36 mlx5 stable backport help David Miller @ 2019-02-20 20:01 ` Saeed Mahameed 2019-02-20 20:27 ` David Miller 2019-02-21 10:21 ` Or Gerlitz 0 siblings, 2 replies; 9+ messages in thread From: Saeed Mahameed @ 2019-02-20 20:01 UTC (permalink / raw) To: davem@davemloft.net; +Cc: netdev@vger.kernel.org, Or Gerlitz On Tue, 2019-02-19 at 22:36 -0800, David Miller wrote: > Saeed and Or, > > I need help backporting two changes for -stable. Namely: Hi Dave Thanks for trying, > > 6707f74be8621ae067d2cf1c4485900e2742c20f ("net/mlx5e: Update hw flows > when encap source mac changed") The fixes tag of the above commit is wrong and it should have been commit e32ee6c78efa6a32bff782bbe7a9970b018996ca Author: Eli Britstein <elibr@mellanox.com> Date: Mon Dec 3 17:09:54 2018 +0200 net/mlx5e: Support tunnel encap over tagged Ethernet Before this patch we didn't have the support for "tunnel encap over tagged Ethernet" which introduced the whole route_dev logic to generate the encap headers, so the patch should only exist in -rc, let's just skip it. > 218d05ce326f9e1b40a56085431fa1068b43d5d9 ("net/mlx5e: Don't overwrite > pedit action when multiple pedit used") > I tried and this patch applies smoothly on 4.19. let me know if you need further assistance. Thanks, Saeed > For example, with the first one, not only has the code moved into > tc_tun.c but also we require the addition of > get_route_and_out_devs(), > the passing in of the &route_dev, and also all of the new > dst_is_lag_dev logic. That's like 4 or 5 commits worth. > > Thanks. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: mlx5 stable backport help 2019-02-20 20:01 ` Saeed Mahameed @ 2019-02-20 20:27 ` David Miller 2019-02-20 23:58 ` Saeed Mahameed 2019-02-21 10:21 ` Or Gerlitz 1 sibling, 1 reply; 9+ messages in thread From: David Miller @ 2019-02-20 20:27 UTC (permalink / raw) To: saeedm; +Cc: netdev, ogerlitz From: Saeed Mahameed <saeedm@mellanox.com> Date: Wed, 20 Feb 2019 20:01:00 +0000 > On Tue, 2019-02-19 at 22:36 -0800, David Miller wrote: >> 218d05ce326f9e1b40a56085431fa1068b43d5d9 ("net/mlx5e: Don't overwrite >> pedit action when multiple pedit used") >> > > I tried and this patch applies smoothly on 4.19. Does not apply to v4.19.24 which is the current stable release. [davem@localhost linux-stable]$ git am QUEUE/mlx5e/0002-net-mlx5e-Don-t-overwrite-pedit-action-when-multiple.patch Applying: net/mlx5e: Don't overwrite pedit action when multiple pedit used error: patch failed: drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:128 error: drivers/net/ethernet/mellanox/mlx5/core/en_tc.c: patch does not apply Patch failed at 0001 net/mlx5e: Don't overwrite pedit action when multiple pedit used hint: Use 'git am --show-current-patch' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: mlx5 stable backport help 2019-02-20 20:27 ` David Miller @ 2019-02-20 23:58 ` Saeed Mahameed 2019-02-21 0:21 ` David Miller 0 siblings, 1 reply; 9+ messages in thread From: Saeed Mahameed @ 2019-02-20 23:58 UTC (permalink / raw) To: davem@davemloft.net; +Cc: netdev@vger.kernel.org, Or Gerlitz On Wed, 2019-02-20 at 12:27 -0800, David Miller wrote: > From: Saeed Mahameed <saeedm@mellanox.com> > Date: Wed, 20 Feb 2019 20:01:00 +0000 > > > On Tue, 2019-02-19 at 22:36 -0800, David Miller wrote: > > > 218d05ce326f9e1b40a56085431fa1068b43d5d9 ("net/mlx5e: Don't > > > overwrite > > > pedit action when multiple pedit used") > > > > > > > I tried and this patch applies smoothly on 4.19. > > Does not apply to v4.19.24 which is the current stable release. > > [davem@localhost linux-stable]$ git am QUEUE/mlx5e/0002-net-mlx5e- > Don-t-overwrite-pedit-action-when-multiple.patch > Applying: net/mlx5e: Don't overwrite pedit action when multiple pedit > used > error: patch failed: > drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:128 > error: drivers/net/ethernet/mellanox/mlx5/core/en_tc.c: patch does > not apply > Patch failed at 0001 net/mlx5e: Don't overwrite pedit action when > multiple pedit used > hint: Use 'git am --show-current-patch' to see the failed patch > When you have resolved this problem, run "git am --continue". > If you prefer to skip this patch, run "git am --skip" instead. > To restore the original branch and stop patching, run "git am -- > abort". Strange, worked for me: (I saw some warnings though!) saeedm@sx1[linux](stbl/4.19)$ git cherry-pick 218d05ce326f9e1b40a56085431fa1068b43d5d9 warning: inexact rename detection was skipped due to too many files. warning: you may want to set your merge.renamelimit variable to at least 2119 and retry the command. [stbl/4.19 efa42113bb1d] net/mlx5e: Don't overwrite pedit action when multiple pedit used Author: Tonghao Zhang <xiangxia.m.yue@gmail.com> Date: Mon Jan 28 15:28:06 2019 -0800 1 file changed, 15 insertions(+), 10 deletions(-) saeedm@sx1[linux](stbl/4.19)$ git log --oneline efa42113bb1d (HEAD -> stbl/4.19) net/mlx5e: Don't overwrite pedit action when multiple pedit used f287634fe321 (tag: v4.19.24, stable/linux-4.19.y) Linux 4.19.24 dd5f4d067a2c mm: proc: smaps_rollup: fix pss_locked calculation I did what the git suggested and: $ git config merge.renamelimit 2119 Tried again, it worked with now warnings. Maybe you have some git config which fails on the warning i saw.. Thanks, Saeed. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: mlx5 stable backport help 2019-02-20 23:58 ` Saeed Mahameed @ 2019-02-21 0:21 ` David Miller 2019-02-21 0:43 ` Saeed Mahameed 0 siblings, 1 reply; 9+ messages in thread From: David Miller @ 2019-02-21 0:21 UTC (permalink / raw) To: saeedm; +Cc: netdev, ogerlitz From: Saeed Mahameed <saeedm@mellanox.com> Date: Wed, 20 Feb 2019 23:58:12 +0000 > Maybe you have some git config which fails on the warning i saw.. Put the actual commit into a patch using "git format-patch" then try to use "git am" to apply it. I'm not doing anything fancy. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: mlx5 stable backport help 2019-02-21 0:21 ` David Miller @ 2019-02-21 0:43 ` Saeed Mahameed 0 siblings, 0 replies; 9+ messages in thread From: Saeed Mahameed @ 2019-02-21 0:43 UTC (permalink / raw) To: davem@davemloft.net; +Cc: netdev@vger.kernel.org, Or Gerlitz On Wed, 2019-02-20 at 16:21 -0800, David Miller wrote: > From: Saeed Mahameed <saeedm@mellanox.com> > Date: Wed, 20 Feb 2019 23:58:12 +0000 > > > Maybe you have some git config which fails on the warning i saw.. > > Put the actual commit into a patch using "git format-patch" then try > to use "git am" to apply it. > > I'm not doing anything fancy. I see, for some reason cherry-pick is happy to resolve the conflict without human help. Anyway the conflict is really simple and contextual, 2 hunks will fail 1) adding a new filed "max_mod_hdr_actions" to "struct mlx5e_tc_flow_parse_attr" 2) at parse_tc_pedit_action() line 1924 : replace: - err = alloc_mod_hdr_actions(priv, a, namespace, parse_attr); - if (err) - goto out_err; with: + if (!parse_attr->mod_hdr_actions) { + err = alloc_mod_hdr_actions(priv, a, namespace, parse_attr); + if (err) + goto out_err; + } all in drivers/net/ethernet/mellanox/mlx5/core/en_tc.c file they fail since the surrounding code is slightly different. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: mlx5 stable backport help 2019-02-20 20:01 ` Saeed Mahameed 2019-02-20 20:27 ` David Miller @ 2019-02-21 10:21 ` Or Gerlitz 2019-02-21 22:35 ` Saeed Mahameed 1 sibling, 1 reply; 9+ messages in thread From: Or Gerlitz @ 2019-02-21 10:21 UTC (permalink / raw) To: Saeed Mahameed; +Cc: davem@davemloft.net, netdev@vger.kernel.org, Or Gerlitz On Wed, Feb 20, 2019 at 10:03 PM Saeed Mahameed <saeedm@mellanox.com> wrote: > On Tue, 2019-02-19 at 22:36 -0800, David Miller wrote: >> I need help backporting two changes for -stable. Namely: > Hi Dave Thanks for trying, here too > > 6707f74be8621ae067d2cf1c4485900e2742c20f ("net/mlx5e: Update hw flows > > when encap source mac changed") > > The fixes tag of the above commit is wrong and it should have been > > commit e32ee6c78efa6a32bff782bbe7a9970b018996ca > Author: Eli Britstein <elibr@mellanox.com> > Date: Mon Dec 3 17:09:54 2018 +0200 > > net/mlx5e: Support tunnel encap over tagged Ethernet > > Before this patch we didn't have the support for "tunnel encap over > tagged Ethernet" which introduced the whole route_dev logic to generate > the encap headers, so the patch should only exist in -rc, let's just skip it. Hi Saeed, The issue exists prior to the commit you mentioned, we are doing this code since day one of tc tunnel offloads support which lacked the neigh update flow linux-stable.git]# git grep -pe "eth->h_source" drivers/net/ethernet/mellanox/mlx5/core/en_tc.c drivers/net/ethernet/mellanox/mlx5/core/en_tc.c=static void gen_vxlan_header_ipv4(struct net_device *out_dev, drivers/net/ethernet/mellanox/mlx5/core/en_tc.c: ether_addr_copy(eth->h_source, out_dev->dev_addr); drivers/net/ethernet/mellanox/mlx5/core/en_tc.c=static void gen_vxlan_header_ipv6(struct net_device *out_dev, drivers/net/ethernet/mellanox/mlx5/core/en_tc.c: ether_addr_copy(eth->h_source, out_dev->dev_addr); later when 232c001398ae ("net/mlx5e: Add support to neighbour update flow") was done, we went short and did not address the case of source address change. Until the commit you mentioned, we didn't have the out_dev vs route_dev notion, but the problem exists and it's possible to backport the patch by [1] using e->out_dev instead of e->route_dev [2] use the hunks from mlx5e_tc_tun_create_header_ipv4/6() in mlx5e_create_encap_header_ipv4/6() Or. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: mlx5 stable backport help 2019-02-21 10:21 ` Or Gerlitz @ 2019-02-21 22:35 ` Saeed Mahameed 2019-02-22 9:13 ` Or Gerlitz 0 siblings, 1 reply; 9+ messages in thread From: Saeed Mahameed @ 2019-02-21 22:35 UTC (permalink / raw) To: gerlitz.or@gmail.com Cc: davem@davemloft.net, netdev@vger.kernel.org, Or Gerlitz On Thu, 2019-02-21 at 12:21 +0200, Or Gerlitz wrote: > On Wed, Feb 20, 2019 at 10:03 PM Saeed Mahameed <saeedm@mellanox.com> > wrote: > > On Tue, 2019-02-19 at 22:36 -0800, David Miller wrote: > > > I need help backporting two changes for -stable. Namely: > > Hi Dave Thanks for trying, > > here too > > > > 6707f74be8621ae067d2cf1c4485900e2742c20f ("net/mlx5e: Update hw > > > flows > > > when encap source mac changed") > > > > The fixes tag of the above commit is wrong and it should have been > > > > commit e32ee6c78efa6a32bff782bbe7a9970b018996ca > > Author: Eli Britstein <elibr@mellanox.com> > > Date: Mon Dec 3 17:09:54 2018 +0200 > > > > net/mlx5e: Support tunnel encap over tagged Ethernet > > > > Before this patch we didn't have the support for "tunnel encap over > > tagged Ethernet" which introduced the whole route_dev logic to > > generate > > the encap headers, so the patch should only exist in -rc, let's > > just skip it. > > Hi Saeed, > > The issue exists prior to the commit you mentioned, we are doing this > code since day one of > tc tunnel offloads support which lacked the neigh update flow > > linux-stable.git]# git grep -pe "eth->h_source" > drivers/net/ethernet/mellanox/mlx5/core/en_tc.c > drivers/net/ethernet/mellanox/mlx5/core/en_tc.c=static void > gen_vxlan_header_ipv4(struct net_device *out_dev, > drivers/net/ethernet/mellanox/mlx5/core/en_tc.c: > ether_addr_copy(eth->h_source, out_dev->dev_addr); > drivers/net/ethernet/mellanox/mlx5/core/en_tc.c=static void > gen_vxlan_header_ipv6(struct net_device *out_dev, > drivers/net/ethernet/mellanox/mlx5/core/en_tc.c: > ether_addr_copy(eth->h_source, out_dev->dev_addr); > > later when 232c001398ae ("net/mlx5e: Add support to neighbour update > flow") was done, we went short > and did not address the case of source address change. Until the > commit you mentioned, we didn't have the > out_dev vs route_dev notion, but the problem exists and it's possible > to backport the patch by > So we all agree that the offending patch is "net/mlx5e: Support tunnel encap over tagged Ethernet" even if the issue existed before, in order to fix the issue you will have to port not only this patch but the whole series which claimed to fix the issue, so the fixes tag was wrong.. this patch on its own is no good. > [1] using e->out_dev instead of e->route_dev > [2] use the hunks from mlx5e_tc_tun_create_header_ipv4/6() in > mlx5e_create_encap_header_ipv4/6() > > Or. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: mlx5 stable backport help 2019-02-21 22:35 ` Saeed Mahameed @ 2019-02-22 9:13 ` Or Gerlitz 0 siblings, 0 replies; 9+ messages in thread From: Or Gerlitz @ 2019-02-22 9:13 UTC (permalink / raw) To: Saeed Mahameed Cc: davem@davemloft.net, netdev@vger.kernel.org, Or Gerlitz, Roi Dayan On Fri, Feb 22, 2019 at 12:35 AM Saeed Mahameed <saeedm@mellanox.com> wrote: > On Thu, 2019-02-21 at 12:21 +0200, Or Gerlitz wrote: > So we all agree that the offending patch is "net/mlx5e: Support tunnel > encap over tagged Ethernet" even if the issue existed before, as you said the issue existed before we added support for offloading tunnels in the presence of vlan on the underlay, it's like this since 4.12 when we introduced support for neigh update in 232c001398ae "net/mlx5e: Add support to neighbour update flow" which is basically the one to blame/fix since some code was moved and some code was added (e->route_dev) backporting the patch without pulling more patches can be done as I sketched below. Anyway, we can maybe let it go without backporting, production environments are typically not changing their source mac in prime time. So this can be seen more as future proofing. > in order to fix the issue you will have to port not only this patch but > the whole series which claimed to fix the issue, so the fixes tag was > wrong.. this patch on its own is no good. >> [1] using e->out_dev instead of e->route_dev >> [2] use the hunks from mlx5e_tc_tun_create_header_ipv4/6() in >> mlx5e_create_encap_header_ipv4/6() ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2019-02-22 9:13 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-02-20 6:36 mlx5 stable backport help David Miller 2019-02-20 20:01 ` Saeed Mahameed 2019-02-20 20:27 ` David Miller 2019-02-20 23:58 ` Saeed Mahameed 2019-02-21 0:21 ` David Miller 2019-02-21 0:43 ` Saeed Mahameed 2019-02-21 10:21 ` Or Gerlitz 2019-02-21 22:35 ` Saeed Mahameed 2019-02-22 9:13 ` Or Gerlitz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox