All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] NFS mounting with raw IPv6 server hostnames (take 2)
@ 2008-06-18 22:31 Chuck Lever
       [not found] ` <20080618222951.16006.3679.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Chuck Lever @ 2008-06-18 22:31 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-nfs

Hi Trond-

These four patches introduce the ability to mount NFS servers using a raw
IPv6 address.  This support requires the ability to handle colons in the
passed-in server hostname, and the ability to handle an IPv6 interface
identifier in the passed-in server hostname.

IPv6 addresses contain colons.  A colon is also used to separate the server
name from the export path.  By enclosing an IPv6 address inside square
brackets we effectively escape the colons in the IPv6 address and allow them
to pass unrecognized through the device name parser.

As an added bonus, I also include the patch that changes
nfs_parse_server_address() to take a name length.  This allows the passed-in
address string to have no '\0'-termination, which will help us support IPv6
for NFSv4 referrals.

This series corrects the compile problems noted by Stephen Rothwell, allowing
proper "git bisect" operation.

---

Chuck Lever (4):
      NFS: handle interface identifiers in incoming IPv6 addresses
      NFS: Add string length argument to nfs_parse_server_address
      NFS: Support raw IPv6 address hostnames during NFS mount operation
      NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3


 fs/nfs/super.c |  345 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 270 insertions(+), 75 deletions(-)

-- 
Chuck Lever
chu ckl eve rat ora cle dot com

^ permalink raw reply	[flat|nested] 13+ messages in thread
* [PATCH 0/4] NFS mounting with raw IPv6 server hostnames (take 3)
@ 2008-06-23 16:36 Chuck Lever
       [not found] ` <20080623163129.10539.15565.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Chuck Lever @ 2008-06-23 16:36 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-nfs

Hi Trond-

These four patches introduce the ability to mount NFS servers using a raw IPv6
address.  This support requires the ability to handle colons in the passed-in
server hostname, and the ability to handle an IPv6 interface identifier in the
passed-in server hostname.  This series adds both features.

IPv6 addresses contain colons.  A colon is also used to separate the server
name from the export path.  By enclosing an IPv6 address inside square
brackets, we effectively escape the colons in the IPv6 address and allow them
to pass unrecognized through the device name parser.

As an added bonus, I have also included the patch that changes
nfs_parse_server_address() to take a name length.  This allows the passed-in
address string to have no '\0'-termination, which will help us support IPv6
addresses in NFSv4 referrals.

I posted this version of the second patch to netdev@ last week, but have heard
no objections.  Please replace earlier versions of these patches with this set.

---

Chuck Lever (4):
      NFS: handle interface identifiers in incoming IPv6 addresses
      NFS: Add string length argument to nfs_parse_server_address
      NFS: Support raw IPv6 address hostnames during NFS mount operation
      NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3


 fs/nfs/super.c       |  337 +++++++++++++++++++++++++++++++++++++++-----------
 include/linux/inet.h |    7 +
 2 files changed, 269 insertions(+), 75 deletions(-)

-- 
Chuck Lever
chu ckl eve rat ora cle dot com

^ permalink raw reply	[flat|nested] 13+ messages in thread
* [PATCH 0/4] NFS mounting with raw IPv6 server hostnames
@ 2008-06-17 18:17 Chuck Lever
       [not found] ` <20080617181622.3215.61295.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Chuck Lever @ 2008-06-17 18:17 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-nfs

Hi Trond-

Something meatier today.

These four patches introduce the ability to mount NFS servers using a raw
IPv6 address.  This support requires the ability to handle colons in the
passed-in server hostname, and the ability to handle an IPv6 interface
identifier in the passed-in server hostname.

IPv6 addresses contain colons.  A colon is also used to separate the server
name from the export path.  By enclosing an IPv6 address inside square
brackets we effectively escape the colons in the IPv6 address and allow them
to pass unrecognized through the device name parser.

As an added bonus, I also include the patch that changes
nfs_parse_server_address() to take a name length.  This allows the passed-in
address string to have no '\0'-termination, which will help us support IPv6
for NFSv4 referrals.

Please consider these for 2.6.27.

---

Chuck Lever (4):
      NFS: handle interface identifiers in incoming IPv6 addresses
      NFS: Add string length argument to nfs_parse_server_address
      NFS: Support raw IPv6 address hostnames during NFS mount operation
      NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3


 fs/nfs/super.c |  336 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 261 insertions(+), 75 deletions(-)

-- 
Chuck Lever
chu ckd otl eve rat ora cle dot com

^ permalink raw reply	[flat|nested] 13+ messages in thread
* [PATCH 0/4] RFC: raw IPv6 address parsing in NFS client
@ 2008-05-18 21:19 Chuck Lever
  2008-05-18 21:20 ` [PATCH 3/4] NFS: Add string length argument to nfs_parse_server_address Chuck Lever
  0 siblings, 1 reply; 13+ messages in thread
