* [PATCHv3 for-next 1/1] RDMA/rxe: Disable ipv6 features when ipv6.disable set in cmdline
@ 2021-03-26 1:27 Zhu Yanjun
2021-04-08 18:33 ` Jason Gunthorpe
0 siblings, 1 reply; 5+ messages in thread
From: Zhu Yanjun @ 2021-03-26 1:27 UTC (permalink / raw)
To: dledford, jgg, linux-rdma, leon; +Cc: Zhu Yanjun, Yi Zhang, Leon Romanovsky
From: Zhu Yanjun <zyjzyj2000@gmail.com>
When ipv6.disable=1 is set in cmdline, ipv6 is actually disabled
in the stack. As such, the operations of ipv6 in RXE will fail.
So ipv6 features in RXE should also be disabled in RXE.
Fixes: 8700e3e7c4857 ("Soft RoCE driver")
Reported-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Tested-by: Yi Zhang <yi.zhang@redhat.com>
---
V2->V3: Remove print message
V1->V2: Modify the pr_info messages
---
---
drivers/infiniband/sw/rxe/rxe_net.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
index 01662727dca0..3b8ed007e8af 100644
--- a/drivers/infiniband/sw/rxe/rxe_net.c
+++ b/drivers/infiniband/sw/rxe/rxe_net.c
@@ -72,6 +72,9 @@ static struct dst_entry *rxe_find_route6(struct net_device *ndev,
struct dst_entry *ndst;
struct flowi6 fl6 = { { 0 } };
+ if (!ipv6_mod_enabled())
+ return NULL;
+
memset(&fl6, 0, sizeof(fl6));
fl6.flowi6_oif = ndev->ifindex;
memcpy(&fl6.saddr, saddr, sizeof(*saddr));
@@ -616,6 +619,8 @@ static int rxe_net_ipv4_init(void)
static int rxe_net_ipv6_init(void)
{
#if IS_ENABLED(CONFIG_IPV6)
+ if (!ipv6_mod_enabled())
+ return 0;
recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
htons(ROCE_V2_UDP_DPORT), true);
--
2.27.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCHv3 for-next 1/1] RDMA/rxe: Disable ipv6 features when ipv6.disable set in cmdline 2021-03-26 1:27 [PATCHv3 for-next 1/1] RDMA/rxe: Disable ipv6 features when ipv6.disable set in cmdline Zhu Yanjun @ 2021-04-08 18:33 ` Jason Gunthorpe 2021-04-10 2:36 ` Zhu Yanjun 0 siblings, 1 reply; 5+ messages in thread From: Jason Gunthorpe @ 2021-04-08 18:33 UTC (permalink / raw) To: Zhu Yanjun Cc: dledford, linux-rdma, leon, Zhu Yanjun, Yi Zhang, Leon Romanovsky On Thu, Mar 25, 2021 at 09:27:23PM -0400, Zhu Yanjun wrote: > From: Zhu Yanjun <zyjzyj2000@gmail.com> > > When ipv6.disable=1 is set in cmdline, ipv6 is actually disabled > in the stack. As such, the operations of ipv6 in RXE will fail. > So ipv6 features in RXE should also be disabled in RXE. > > Fixes: 8700e3e7c4857 ("Soft RoCE driver") > Reported-by: Yi Zhang <yi.zhang@redhat.com> > Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com> > Reviewed-by: Leon Romanovsky <leonro@nvidia.com> > Tested-by: Yi Zhang <yi.zhang@redhat.com> > V2->V3: Remove print message > V1->V2: Modify the pr_info messages > drivers/infiniband/sw/rxe/rxe_net.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c > index 01662727dca0..3b8ed007e8af 100644 > +++ b/drivers/infiniband/sw/rxe/rxe_net.c > @@ -72,6 +72,9 @@ static struct dst_entry *rxe_find_route6(struct net_device *ndev, > struct dst_entry *ndst; > struct flowi6 fl6 = { { 0 } }; > > + if (!ipv6_mod_enabled()) > + return NULL; > + > memset(&fl6, 0, sizeof(fl6)); > fl6.flowi6_oif = ndev->ifindex; > memcpy(&fl6.saddr, saddr, sizeof(*saddr)); What is this actually fixing? ndst = ipv6_stub->ipv6_dst_lookup_flow() will return an error if the ipv6 support is not loaded so why do we need more tests? > @@ -616,6 +619,8 @@ static int rxe_net_ipv4_init(void) > static int rxe_net_ipv6_init(void) > { > #if IS_ENABLED(CONFIG_IPV6) > + if (!ipv6_mod_enabled()) > + return 0; > > recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net, > htons(ROCE_V2_UDP_DPORT), true); rxe_setup_udp_tunnel() should already fail naturally because the V6 socket won't be created What is the actual symptom this patch is trying to address? Jason ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCHv3 for-next 1/1] RDMA/rxe: Disable ipv6 features when ipv6.disable set in cmdline 2021-04-08 18:33 ` Jason Gunthorpe @ 2021-04-10 2:36 ` Zhu Yanjun 2021-04-09 13:37 ` Jason Gunthorpe 0 siblings, 1 reply; 5+ messages in thread From: Zhu Yanjun @ 2021-04-10 2:36 UTC (permalink / raw) To: Jason Gunthorpe Cc: Zhu Yanjun, Doug Ledford, RDMA mailing list, Leon Romanovsky, Yi Zhang, Leon Romanovsky On Thu, Apr 8, 2021 at 2:34 PM Jason Gunthorpe <jgg@nvidia.com> wrote: > > On Thu, Mar 25, 2021 at 09:27:23PM -0400, Zhu Yanjun wrote: > > From: Zhu Yanjun <zyjzyj2000@gmail.com> > > > > When ipv6.disable=1 is set in cmdline, ipv6 is actually disabled > > in the stack. As such, the operations of ipv6 in RXE will fail. > > So ipv6 features in RXE should also be disabled in RXE. > > > > Fixes: 8700e3e7c4857 ("Soft RoCE driver") > > Reported-by: Yi Zhang <yi.zhang@redhat.com> > > Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com> > > Reviewed-by: Leon Romanovsky <leonro@nvidia.com> > > Tested-by: Yi Zhang <yi.zhang@redhat.com> > > V2->V3: Remove print message > > V1->V2: Modify the pr_info messages > > drivers/infiniband/sw/rxe/rxe_net.c | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c > > index 01662727dca0..3b8ed007e8af 100644 > > +++ b/drivers/infiniband/sw/rxe/rxe_net.c > > @@ -72,6 +72,9 @@ static struct dst_entry *rxe_find_route6(struct net_device *ndev, > > struct dst_entry *ndst; > > struct flowi6 fl6 = { { 0 } }; > > > > + if (!ipv6_mod_enabled()) > > + return NULL; > > + > > memset(&fl6, 0, sizeof(fl6)); > > fl6.flowi6_oif = ndev->ifindex; > > memcpy(&fl6.saddr, saddr, sizeof(*saddr)); > > What is this actually fixing? > > ndst = ipv6_stub->ipv6_dst_lookup_flow() will return an error if the > ipv6 support is not loaded so why do we need more tests? As what I said in commit log, when "When ipv6.disable=1 is set in cmdline, ipv6 is actually disabled" That is, when cat /proc/cmdline, the command line is " cat /proc/cmdline BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.12.0-rc3+ root=/dev/mapper/cl-root ro resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap crashkernel=512M ipv6.disable=1 " And if you make the above configurations, then modprobe rdma_rxe should work. then ''rdma link add rxe0 type rxe netdev eth0" should work well. ndst = ipv6_stub->ipv6_dst_lookup_flow should not be called. Can you tell me how to disable IPV6 in your test host? > in the stack. As such, the operations of ipv6 in RXE will fail. > So ipv6 features in RXE should also be disabled in RXE." > > > @@ -616,6 +619,8 @@ static int rxe_net_ipv4_init(void) > > static int rxe_net_ipv6_init(void) > > { > > #if IS_ENABLED(CONFIG_IPV6) > > + if (!ipv6_mod_enabled()) > > + return 0; > > > > recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net, > > htons(ROCE_V2_UDP_DPORT), true); > > rxe_setup_udp_tunnel() should already fail naturally because the V6 > socket won't be created > > What is the actual symptom this patch is trying to address? This patch is try to fix the problem in the link https://lore.kernel.org/linux-rdma/880d7b59-4b17-a44f-1a91-88257bfc3aaa@redhat.com/T/#t Zhu Yanjun > > Jason ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCHv3 for-next 1/1] RDMA/rxe: Disable ipv6 features when ipv6.disable set in cmdline 2021-04-10 2:36 ` Zhu Yanjun @ 2021-04-09 13:37 ` Jason Gunthorpe 2021-04-12 6:34 ` Zhu Yanjun 0 siblings, 1 reply; 5+ messages in thread From: Jason Gunthorpe @ 2021-04-09 13:37 UTC (permalink / raw) To: Zhu Yanjun Cc: Zhu Yanjun, Doug Ledford, RDMA mailing list, Leon Romanovsky, Yi Zhang, Leon Romanovsky On Fri, Apr 09, 2021 at 10:36:42PM -0400, Zhu Yanjun wrote: > > What is the actual symptom this patch is trying to address? > > This patch is try to fix the problem in the link > https://lore.kernel.org/linux-rdma/880d7b59-4b17-a44f-1a91-88257bfc3aaa@redhat.com/T/#t you should ignore the -97 return code when creating the UDP v6 socket Jason ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCHv3 for-next 1/1] RDMA/rxe: Disable ipv6 features when ipv6.disable set in cmdline 2021-04-09 13:37 ` Jason Gunthorpe @ 2021-04-12 6:34 ` Zhu Yanjun 0 siblings, 0 replies; 5+ messages in thread From: Zhu Yanjun @ 2021-04-12 6:34 UTC (permalink / raw) To: Jason Gunthorpe Cc: Zhu Yanjun, Doug Ledford, RDMA mailing list, Leon Romanovsky, Yi Zhang, Leon Romanovsky On Fri, Apr 9, 2021 at 9:37 AM Jason Gunthorpe <jgg@nvidia.com> wrote: > > On Fri, Apr 09, 2021 at 10:36:42PM -0400, Zhu Yanjun wrote: > > > > What is the actual symptom this patch is trying to address? > > > > This patch is try to fix the problem in the link > > https://lore.kernel.org/linux-rdma/880d7b59-4b17-a44f-1a91-88257bfc3aaa@redhat.com/T/#t > > you should ignore the -97 return code when creating the UDP v6 socket Got it. I will send V4 for this IPv6 problem. Zhu Yanjun > > Jason ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-04-11 14:09 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-03-26 1:27 [PATCHv3 for-next 1/1] RDMA/rxe: Disable ipv6 features when ipv6.disable set in cmdline Zhu Yanjun 2021-04-08 18:33 ` Jason Gunthorpe 2021-04-10 2:36 ` Zhu Yanjun 2021-04-09 13:37 ` Jason Gunthorpe 2021-04-12 6:34 ` Zhu Yanjun
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox