All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC,PATCH 00/20] svc: Server Side Transport Switch
@ 2007-08-20 16:20 Tom Tucker
  2007-08-20 16:23 ` [RFC, PATCH 01/20] svc: Add svc_xprt transport switch structure Tom Tucker
                   ` (20 more replies)
  0 siblings, 21 replies; 61+ messages in thread
From: Tom Tucker @ 2007-08-20 16:20 UTC (permalink / raw)
  To: nfs

This patchset represents an update to the previously published 
version. The most significant changes are a renaming of the 
transport switch data structures and functions based on a 
recommendation from Chuck Lever. Code cleanup was also done in the
portlist implementation based on feedback from Trond. Additionally, 
the synopsis for the register/unregister services were changed
to return errors and module reference counting was added. 

I've included the original description below for new reviewers.

This patchset implements a sunrpc server side pluggable transport 
switch that supports dynamically registered transports. 

The knfsd daemon has been modified to allow user-mode programs 
to add a new listening endpoint by writing a string
to the portlist file. The format of the string is as follows:

<transport-name> <port>

For example,

# echo rdma 2050 > /proc/fs/nfsd/portlist

Will cause the knfsd daemon to attempt to add a listening endpoint on 
port 2050 using the 'rdma' transport.

Transports register themselves with the transport switch using a
new API that has the following synopsis:

int svc_register_transport(struct svc_sock_ops *xprt)

The text transport name is contained in a field in the xprt structure.
A new service has been added as well to take a transport name
instead of an IP protocol number to specify the transport on which the 
listening endpoint is to be created. This function is defined as follows:

int svc_create_svcsock(struct svc_serv, char *transport_name, 
                       unsigned short port, int flags);

The existing svc_makesock interface was left to avoid impacts to existing 
servers. It has been modified to map IP protocol numbers to transport 
strings.

-- 
Signed-off-by: Tom Tucker <tom@opengridcomputing.com>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

