Skip to contentSkip to conversation

svcrdma: RDMA support not yet compatible with RPC6

PATCH In review Tom Tucker 4 participants 8 messages Apr 3, 2010 – Apr 5, 2010

Subsystems (4)
lore
Share & tools
lore

Tom Tucker

author
#0 lore raw

PATCH 1/1 svcrdma: RDMA support not yet compatible with RPC6

RPC6 requires that it be possible to create endpoints that listen exclusively for IPv4 or IPv6 connection requests. This is not currently supported by the RDMA API.

---

 net/sunrpc/xprtrdma/svc_rdma_transport.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
net/sunrpc/xprtrdma/svc_rdma_transport.c +4 -1
index 3fa5751..4e6bbf9 100644
@@ -678,7 +678,10 @@ static struct svc_xprt *svc_rdma_create(struct svc_serv *serv,
 	int ret;
 
 	dprintk("svcrdma: Creating RDMA socket\n");
-
+	if (sa->sa_family != AF_INET) {
+		dprintk("svcrdma: Address family %d is not supported.\n", sa->sa_family);
+		return ERR_PTR(-EAFNOSUPPORT);
+	}
 	cma_xprt = rdma_create_xprt(serv, 1);
 	if (!cma_xprt)
 		return ERR_PTR(-ENOMEM);

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

Reviewed-by on v1 1/1
#1 lore raw
Quoted 6 lines · Tom Tucker

RPC6 requires that it be possible to create endpoints that listen exclusively for IPv4 or IPv6 connection requests. This is not currently supported by the RDMA API.

Quoted 24 lines

---

net/sunrpc/xprtrdma/svc_rdma_transport.c | 5 ++++-

1 files changed, 4 insertions(+), 1 deletions(-)
net/sunrpc/xprtrdma/svc_rdma_transport.c +4 -1
index 3fa5751..4e6bbf9 100644
@@ -678,7 +678,10 @@ static struct svc_xprt *svc_rdma_create(struct
 svc_serv *serv,
 int ret;
 
 dprintk("svcrdma: Creating RDMA socket\n");
-
+ if (sa->sa_family != AF_INET) {
+ dprintk("svcrdma: Address family %d is not supported.\n", sa->sa_family);
+ return ERR_PTR(-EAFNOSUPPORT);
+ }
 cma_xprt = rdma_create_xprt(serv, 1);
 if (!cma_xprt)

return ERR_PTR(-ENOMEM);

Signature · 5 lines
chuck[dot]lever[at]oracle[dot]com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#2 lore raw
Quoted 9 lines · Chuck Lever
Quoted 6 lines · Tom Tucker

RPC6 requires that it be possible to create endpoints that listen exclusively for IPv4 or IPv6 connection requests. This is not currently supported by the RDMA API.

Thanks to all. I take it the problem began with 37498292a "NFSD: Create PF_INET6 listener in write_ports"?

--b.

Quoted 29 lines
Quoted 25 lines

---

net/sunrpc/xprtrdma/svc_rdma_transport.c | 5 ++++-

1 files changed, 4 insertions(+), 1 deletions(-)
net/sunrpc/xprtrdma/svc_rdma_transport.c +4 -1
index 3fa5751..4e6bbf9 100644
@@ -678,7 +678,10 @@ static struct svc_xprt *svc_rdma_create(struct
 svc_serv *serv,
 int ret;
 
 dprintk("svcrdma: Creating RDMA socket\n");
-
+ if (sa->sa_family != AF_INET) {
+ dprintk("svcrdma: Address family %d is not supported.\n", sa->sa_family);
+ return ERR_PTR(-EAFNOSUPPORT);
+ }
 cma_xprt = rdma_create_xprt(serv, 1);
 if (!cma_xprt)

return ERR_PTR(-ENOMEM);

Signature · 1 line
chuck[dot]lever[at]oracle[dot]com
#3 lore raw
Quoted 6 lines · J. Bruce Fields
Quoted 5 lines · Chuck Lever
Quoted 4 lines · Tom Tucker

RPC6 requires that it be possible to create endpoints that listen exclusively for IPv4 or IPv6 connection requests. This is not currently supported by the RDMA API.

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines

Thanks to all. I take it the problem began with 37498292a "NFSD: Create PF_INET6 listener in write_ports"?

I don't know exactly, but that would make sense.

Signature · 5 lines
chuck[dot]lever[at]oracle[dot]com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#4 lore raw
In reply to J. Bruce Fields
Quoted 8 lines · J. Bruce Fields
Quoted 6 lines · Chuck Lever
Quoted 4 lines · Tom Tucker

RPC6 requires that it be possible to create endpoints that listen exclusively for IPv4 or IPv6 connection requests. This is not currently supported by the RDMA API.

Quoted 10 lines
Quoted 5 lines
Quoted 3 lines

Thanks to all. I take it the problem began with 37498292a "NFSD: Create PF_INET6 listener in write_ports"?

Yes.

Tom

Quoted 31 lines

--b.

Quoted 14 lines
Quoted 14 lines

---

net/sunrpc/xprtrdma/svc_rdma_transport.c | 5 ++++-

1 files changed, 4 insertions(+), 1 deletions(-)
net/sunrpc/xprtrdma/svc_rdma_transport.c +0 -0
index 3fa5751..4e6bbf9 100644
@@ -678,7 +678,10 @@ static struct svc_xprt *svc_rdma_create(struct
 svc_serv *serv,
 int ret;
 
Quoted 14 lines
Quoted 11 lines
net/sunrpc/xprtrdma/svc_rdma_transport.c +4 -1
 dprintk("svcrdma: Creating RDMA socket\n");
-
+ if (sa->sa_family != AF_INET) {
+ dprintk("svcrdma: Address family %d is not supported.\n", sa->sa_family);
+ return ERR_PTR(-EAFNOSUPPORT);
+ }
 cma_xprt = rdma_create_xprt(serv, 1);
 if (!cma_xprt)

return ERR_PTR(-ENOMEM);

Signature · 1 line
chuck[dot]lever[at]oracle[dot]com
Quoted 5 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw
Quoted 15 lines · Tom Tucker
Quoted 14 lines · J. Bruce Fields
Quoted 11 lines · Chuck Lever
Quoted 7 lines · Tom Tucker

RPC6 requires that it be possible to create endpoints that listen exclusively for IPv4 or IPv6 connection requests. This is not currently supported by the RDMA API.

Quoted 6 lines
Quoted 4 lines

Thanks to all. I take it the problem began with 37498292a "NFSD: Create PF_INET6 listener in write_ports"?

Yes.

Thanks. I'll pass along

	git://linux-nfs.org/~bfields/linux.git for-2.6.34

soon.

--b.

#6 lore raw
Quoted 21 lines · J. Bruce Fields
Quoted 20 lines · Tom Tucker
Quoted 18 lines · J. Bruce Fields
Quoted 11 lines · Chuck Lever
Quoted 7 lines · Tom Tucker

RPC6 requires that it be possible to create endpoints that listen exclusively for IPv4 or IPv6 connection requests. This is not currently supported by the RDMA API.

Thanks to all. I take it the problem began with 37498292a "NFSD: Create PF_INET6 listener in write_ports"?

Quoted 7 lines
Quoted 1 line

Yes.

Thanks. I'll pass along

	git://linux-nfs.org/~bfields/linux.git for-2.6.34

soon.

And: sorry we didn't catch this when it happened. I have some of the equipment I'd need to do basic regression tests, but haven't set it up.

I hope I get to it at some point.... For now I depend on others to catch even basic rdma regressions--let me know if there's some way I could make your testing easier.

--b.

#7 lore raw
Quoted 37 lines · J. Bruce Fields
Quoted 26 lines · J. Bruce Fields
Quoted 24 lines · Tom Tucker
Quoted 22 lines · J. Bruce Fields
Quoted 7 lines · Chuck Lever
Quoted 4 lines · Tom Tucker

RPC6 requires that it be possible to create endpoints that listen exclusively for IPv4 or IPv6 connection requests. This is not currently supported by the RDMA API.

Quoted 7 lines
Quoted 4 lines

Thanks to all. I take it the problem began with 37498292a "NFSD: Create PF_INET6 listener in write_ports"?

Quoted 8 lines
Quoted 2 lines

Yes.

Thanks. I'll pass along

	git://linux-nfs.org/~bfields/linux.git for-2.6.34

soon.

Quoted 8 lines

And: sorry we didn't catch this when it happened. I have some of the equipment I'd need to do basic regression tests, but haven't set it up.

I hope I get to it at some point.... For now I depend on others to catch even basic rdma regressions--let me know if there's some way I could make your testing easier.

We were focused on older kernels..and probably should have caught it quicker. No worries. Thanks,

Tom

Quoted 2 lines

--b.