All of lore.kernel.org
 help / color / mirror / Atom feed
* [NFS] Nfs4 over Ipv6 patch to fix ipv6 subnetting in /etc/exports
@ 2009-12-02 22:50 Kelly Anderson
       [not found] ` <4B16EF49.8040106-lACMDn57031vQQPgy9v2K1aTQe2KTcn/@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Kelly Anderson @ 2009-12-02 22:50 UTC (permalink / raw)
  To: nfs

[-- Attachment #1: Type: text/plain, Size: 898 bytes --]

Hopefully this mail gets through to someone who can apply this patch to 
NfsUtils git.

I have been trying on and off for a year or so to get Nfs4 mounts to 
work over Ipv6.  Finally with the latest git it seemed to work.  That 
is, it worked when you wildcard all internet addresses.

/home/nfs4  *(rw,fsid=0,sync,root_squash,no_all_squash,no_subtree_check)

Unfortunately subnetting wasn't working, so I dug into the code to 
figure out why.  It turned out that it was something simple (once I 
managed to get my head into the code).  I've attached a patch against 
the current git that fixes it.  With the patch applied, ipv6 subnetting 
such as the following works.

/home/nfs4  
2001:470:b:3e::/64(rw,fsid=0,sync,root_squash,no_all_squash,no_subtree_check)
/home/nfs4  
2001:470:b:3e::/ffff:ffff:ffff:ffff::(rw,fsid=0,sync,root_squash,no_all_squash,no_subtree_check)

Regards,

Kelly Anderson

[-- Attachment #2: NfsUtils-check_subnet_v6.patch --]
[-- Type: text/x-patch, Size: 884 bytes --]

--- ./support/export/client.c.orig	2009-11-30 08:06:18.000000000 -0700
+++ ./support/export/client.c	2009-12-02 15:16:55.361725808 -0700
@@ -505,16 +505,16 @@ check_subnet_v6(const struct sockaddr_in
 			continue;
 
 		if (mask_match(address->sin6_addr.s6_addr32[0],
-				sin6->sin6_addr.s6_addr[0],
+				sin6->sin6_addr.s6_addr32[0],
 		      		mask->sin6_addr.s6_addr32[0]) &&
 		    mask_match(address->sin6_addr.s6_addr32[1],
-				sin6->sin6_addr.s6_addr[1],
+				sin6->sin6_addr.s6_addr32[1],
 		      		mask->sin6_addr.s6_addr32[1]) &&
 		    mask_match(address->sin6_addr.s6_addr32[2],
-				sin6->sin6_addr.s6_addr[2],
+				sin6->sin6_addr.s6_addr32[2],
 		      		mask->sin6_addr.s6_addr32[2]) &&
 		    mask_match(address->sin6_addr.s6_addr32[3],
-				sin6->sin6_addr.s6_addr[3],
+				sin6->sin6_addr.s6_addr32[3],
 		      		mask->sin6_addr.s6_addr32[3]))
 			return 1;
 	}

[-- Attachment #3: Type: text/plain, Size: 300 bytes --]

------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev

[-- Attachment #4: Type: text/plain, Size: 362 bytes --]

_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
Please note that nfs@lists.sourceforge.net is being discontinued.
Please subscribe to linux-nfs@vger.kernel.org instead.
    http://vger.kernel.org/vger-lists.html#linux-nfs

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

end of thread, other threads:[~2009-12-11 18:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-02 22:50 [NFS] Nfs4 over Ipv6 patch to fix ipv6 subnetting in /etc/exports Kelly Anderson
     [not found] ` <4B16EF49.8040106-lACMDn57031vQQPgy9v2K1aTQe2KTcn/@public.gmane.org>
2009-12-02 23:32   ` Chuck Lever
2009-12-03  0:16     ` Kelly Anderson
     [not found]       ` <4B170344.9070205-lACMDn57031vQQPgy9v2K1aTQe2KTcn/@public.gmane.org>
2009-12-03  0:25         ` Chuck Lever
2009-12-11 18:19   ` Steve Dickson
     [not found]     ` <4B228D4B.7000007-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-12-11 18:24       ` 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.