^ permalink raw reply	[flat|nested] 61+ messages in thread
* [RFC,PATCH 00/20] svc: sunrpc server side transport switch
@ 2007-07-10  5:27 Tom Tucker
  2007-07-10  5:34 ` [RFC, PATCH 06/20] svc: export svc_sock_enqueue, svc_sock_received Tom Tucker
  0 siblings, 1 reply; 61+ messages in thread
From: Tom Tucker @ 2007-07-10  5:27 UTC (permalink / raw)
  To: nfs

This patchset implements a sunrpc server side pluggable transport switch.
It includes recommendations from SGI and others and supports dynamically 
registered transports. 

The knfsd daemon has also been modified to allow user-mode programs to add a 
new listening endpoint by writing a string to the portlist file. The 
format of the string is as follows:

<transport-name> <port>

For example,

# echo rdma 2050 > /proc/fs/nfsd/portlist

causes the knfsd daemon to to add a listening endpoint on 
port 2050 using the 'rdma' transport.

Transports register themselves with the transport switch using a
new API that has the following synopsis:

void svc_register_transport(struct svc_sock_ops *xprt)

A new sunrpc export has been added to take a transport name instead of 
an IP protocol number to specify the transport on which the listening 
endpoint is to be created. This function is defined as follows:

int svc_create_svcsock(struct svc_serv, char *transport_name, 
		       unsigned short port, int flags);

The existing svc_makesock interface was left to avoid impacts to existing 
servers. It has been modified to map IP protocol numbers to transport 
strings.

This transport switch has been tested wth the recently posted RDMA transport 
driver. A git tree is available with the server side transport and RMDA 
transport driver at: git://linux-nfs.org/~tomtucker/nfs-rdma-dev-2.6.git

The git tree and this patchset are based on 2.6.22-rc6.

-- 
Signed-off-by: Tom Tucker <tom@opengridcomputing.com>

-------------------------------------------------------------------------
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  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

^ permalink raw reply	[flat|nested] 61+ messages in thread

end of thread, other threads:[~2007-08-31  1:21 UTC | newest]

Thread overview: 61+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-20 16:20 [RFC,PATCH 00/20] svc: Server Side Transport Switch Tom Tucker
2007-08-20 16:23 ` [RFC, PATCH 01/20] svc: Add svc_xprt transport switch structure Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 02/20] svc: xpt_detach and xpt_free Tom Tucker
2007-08-29 17:05   ` Chuck Lever
2007-08-29 17:08   ` J. Bruce Fields
2007-08-20 16:23 ` [RFC,PATCH 03/20] svc: xpt_prep_reply_hdr Tom Tucker
2007-08-29 17:15   ` Chuck Lever
2007-08-29 18:28     ` Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 05/20] svc: xpt_max_payload Tom Tucker
2007-08-29 17:40   ` Chuck Lever
2007-08-29 19:06     ` Tom Tucker
2007-08-20 16:23 ` [RFC, PATCH 06/20] svc: export svc_sock_enqueue, svc_sock_received Tom Tucker
2007-08-21 16:03   ` Chuck Lever
2007-08-21 18:08     ` Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 07/20] svc: centralise close handling Tom Tucker
2007-08-29 18:16   ` Chuck Lever
2007-08-20 16:23 ` [RFC,PATCH 08/20] svc: centralise accept handling Tom Tucker
2007-08-29 18:40   ` Chuck Lever
2007-08-29 23:56     ` Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 09/20] svc: Add SK_LISTENER flag Tom Tucker
2007-08-29 18:41   ` Chuck Lever
2007-08-20 16:23 ` [RFC,PATCH 10/20] svc: Add generic refcount services Tom Tucker
2007-08-29 18:55   ` Chuck Lever
2007-08-29 20:19     ` Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 11/20] svc: cleanup svc_sock initialization Tom Tucker
2007-08-29 19:07   ` Chuck Lever
2007-08-20 16:23 ` [RFC,PATCH 13/20] svc: Add svc_[un]register_transport Tom Tucker
2007-08-29 19:12   ` Chuck Lever
2007-08-29 20:32     ` Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 14/20] svc: Register TCP/UDP Transports Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 15/20] svc: transport file implementation Tom Tucker
2007-08-29 19:15   ` Chuck Lever
2007-08-29 20:37     ` Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 16/20] svc: xpt_create_svc Tom Tucker
2007-08-29 19:21   ` Chuck Lever
2007-08-29 20:43     ` Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 17/20] svc: Add xpt_get_name service Tom Tucker
2007-08-20 16:23 ` [RFC,PATCH 18/20] svc: Add xpt_defer transport function Tom Tucker
2007-08-29 19:29   ` Chuck Lever
2007-08-29 21:34     ` Tom Tucker
2007-08-20 16:24 ` [RFC,PATCH 19/20] knfsd: call svc_create_svcsock Tom Tucker
2007-08-20 16:24 ` [RFC,PATCH 20/20] knfsd: create listener via portlist write Tom Tucker
2007-08-29 16:50 ` [RFC,PATCH 00/20] svc: Server Side Transport Switch Chuck Lever
2007-08-29 17:01   ` Talpey, Thomas
2007-08-29 17:59   ` Tom Tucker
2007-08-30 21:12     ` Chuck Lever
2007-08-31  1:19       ` Talpey, Thomas
2007-08-29 16:55 ` J. Bruce Fields
     [not found] ` <20070820162329.15224.29032.stgit@dell3.ogc.int>
2007-08-29 17:32   ` [RFC,PATCH 04/20] svc: xpt_has_wspace Chuck Lever
2007-08-29 18:50     ` Tom Tucker
2007-08-29 17:35   ` J. Bruce Fields
2007-08-29 18:52     ` Tom Tucker
2007-08-29 18:53   ` J. Bruce Fields
2007-08-29 19:31     ` J. Bruce Fields
2007-08-29 20:11     ` Tom Tucker
2007-08-29 20:26       ` Tom Tucker
2007-08-29 20:29         ` J. Bruce Fields
2007-08-29 20:28       ` J. Bruce Fields
  -- strict thread matches above, loose matches on Subject: below --
2007-07-10  5:27 [RFC,PATCH 00/20] svc: sunrpc server side transport switch Tom Tucker
2007-07-10  5:34 ` [RFC, PATCH 06/20] svc: export svc_sock_enqueue, svc_sock_received Tom Tucker
2007-07-10 23:08   ` Trond Myklebust
2007-07-11  0:45     ` Tom Tucker

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.