Subject: Re: OK, what's going on with my nfs?
To: Hisashi T Fujinaka <htodd@twofifty.com>
From: Perry E. Metzger <perry@piermont.com>
List: current-users
Date: 10/29/2003 12:20:23
Hisashi T Fujinaka <htodd@twofifty.com> writes:

> On Wed, 29 Oct 2003, Perry E. Metzger wrote:
> 
> > Hisashi T Fujinaka <htodd@twofifty.com> writes:
> > > I am assuming it has something to do with net.inet6.ip6.v6only, but I
> > > can't figure out where in the man pages it describes this sysctl.
> >
> > man 3 sysctl
> 
> I already looked there and didn't see any description.

             ip6.v6only
                     The variable specifies initial value for IPV6_V6ONLY
                     socket option for AF_INET6 socket.  Please refer to
                     ip6(4) for detail.

The ip6 man page describes in more detail:

     IPV6_V6ONLY controls behavior of AF_INET6 wildcard listening socket.  The
     following example sets the option to 1:

           int on = 1;
           setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on));

     If set to 1, AF_INET6 wildcard listening socket will accept IPv6 traffic
     only.  If set to 0, it will accept IPv4 traffic as well, as if it was
     from IPv4 mapped address like ::ffff:10.1.1.1.  Note that if you set it
     this to 0, IPv4 access control gets much more complicated.  For example,
     even if you have no listening AF_INET listening socket on port X, you
     will end up accepting IPv4 traffic by AF_INET6 listening socket on the
     same port.  The default value for this flag is copied at socket instanti-
     ation time, from net.inet6.ip6.v6only sysctl(3) variable.  The option
     affects TCP and UDP sockets only.

> > Does the NFS problem go away if you change the sysctl back to the
> > old value?
> 
> Yes. I enjoy poking around blindly to fix things. :)

Okay, that's bad. File a PR saying that the change broke NFS.

-- 
Perry E. Metzger		perry@piermont.com