From: Chuck Lever @ 2008-05-18 21:19 UTC (permalink / raw)
  To: netdev

Hi-

I'm interested in some review of the following four patches which add to
the kernel's NFS client the ability to parse IPv6 addresses in presentation
format.

Namely, it adds the following:

1.  If the user passes in an IPv6 address as the server name, the colons
    in the address will confuse the logic that splits the device name
    into a server hostname and an export path.   We'll use square brackets
    around IPv6 server addresses to "escape" the colons, as does Solaris.

2.  If the user passes in a link-local IPv6 address as the server name,
    an interface index is also necessary.  We'll use the "%id" suffix on
    the address to pass in the index, and plant that in the sockaddr's
    sin6_scope_id field.

In addition to the following patches in email, a git repo with these
same patches already applied can be found here:

	linux-nfs.org:exports/cel-2.6.git

The basic questions:

Are these reasonable conventions to follow?  Is the parsing logic adequate?
Is there anything I'm forgetting?

Thanks for any review.

---

Chuck Lever (4):
      NFS: handle interface identifiers in incoming IPv6 addresses
      NFS: Add string length argument to nfs_parse_server_address
      NFS: Support raw IPv6 address hostnames during NFS mount operation
      NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3


 fs/nfs/super.c |  311 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 236 insertions(+), 75 deletions(-)

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

end of thread, other threads:[~2008-06-23 16:37 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-18 22:31 [PATCH 0/4] NFS mounting with raw IPv6 server hostnames (take 2) Chuck Lever
     [not found] ` <20080618222951.16006.3679.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-06-18 22:31   ` [PATCH 1/4] NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3 Chuck Lever
2008-06-18 22:32   ` [PATCH 2/4] NFS: Support raw IPv6 address hostnames during NFS mount operation Chuck Lever
     [not found]     ` <20080618223203.16006.61765.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-06-18 22:35       ` Peter Staubach
2008-06-18 22:42         ` Chuck Lever
2008-06-18 22:51           ` Trond Myklebust
2008-06-18 22:59             ` Peter Staubach
2008-06-18 22:32   ` [PATCH 3/4] NFS: Add string length argument to nfs_parse_server_address Chuck Lever
     [not found]     ` <20080618223211.16006.8247.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-06-19 17:43       ` Trond Myklebust
2008-06-18 22:32   ` [PATCH 4/4] NFS: handle interface identifiers in incoming IPv6 addresses Chuck Lever
  -- strict thread matches above, loose matches on Subject: below --
2008-06-23 16:36 [PATCH 0/4] NFS mounting with raw IPv6 server hostnames (take 3) Chuck Lever
     [not found] ` <20080623163129.10539.15565.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-06-23 16:36   ` [PATCH 3/4] NFS: Add string length argument to nfs_parse_server_address Chuck Lever
2008-06-17 18:17 [PATCH 0/4] NFS mounting with raw IPv6 server hostnames Chuck Lever
     [not found] ` <20080617181622.3215.61295.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2008-06-17 18:17   ` [PATCH 3/4] NFS: Add string length argument to nfs_parse_server_address Chuck Lever
2008-05-18 21:19 [PATCH 0/4] RFC: raw IPv6 address parsing in NFS client Chuck Lever
2008-05-18 21:20 ` [PATCH 3/4] NFS: Add string length argument to nfs_parse_server_address Chuck Lever

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.