[ofa-general] [RFC,PATCH 14/20] svc: Register TCP/UDP Transports
Tom Tucker
tom at opengridcomputing.com
Mon Aug 20 11:57:56 PDT 2007
Add a call to svc_register_transport for the built
in transports UDP and TCP. The registration is done in the
sunrpc module initialization logic.
Signed-off-by: Tom Tucker <tom at opengridcomputing.com>
---
net/sunrpc/sunrpc_syms.c | 2 ++
net/sunrpc/svcsock.c | 10 ++++++++--
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/net/sunrpc/sunrpc_syms.c b/net/sunrpc/sunrpc_syms.c
index 73075de..c68577b 100644
--- a/net/sunrpc/sunrpc_syms.c
+++ b/net/sunrpc/sunrpc_syms.c
@@ -134,6 +134,7 @@ EXPORT_SYMBOL(nfsd_debug);
EXPORT_SYMBOL(nlm_debug);
#endif
+extern void init_svc_xprt(void);
extern struct cache_detail ip_map_cache, unix_gid_cache;
static int __init
@@ -156,6 +157,7 @@ #endif
cache_register(&ip_map_cache);
cache_register(&unix_gid_cache);
init_socket_xprt();
+ init_svc_xprt();
out:
return err;
}
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index 6183951..d6443e8 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -933,7 +933,7 @@ svc_udp_has_wspace(struct svc_sock *svsk
return svc_sock_has_write_space(svsk, sock_wspace(svsk->sk_sk));
}
-static const struct svc_xprt svc_udp_xprt = {
+static struct svc_xprt svc_udp_xprt = {
.xpt_name = "udp",
.xpt_owner = THIS_MODULE,
.xpt_recvfrom = svc_udp_recvfrom,
@@ -1393,7 +1393,7 @@ svc_tcp_has_wspace(struct svc_sock *svsk
return svc_sock_has_write_space(svsk, sk_stream_wspace(svsk->sk_sk));
}
-static const struct svc_xprt svc_tcp_xprt = {
+static struct svc_xprt svc_tcp_xprt = {
.xpt_name = "tcp",
.xpt_owner = THIS_MODULE,
.xpt_recvfrom = svc_tcp_recvfrom,
@@ -1406,6 +1406,12 @@ static const struct svc_xprt svc_tcp_xpr
.xpt_accept = svc_tcp_accept,
};
+void init_svc_xprt(void)
+{
+ svc_register_transport(&svc_udp_xprt);
+ svc_register_transport(&svc_tcp_xprt);
+}
+
static void
svc_tcp_init_listener(struct svc_sock *svsk)
{
More information about the general
mailing list