* Re: [ewg] rping is not resolving ipv6 addresses [not found] ` <1255114672.3533.8.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org> @ 2009-10-09 20:53 ` Or Gerlitz [not found] ` <15ddcffd0910091353w51bddc60w8452ca107de296fb-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Or Gerlitz @ 2009-10-09 20:53 UTC (permalink / raw) To: David J. Wilder Cc: Roland Dreier, sean.hefty-ral2JQCrhuEAvxtiuMwx3w, wilder-r/Jw6+rmf7HQT0dZR+AlfA, linux-rdma David J. Wilder <dwilder-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> wrote: > I added an option to rping to specify a source address and supply it to patch? > rdma_resolve_addr(), but now it is failing rdma_resolve_route(). > $ ./rping -d -c -v -a fe80::202:c903:1:1925 -i fe80::202:c903:1:28ed > cma_event type RDMA_CM_EVENT_ADDR_RESOLVED cma_id 0x100213d0 (parent) > cma_event type RDMA_CM_EVENT_ROUTE_ERROR cma_id 0x100213d0 (parent) > cma event RDMA_CM_EVENT_ROUTE_ERROR, error -22 what does the neighbour info (ip neigh show | grep 1925) shows after running rping? can you do ipoib ping and ping6 to the fe80::202:c903:1:1925 host? Or. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <15ddcffd0910091353w51bddc60w8452ca107de296fb-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [ewg] rping is not resolving ipv6 addresses [not found] ` <15ddcffd0910091353w51bddc60w8452ca107de296fb-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2009-10-09 21:15 ` David J. Wilder [not found] ` <1255122901.3533.20.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: David J. Wilder @ 2009-10-09 21:15 UTC (permalink / raw) To: Or Gerlitz Cc: Roland Dreier, sean.hefty-ral2JQCrhuEAvxtiuMwx3w, wilder-r/Jw6+rmf7HQT0dZR+AlfA, linux-rdma On Fri, 2009-10-09 at 22:53 +0200, Or Gerlitz wrote: > David J. Wilder <dwilder-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> wrote: > > I added an option to rping to specify a source address and supply it to > > patch? > > > rdma_resolve_addr(), but now it is failing rdma_resolve_route(). > > $ ./rping -d -c -v -a fe80::202:c903:1:1925 -i fe80::202:c903:1:28ed > > cma_event type RDMA_CM_EVENT_ADDR_RESOLVED cma_id 0x100213d0 (parent) > > cma_event type RDMA_CM_EVENT_ROUTE_ERROR cma_id 0x100213d0 (parent) > > cma event RDMA_CM_EVENT_ROUTE_ERROR, error -22 > > what does the neighbour info (ip neigh show | grep 1925) shows after > running rping? If I run rping without my rping change to add the source address to rdma_resolve_address(), ip neigh show gives: fe80::202:c903:1:1925 dev eth1 FAILED Notice that interface is incorrect, it should be ib0. tcpdump showed the neighbor-discovery sent out the eth0 interface. Running with my rping change to specify the local-link address of my ib0 interface "ip neigh show" never shows any entry for fe80::202:c903:1:1925 > can you do ipoib ping and ping6 to the fe80::202:c903:1:1925 host? > > Or. Yes ping6 will work but I must specify the interface to use: ping6 fe80::202:c903:1:1925%ib0 Here is the patch to rping to allow the source address to be specified. I am not sure this is the correct approach to fix this. --- rping.c.orig 2009-10-08 15:22:29.000000000 -0500 +++ rping.c 2009-10-08 15:29:59.000000000 -0500 @@ -144,6 +144,7 @@ struct rping_cb { sem_t sem; struct sockaddr_storage sin; + struct sockaddr_storage src; uint16_t port; /* dst port in NBO */ int verbose; /* verbose logging */ int count; /* ping count */ @@ -1003,7 +1004,7 @@ static int rping_bind_client(struct rpin DEBUG_LOG("rping_bind_client: about to call rdma_resolve_addr\n"); - ret = rdma_resolve_addr(cb->cm_id, NULL, (struct sockaddr *) &cb->sin, 2000); + ret = rdma_resolve_addr(cb->cm_id, &cb->src, (struct sockaddr *) &cb->sin, 2000); if (ret) { fprintf(stderr, "rdma_resolve_addr error %d\n", ret); return ret; @@ -1131,11 +1132,14 @@ int main(int argc, char *argv[]) sem_init(&cb->sem, 0, 0); opterr = 0; - while ((op=getopt(argc, argv, "a:Pp:C:S:t:scvVd")) != -1) { + while ((op=getopt(argc, argv, "a:i:Pp:C:S:t:scvVd")) != -1) { switch (op) { case 'a': ret = get_addr(optarg, (struct sockaddr *) &cb->sin); break; + case 'i': + ret = get_addr(optarg, (struct sockaddr *) &cb->src); + break; case 'P': persistent_server = 1; break; -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <1255122901.3533.20.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org>]
* Re: [ewg] rping is not resolving ipv6 addresses [not found] ` <1255122901.3533.20.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org> @ 2009-10-09 21:22 ` Or Gerlitz 2009-10-09 22:46 ` Jason Gunthorpe 1 sibling, 0 replies; 9+ messages in thread From: Or Gerlitz @ 2009-10-09 21:22 UTC (permalink / raw) To: David J. Wilder Cc: Roland Dreier, sean.hefty-ral2JQCrhuEAvxtiuMwx3w, wilder-r/Jw6+rmf7HQT0dZR+AlfA, linux-rdma David J. Wilder <dwilder-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> wrote: > If I run rping without my rping change to add the source address to > rdma_resolve_address(), ip neigh show gives: fe80::202:c903:1:1925 dev eth1 FAILED > Notice that interface is incorrect, it should be ib0. tcpdump showed the > neighbor-discovery sent out the eth0 interface. yes, this is as of what Roland explained. > Running with my rping change to specify the local-link address of my ib0 > interface "ip neigh show" never shows any entry for fe80::202:c903:1:1925 mmm... weird, run your rping with tcp dump in another screen and see if ND takes place > ping6 will work but I must specify the interface to use: ping6 fe80::202:c903:1:1925%ib0 after the tcpdump experiment, run ping6 and immediatly following that or in parallel on another window run rping -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ewg] rping is not resolving ipv6 addresses [not found] ` <1255122901.3533.20.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org> 2009-10-09 21:22 ` Or Gerlitz @ 2009-10-09 22:46 ` Jason Gunthorpe [not found] ` <20091009224604.GG5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> 1 sibling, 1 reply; 9+ messages in thread From: Jason Gunthorpe @ 2009-10-09 22:46 UTC (permalink / raw) To: David J. Wilder Cc: Or Gerlitz, Roland Dreier, sean.hefty-ral2JQCrhuEAvxtiuMwx3w, wilder-r/Jw6+rmf7HQT0dZR+AlfA, linux-rdma On Fri, Oct 09, 2009 at 02:15:01PM -0700, David J. Wilder wrote: > Yes ping6 will work but I must specify the interface to use: > ping6 fe80::202:c903:1:1925%ib0 > > Here is the patch to rping to allow the source address to be specified. > I am not sure this is the correct approach to fix this. It is not, IPv6 link local addresses must be scoped. rping is parsing the address with getaddrinfo, that does correctly set the sin6_scope_id value in the sockaddr. rdma_resolve_addr (and likely the underlying kernel component) must respect this when dealing with link local scope addresses. rmda_resolve_addr should fail if a link local IPv6 address is provided without scope, like the normal IP stack: connect(3, {sa_family=AF_INET6, sin6_port=htons(1025), inet_pton(AF_INET6, "fe80::202:c903:1:1925", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINVAL (Invalid argument) So this is two bugs in the rdma cm, rping is correct as is.. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <20091009224604.GG5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>]
* RE: [ewg] rping is not resolving ipv6 addresses [not found] ` <20091009224604.GG5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> @ 2009-10-09 23:02 ` Sean Hefty [not found] ` <0AA9B9870A0545E6BCCF3A5EF4BAB34E-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org> 2009-10-12 17:52 ` [ewg] " David J. Wilder 1 sibling, 1 reply; 9+ messages in thread From: Sean Hefty @ 2009-10-09 23:02 UTC (permalink / raw) To: 'Jason Gunthorpe', David J. Wilder Cc: Or Gerlitz, Roland Dreier, wilder-r/Jw6+rmf7HQT0dZR+AlfA, linux-rdma >rdma_resolve_addr (and likely the underlying kernel component) must >respect this when dealing with link local scope addresses. > >rmda_resolve_addr should fail if a link local IPv6 address is provided >without scope, like the normal IP stack: The rdma cm was never fully coded or tested for ipv6 support. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <0AA9B9870A0545E6BCCF3A5EF4BAB34E-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>]
* Re: rping is not resolving ipv6 addresses [not found] ` <0AA9B9870A0545E6BCCF3A5EF4BAB34E-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org> @ 2009-10-11 7:29 ` Or Gerlitz [not found] ` <4AD18944.1040404-hKgKHo2Ms0FWk0Htik3J/w@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Or Gerlitz @ 2009-10-11 7:29 UTC (permalink / raw) To: Sean Hefty, 'Jason Gunthorpe' Cc: David J. Wilder, Or Gerlitz, Roland Dreier, linux-rdma, Aleksey Senin Sean Hefty wrote: > The rdma cm was never fully coded or tested for ipv6 support. Sean, even if not fully coded/tested, some work has been done, e.g commits 38617c64 "RDMA/addr: Add support for translating IPv6 addresses" and 1f5175ad "RDMA/cma: Add IPv6 support". I suggest we'll try to see what does it take to make this better or even fully support ipv6. Jason, can you restate what are the two problems you saw from David's reports? the 1st was related to scope in link-local addresses, and what's the 2nd? Or. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <4AD18944.1040404-hKgKHo2Ms0FWk0Htik3J/w@public.gmane.org>]
* Re: rping is not resolving ipv6 addresses [not found] ` <4AD18944.1040404-hKgKHo2Ms0FWk0Htik3J/w@public.gmane.org> @ 2009-10-11 19:52 ` Jason Gunthorpe 0 siblings, 0 replies; 9+ messages in thread From: Jason Gunthorpe @ 2009-10-11 19:52 UTC (permalink / raw) To: Or Gerlitz Cc: Sean Hefty, David J. Wilder, Or Gerlitz, Roland Dreier, linux-rdma, Aleksey Senin On Sun, Oct 11, 2009 at 09:29:08AM +0200, Or Gerlitz wrote: > Sean Hefty wrote: > > The rdma cm was never fully coded or tested for ipv6 support. > Sean, even if not fully coded/tested, some work has been done, e.g > commits 38617c64 "RDMA/addr: Add support for translating IPv6 > addresses" and 1f5175ad "RDMA/cma: Add IPv6 support". I suggest > we'll try to see what does it take to make this better or even fully > support ipv6. Or is right, these are kernel bugs, if nobody is able to work on them then I think we all have to accept that these parts of the OFA stack are unfinished and unmaintained - and see if that can be delt with. > Jason, can you restate what are the two problems you saw from > David's reports? the 1st was related to scope in link-local > addresses, and what's the 2nd? The kernel must not accept a link local address with 0 scope id When using link local addresses the kernel must bind to the interface index in the scope id. The scope is ignored for other addresses scopes. The rules will be more complex if a source and dest are specified, in that case the scopes must match. This is the same basic problem as the other issues regarding ND and route resolution, the RDMA CM does not follow the same procedures as TCP does, and the variations produce bugs. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [ewg] rping is not resolving ipv6 addresses [not found] ` <20091009224604.GG5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> 2009-10-09 23:02 ` Sean Hefty @ 2009-10-12 17:52 ` David J. Wilder [not found] ` <1255369979.29677.7.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org> 1 sibling, 1 reply; 9+ messages in thread From: David J. Wilder @ 2009-10-12 17:52 UTC (permalink / raw) To: Jason Gunthorpe, Or Gerlitz, Roland Dreier, sean.hefty-ral2JQCrhuEAvxtiuMwx3w, wilder-r/Jw6+rmf7HQT0dZR+AlfA, linux-rdma <linux-rdm> On Fri, 2009-10-09 at 16:46 -0600, Jason Gunthorpe wrote: > On Fri, Oct 09, 2009 at 02:15:01PM -0700, David J. Wilder wrote: > > > Yes ping6 will work but I must specify the interface to use: > > ping6 fe80::202:c903:1:1925%ib0 > > > > Here is the patch to rping to allow the source address to be specified. > > I am not sure this is the correct approach to fix this. > > It is not, IPv6 link local addresses must be scoped. rping is > parsing the address with getaddrinfo, that does correctly set the > sin6_scope_id value in the sockaddr. ping6 is scoping the address (setting sin6_scope_id) by hand. So rping should do the same thing. > > rdma_resolve_addr (and likely the underlying kernel component) must > respect this when dealing with link local scope addresses. > > rmda_resolve_addr should fail if a link local IPv6 address is provided > without scope, like the normal IP stack: > > connect(3, {sa_family=AF_INET6, sin6_port=htons(1025), inet_pton(AF_INET6, "fe80::202:c903:1:1925", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINVAL (Invalid argument) > > So this is two bugs in the rdma cm, rping is correct as is.. It may be correct, but not functional with link-local address. > > Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <1255369979.29677.7.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org>]
* Re: [ewg] rping is not resolving ipv6 addresses [not found] ` <1255369979.29677.7.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org> @ 2009-10-12 19:47 ` Jason Gunthorpe 0 siblings, 0 replies; 9+ messages in thread From: Jason Gunthorpe @ 2009-10-12 19:47 UTC (permalink / raw) To: David J. Wilder; +Cc: linux-rdma On Mon, Oct 12, 2009 at 10:52:59AM -0700, David J. Wilder wrote: > > It is not, IPv6 link local addresses must be scoped. rping is > > parsing the address with getaddrinfo, that does correctly set the > > sin6_scope_id value in the sockaddr. > > ping6 is scoping the address (setting sin6_scope_id) by hand. So rping > should do the same thing. getaddrinfo already sets sin6_scope_id. Newish iputils ping6 also uses getaddrinfo and doesn't touch the sin6_scope_id except in some specialized cases. > > So this is two bugs in the rdma cm, rping is correct as is.. > > It may be correct, but not functional with link-local address. Like I said, the RDMA CM kernel component has the bugs, not rping.. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-10-12 19:47 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1254957121.23471.17.camel@wilder.ibm.com>
[not found] ` <adavdiqn63u.fsf@cisco.com>
[not found] ` <1255114672.3533.8.camel@wilder.ibm.com>
[not found] ` <1255114672.3533.8.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org>
2009-10-09 20:53 ` [ewg] rping is not resolving ipv6 addresses Or Gerlitz
[not found] ` <15ddcffd0910091353w51bddc60w8452ca107de296fb-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-09 21:15 ` David J. Wilder
[not found] ` <1255122901.3533.20.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org>
2009-10-09 21:22 ` Or Gerlitz
2009-10-09 22:46 ` Jason Gunthorpe
[not found] ` <20091009224604.GG5191-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-09 23:02 ` Sean Hefty
[not found] ` <0AA9B9870A0545E6BCCF3A5EF4BAB34E-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-11 7:29 ` Or Gerlitz
[not found] ` <4AD18944.1040404-hKgKHo2Ms0FWk0Htik3J/w@public.gmane.org>
2009-10-11 19:52 ` Jason Gunthorpe
2009-10-12 17:52 ` [ewg] " David J. Wilder
[not found] ` <1255369979.29677.7.camel-XfwDJb4SXxnMbYB6QlFGEg@public.gmane.org>
2009-10-12 19:47 ` Jason Gunthorpe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox