Skip to contentSkip to conversation

knfsd: support RDMA transport in svc_create_socket.

RFC PATCH In review Tom Tucker 2 participants 2 messages May 18, 2007

Subsystems (3)
lore
Share & tools
lore

Tom Tucker

author
#0 lore raw

RFC PATCH 5/15 knfsd: support RDMA transport in svc_create_socket.

Adds a call to create RDMA transports to svc_create_socket. Currently, we use IPPROTO_MAX, which is a work-around. The transport switch should ultimately provide transport types that are advertised by the transport drivers.

---

 net/sunrpc/svcsock.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
net/sunrpc/svcsock.c +8 -0
index b78e84b..9c2f8ee 100644
@@ -46,6 +46,9 @@ #include <linux/sunrpc/clnt.h>
 #include <linux/sunrpc/xdr.h>
 #include <linux/sunrpc/svcsock.h>
 #include <linux/sunrpc/stats.h>
+#ifdef CONFIG_NFSD_RDMA
+#include <linux/sunrpc/svc_rdma.h>
+#endif
 
 /* SMP locking strategy:
  *
@@ -1805,6 +1808,11 @@ static int svc_create_socket(struct svc_
 			serv->sv_program->pg_name, protocol,
 			__svc_print_addr(sin, buf, sizeof(buf)));
 
+#ifdef CONFIG_NFSD_RDMA
+	if (protocol == IPPROTO_MAX)
+		return svc_rdma_create_listen(serv, protocol, 
+					      (struct sockaddr*)sin);
+#endif
 	if (protocol != IPPROTO_UDP && protocol != IPPROTO_TCP) {
 		printk(KERN_WARNING "svc: only UDP and TCP "
 				"sockets supported\n");

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

#1 lore raw
Quoted 27 lines · Tom Tucker

Adds a call to create RDMA transports to svc_create_socket. Currently, we use IPPROTO_MAX, which is a work-around. The transport switch should ultimately provide transport types that are advertised by the transport drivers.

---

 net/sunrpc/svcsock.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
net/sunrpc/svcsock.c +3 -0
index b78e84b..9c2f8ee 100644
@@ -46,6 +46,9 @@ #include <linux/sunrpc/clnt.h>
 #include <linux/sunrpc/xdr.h>
 #include <linux/sunrpc/svcsock.h>
 #include <linux/sunrpc/stats.h>
+#ifdef CONFIG_NFSD_RDMA
+#include <linux/sunrpc/svc_rdma.h>
+#endif
 
 /* SMP locking strategy:
  *
@@ -1805,6 +1808,11 @@ static int svc_create_socket(struct svc_
 			serv->sv_program->pg_name, protocol,

net/sunrpc/svcsock.c static int svc_create_socket(struct svc_ · line 1818

Quoted 10 lines
net/sunrpc/svcsock.c +5 -0
 			__svc_print_addr(sin, buf, sizeof(buf)));
 
+#ifdef CONFIG_NFSD_RDMA
+	if (protocol == IPPROTO_MAX)
+		return svc_rdma_create_listen(serv, protocol, 
+					      (struct sockaddr*)sin);
+#endif
 	if (protocol != IPPROTO_UDP && protocol != IPPROTO_TCP) {
 		printk(KERN_WARNING "svc: only UDP and TCP "
 				"sockets supported\n");

Ditto... Please avoid inlined #ifdefs....

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs