2009-11-02 08:20:21

by Suresh Jayaraman

[permalink] [raw]
Subject: IPv6 support

Hi Chuck et al,

Thanks for all the excellent work on IPv6 support. There have been
considerable amount of development that has been happening recently.
However, it's not very clear what are the missing pieces or open
problems (if any).

>From what I understand, the current status is (CMIW):

+ kernel support
- client side and server (kernel pieces) are almost there and the
missing pieces are expected to get in by 2.6.32.
+ userspace support
- nfsd support has already been added but disabled temporarily till
we get statd and mountd IPv6 aware.
- making statd IPv6 aware is currently under development/review.
- mount.nfs changes - done?
- rpc.mountd, exportfs changes - TBD.

Is the above information correct? How far we are from getting full IPv6
support?


Thanks,

--
Suresh Jayaraman


2009-11-05 14:43:21

by Chuck Lever III

[permalink] [raw]
Subject: Re: IPv6 support

On Nov 5, 2009, at 6:49 AM, Suresh Jayaraman wrote:
> Hi Chuck,
>
> Thanks much for the detailed update.
>
> On 11/02/2009 10:10 PM, Chuck Lever wrote:
>> On Nov 2, 2009, at 3:20 AM, Suresh Jayaraman wrote:
>>> Hi Chuck et al,
>>>
>>> Thanks for all the excellent work on IPv6 support. There have been
>>> considerable amount of development that has been happening recently.
>>> However, it's not very clear what are the missing pieces or open
>>> problems (if any).
>>
>> There's a working document on the linux-nfs.org wiki that has a full
>> list, but I can't seem to get to linux-nfs.org right now.
>
> Is this what you mentioned?
>
> http://wiki.linux-nfs.org/wiki/index.php/Server_IPv6_support
> http://wiki.linux-nfs.org/wiki/index.php/NFSv4_Introduction#IPv6_support_for_the_client

Those are old design documents. I was referring to:

http://wiki.linux-nfs.org/wiki/index.php/Ipv6PlanningDocument

which is usually updated at least once a quarter.

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com




2009-11-05 11:49:51

by Suresh Jayaraman

[permalink] [raw]
Subject: Re: IPv6 support

Hi Chuck,

Thanks much for the detailed update.

On 11/02/2009 10:10 PM, Chuck Lever wrote:
> On Nov 2, 2009, at 3:20 AM, Suresh Jayaraman wrote:
>> Hi Chuck et al,
>>
>> Thanks for all the excellent work on IPv6 support. There have been
>> considerable amount of development that has been happening recently.
>> However, it's not very clear what are the missing pieces or open
>> problems (if any).
>
> There's a working document on the linux-nfs.org wiki that has a full
> list, but I can't seem to get to linux-nfs.org right now.

Is this what you mentioned?

http://wiki.linux-nfs.org/wiki/index.php/Server_IPv6_support
http://wiki.linux-nfs.org/wiki/index.php/NFSv4_Introduction#IPv6_support_for_the_client

>
> The long answer depends on your definition of "full". :-)
>
> Does that include complete support for link-local IPv6 addresses? Does
> that include full support for netids in the kernel? Does that include
> complete multi-homed host support in lockd and statd? Does that include
> full support for internationalized domain names? Does that include IPv6
> netgroup support? Does it include IPv6 support in TCP wrappers? Does
> it include support for systems that have no IPv4 addresses (not even
> loopback)?
>
> There are a bunch of details that still need to be worked through. I've
> only been able to guess at what features are required, and which can be
> implemented at a later time. What I would dearly love to have is a list
> of specific features that folks feel is a baseline (based on actual
> data, of course).

I'd try and see if I could get the list of specific features.

>
> Plus, most distributions don't have fluent user space infrastructure for
> IPv6 yet. NetworkManager is one area that may need work. The Network
> Administration tool in Fedora is still IPv4-centric, iirc. We don't
> have firewall admin tools that handle IPv6 rules. Unlike IPv4, admins
> can (and often do) use IPv6-aware kernels without ipv6.ko, so all of our
> tools and support have to be careful about using IPv6 when the O/S may
> not support it. This is different than IPv4, which is nearly always
> available.
>

Thanks,

--
Suresh Jayaraman

2009-11-02 16:41:39

by Chuck Lever III

[permalink] [raw]
Subject: Re: IPv6 support

On Nov 2, 2009, at 3:20 AM, Suresh Jayaraman wrote:
> Hi Chuck et al,
>
> Thanks for all the excellent work on IPv6 support. There have been
> considerable amount of development that has been happening recently.
> However, it's not very clear what are the missing pieces or open
> problems (if any).

There's a working document on the linux-nfs.org wiki that has a full
list, but I can't seem to get to linux-nfs.org right now.

> From what I understand, the current status is (CMIW):
>
> + kernel support
> - client side and server (kernel pieces) are almost there and the
> missing pieces are expected to get in by 2.6.32.

The client-side implementation of IPv6 in the kernel is usable.
There's been a request for the proto= mount option to accept netids
instead of protocol names, and that's still pending. Otherwise, you
can pass an IPv6 address to the kernel and it will do the right
thing. NFSv4 is pretty much working now, NFSv2/v3 still needs the
IPv6-aware statd. We've tested against NetApp and Solaris NFS servers.

Server side in the kernel is nearly done. There are a handful of
small patches outstanding. Until I have mountd working, there's no
way to test the server side pieces thoroughly. So for now,
"completion" of the server side is some time in the future.

> + userspace support
> - nfsd support has already been added but disabled temporarily till
> we get statd and mountd IPv6 aware.
> - making statd IPv6 aware is currently under development/review.

Basic support is code complete and has seen some testing. We're
waiting for upstream NFS maintainers to review the latest patch series.

> - mount.nfs changes - done?

The netid changes mentioned above will require some mount.nfs support,
which is in the works. 2.6.33, maybe?

> - rpc.mountd, exportfs changes - TBD.

These are the next step. This is going to be a fairly heavy-weight
change -- mountd and exportfs internals are unsuited for
internationalized domain names, IPv6, and mixed IPv4/IPv6
environments, and will need to be replaced.

There is also the gssd twins. Jeff has fixed up at least one of
them. I think we've reviewed the kerberos libraries and determined
that they are IPv6-aware, but that could be incorrect. TCP wrappers
are definitely not IPv6-aware.

rpcbind and libtirpc are also prerequisites, but there are few
distributions I know of that have replaced portmapper with rpcbind.

> How far we are from getting full IPv6 support?

The short answer is mountd/exportfs will take about six months. The
client side is close enough that I think we can promise basic IPv6
support for upcoming enterprise releases. We're also thinking the
kernel work on the server is close enough that few or no kABI changes
will be needed once mountd is working, but that's just a guess.

The long answer depends on your definition of "full". :-)

Does that include complete support for link-local IPv6 addresses?
Does that include full support for netids in the kernel? Does that
include complete multi-homed host support in lockd and statd? Does
that include full support for internationalized domain names? Does
that include IPv6 netgroup support? Does it include IPv6 support in
TCP wrappers? Does it include support for systems that have no IPv4
addresses (not even loopback)?

There are a bunch of details that still need to be worked through.
I've only been able to guess at what features are required, and which
can be implemented at a later time. What I would dearly love to have
is a list of specific features that folks feel is a baseline (based on
actual data, of course). Unfortunately there are very few Linux
customers who have deployed IPv6 and an IPv6-capable NFS
implementation (like Solaris) and can tell us what they would need on
Linux.

Plus, most distributions don't have fluent user space infrastructure
for IPv6 yet. NetworkManager is one area that may need work. The
Network Administration tool in Fedora is still IPv4-centric, iirc. We
don't have firewall admin tools that handle IPv6 rules. Unlike IPv4,
admins can (and often do) use IPv6-aware kernels without ipv6.ko, so
all of our tools and support have to be careful about using IPv6 when
the O/S may not support it. This is different than IPv4, which is
nearly always available.

In other words, system support for IPv6 outside of NFS is kind of like
wireless was 5 years ago -- innumerable small admin tools that users
had to integrate themselves, usually without much success.

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com




2009-11-02 20:43:14

by Jeff Layton

[permalink] [raw]
Subject: Re: IPv6 support

On Mon, 2 Nov 2009 11:40:47 -0500
Chuck Lever <[email protected]> wrote:

>
> There is also the gssd twins. Jeff has fixed up at least one of
> them. I think we've reviewed the kerberos libraries and determined
> that they are IPv6-aware, but that could be incorrect. TCP wrappers
> are definitely not IPv6-aware.
>

rpc.gssd should be ready to go for IPv6. rpc.svcgssd didn't need any
changes since it only talks to the kernel.

--
Jeff Layton <[email protected]>