All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] nfs-utils: convert gssd to TI-RPC and add IPv6 support (try #2)
@ 2009-04-01 14:23 Jeff Layton
  2009-04-01 14:24 ` [PATCH 1/6] nfs-utils: make getnameinfo() required for --enable-gss Jeff Layton
                   ` (6 more replies)
  0 siblings, 7 replies; 26+ messages in thread
From: Jeff Layton @ 2009-04-01 14:23 UTC (permalink / raw)
  To: linux-nfs, nfsv4

This patchset is a second attempt at adding support for IPv6 to
rpc.gssd. The main changes from the first set are some minor fixes and
changes suggested by Chuck Lever. This set is also based on mainline
nfs-utils since the requisite patches for it are now there.

In order to do this, we first have to convert rpc.gssd to use TI-RPC.
The first 5 patches do this and abstract out some of the code to make
this easier. Once that support is in place, the last patch in the series
actually adds the (fairly minimal) changes to add IPv6 support.

The series should be fully bisectable, but I've only really tested the
end result for anything other than to see if it compiles. With these
patches I've been able to mount an OpenSolaris server using
NFSv3/4 + IPv6 + krb5 auth

Specific changes from the last set:
- cleaned up the usage of sockaddr and sockaddr_storage and pointers to
  them
- moved the sockaddr_storage to be part of the clnt_info instead of a
  separate allocation
- use a C99 initializer for ai_hints instead of memset()
- properly handle a return of EAI_SYSTEM from getaddrinfo()

Comments welcome.

Jeff Layton (6):
  nfs-utils: make getnameinfo() required for --enable-gss
  nfs-utils: store the address given in the upcall for later use
  nfs-utils: skip getaddrinfo in create_auth_rpc_client unless we need
    port
  nfs-utils: split out gssd rpc client creation into separate function
  nfs-utils: when TIRPC is enabled, use new API to create RPC client
  nfs-utils: add IPv6 code to gssd

 configure.ac           |    2 +
 utils/gssd/gssd.h      |    2 +-
 utils/gssd/gssd_proc.c |  398 +++++++++++++++++++++++++++++++++++++-----------
 3 files changed, 309 insertions(+), 93 deletions(-)

^ permalink raw reply	[flat|nested] 26+ messages in thread
* [PATCH 0/6] nfs-utils: convert gssd to TI-RPC and add IPv6 support (RFC)
@ 2009-03-11 16:42 Jeff Layton
  2009-03-11 16:42 ` [PATCH 3/6] nfs-utils: skip getaddrinfo in create_auth_rpc_client unless we need port Jeff Layton
  0 siblings, 1 reply; 26+ messages in thread
From: Jeff Layton @ 2009-03-11 16:42 UTC (permalink / raw)
  To: linux-nfs, nfsv4; +Cc: kwc, chuck.lever

This patchset is a first draft at adding support for IPv6 to rpc.gssd.
It's based on Chuck Lever's latest nfs-utils git tree. Some of the
needed infrastructure for this is not yet in mainline nfs-utils, so this
isn't really ready for inclusion yet. I'm just posting it to solicit
feedback.

In order to do this, we first have to convert rpc.gssd to use TI-RPC.
The first 5 patches do this and abstract out some of the code to make
this easier. Once that support is in place, the last patch in the series
actually adds the (fairly minimal) changes to add IPv6 support.

The series should be fully bisectable, but I've only really tested the
end result for anything other than to see if it compiles. With this
series on top of Chuck's tree, I've been able to mount an OpenSolaris
server using NFSv4+IPv6+krb5 auth

There's one other significant change in here as well. The current code
does what seems to be an unnecessary lookup on every upcall. It goes
something like this:

1) kernel calls gssd and hands it an address
2) we take that address and reverse-resolve it to a hostname
3) we store that hostname
4) we resolve that hostname back to an address for RPC client creation

Obviously, this could be more efficient. This set changes it so that we
store the address that we get from the upcall and skip the second
lookup.  I have no hard numbers yet, but it seems obvious that it should
improve upcall performance.

My main question here is -- is this OK? I don't see any need for us to
resolve the address forward and backward like we do. We do this sort of
thing in some places (statd, for instance) but the need is a little
clearer there.

Jeff Layton (6):
  nfs-utils: make getnameinfo() required for --enable-gss
  nfs-utils: store the address given in the upcall for later use
  nfs-utils: skip getaddrinfo in create_auth_rpc_client unless we need
    port
  nfs-utils: split out gssd rpc client creation into separate function
  nfs-utils: when TIRPC is enabled, use new API to create RPC client
  nfs-utils: add IPv6 code to gssd

 configure.ac           |    2 +
 utils/gssd/gssd.h      |    2 +-
 utils/gssd/gssd_proc.c |  417 +++++++++++++++++++++++++++++++++++++-----------
 3 files changed, 328 insertions(+), 93 deletions(-)


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

end of thread, other threads:[~2009-04-06 22:59 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-01 14:23 [PATCH 0/6] nfs-utils: convert gssd to TI-RPC and add IPv6 support (try #2) Jeff Layton
2009-04-01 14:24 ` [PATCH 1/6] nfs-utils: make getnameinfo() required for --enable-gss Jeff Layton
2009-04-01 14:24 ` [PATCH 2/6] nfs-utils: store the address given in the upcall for later use Jeff Layton
2009-04-01 16:58   ` Chuck Lever
2009-04-01 17:06     ` Jeff Layton
2009-04-01 17:14       ` Chuck Lever
2009-04-01 14:24 ` [PATCH 3/6] nfs-utils: skip getaddrinfo in create_auth_rpc_client unless we need port Jeff Layton
2009-04-01 17:11   ` Chuck Lever
2009-04-01 17:47     ` Jeff Layton
2009-04-01 18:01       ` Chuck Lever
2009-04-03 19:04         ` Jeff Layton
2009-04-06 15:03           ` Chuck Lever
2009-04-06 15:21             ` Jeff Layton
2009-04-06 15:46               ` Chuck Lever
2009-04-06 16:33                 ` Jeff Layton
2009-04-06 22:33                 ` Kevin Coffman
2009-04-06 22:59                   ` Chuck Lever
2009-04-01 14:24 ` [PATCH 4/6] nfs-utils: split out gssd rpc client creation into separate function Jeff Layton
2009-04-01 14:24 ` [PATCH 5/6] nfs-utils: when TIRPC is enabled, use new API to create RPC client Jeff Layton
2009-04-01 17:23   ` Chuck Lever
2009-04-01 14:24 ` [PATCH 6/6] nfs-utils: add IPv6 code to gssd Jeff Layton
2009-04-03 16:07 ` [PATCH 0/6] nfs-utils: convert gssd to TI-RPC and add IPv6 support (try #2) Steve Dickson
     [not found]   ` <49D63436.8010709-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-04-03 17:00     ` Jeff Layton
  -- strict thread matches above, loose matches on Subject: below --
2009-03-11 16:42 [PATCH 0/6] nfs-utils: convert gssd to TI-RPC and add IPv6 support (RFC) Jeff Layton
2009-03-11 16:42 ` [PATCH 3/6] nfs-utils: skip getaddrinfo in create_auth_rpc_client unless we need port Jeff Layton
2009-03-11 22:09   ` Chuck Lever
2009-03-12 21:48     ` Jeff Layton

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.