Re: [PATCH 4/6] nfs-utils: add IPv6 support to nfsd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On May 26, 2009, at 12:49 PM, Jeff Layton wrote:

On Tue, 26 May 2009 11:24:05 -0400
Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:

Hi Jeff-

On May 26, 2009, at 11:15 AM, Jeff Layton wrote:

Add 2 new options to rpc.nfsd -- -4 and -6. -4 makes it an IPv4-only
server, and -6 makes it IPv6-only. Restructure the -H option so that
if the address appears to be or resolves to an IPv4 address, that
IPv6 is disabled. Ditto if it resolves to an IPv6 address.

The new rpc.statd doesn't have a "-4" or "-6" option.  It looks in /
etc/netconfig to start only the visible transports.  I was suggesting
that rpc.nfsd use /etc/netconfig _instead_ of having a -4/-6 command-
line option.

Just a thought.


I don't feel strongly about it either way. It seems reasonable that
someone might want to disable ipv4 or ipv6 without changing
/etc/netconfig. This also has some parity with the -T and -U options
too...

It would be good however to have nfsd and statd share options and
behavior here, so I think we should implement the same convention for
both. Do you think it would be better to remove -4/-6 from nfsd, or add
those options to the new statd?

My sense is statd is a kind of set-it-and-forget-it kind of thing. It doesn't have a lockd_up() kind of API that, for example, mount.nfs or rpc.nfsd can invoke, to ensure that it's listening for a particular protocol family or protocol (eventually mount.nfs could ping it via IPv6 when mounting an IPv6 server, but it doesn't do that today). So it starts everything to cover all the bases. That can change if someone has a cogent argument!

rpc.nfsd is another kind of beast, as it's starting kernel services, not a user space listener. Even given rpc.nfsd's past of allowing -T and -U, it's hard to say whether users will want the flexibility of enabling IPv6 or IPv4, or whether they will want whatever families are supported with the option of supporting UDP or TCP on both families. If there's a way to make it all automatic, that might be the best choice.

But I'd hesitate to introduce -4 and -6 if there's a realistic possibility that we may not want or need that kind of flexibility in the end. Maybe we can go without for now, and add those options later if needed?

Plus, do we want a "don't ever use IPv4" or "IPv6" kind of setting, or just a "please start IPv4" or "IPv6" setting? Does -6 exclude IPv4 and vice versa? What should it mean when neither are present?

Once we have everything done, we might look back and say we definitely need these options on all the user space components, and at that point we'd have a clear idea how to make the options behave consistently for all of the pieces. I guess this is an argument for leaving these options off until we have a better sense of what is needed.

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux