[U-Boot] [RFC PATCH v2 0/5] Initial IPv6 support

Chris Packham
2013-01-21T00:51:01Z

Hi Wolfgang,

A a few more specific answers to your questions

On Sun, Jan 20, 2013 at 10:44 PM, Chris Packham <judge.packham@gmail.com>wrote:

> On 01/18/2013 11:44 PM, Wolfgang Denk wrote:
> > Dear Chris,
> >
> > Last time I checked (about 2 years ago) there was no officially
> > agreed-on standard for example how network booting should be done in
> > IPv6.
> >
> > There used to be a document how TFTP could handle IPv6 addresses at
> >
> http://datatracker.ietf.org/idtracker/draft-evans-tftp-address-options/comment/50586/
> > but this apears to be gone now. The proposal was rejected by then,
> > and the comments ("I do recommend the transition to a better
> > transport protocol.") sounded as if the IETF would like to abandon
> > TFTp under IPv6.
>
> For TFTP it's just a matter of which addresses the server binds to, and
> whether the CLI accepts IPv6 addresses. I think we had a patch for
> tftp-hpa floating around which was only a few lines. I'm not sure it's
> even needed these days.
>

As long as the bind is done with AF_UNSPEC then it will listen to either v4
or v6. You can explicitly force v4 or v6 by using AF_INET or AF_INET6. A
modern version of tftp-hpa supports both AF_UNSPEC and AF_INET6. The IPv6
stack shouldn't care what application is being run over it. It's just udp
as far as the stack is concerned.

> > I found links for DHCPv6, for example
> > http://tools.ietf.org/html/draft-ietf-dhc-dhcpv6-opt-netboot-00
> > but no read standard for a bootstrap protocol. Some documents
> > indicated it might be based on iSCSI - but that would be quite
> > complex; see
> > http://tools.ietf.org/html/rfc4173
> > http://tools.ietf.org/agenda/72/slides/dhc-12.pdf
>
> DHCPv6 has come along way. At least in terms of address assignment and
> interop with other IPv6 auto-configuration mechanisms. I'm not sure
> about the bootstrap side of things though.
>

RFC5970[1] details network boot options for DHCPv6 (I think it's the
ratified version of the draft you linked to). Basically this allows the
server to specify a URL for the boot file which presumably could be
something like tftp://[2001:db8::1]/uImage. Looks like the standard also
covers passing kernel parameters and dealing with different architectures.

I'm not sure which, if any, dhcp6 server implementations support this RFC
but it looks like the standards exist.

Thanks,
Chris
--
[1] - http://tools.ietf.org/html/rfc5970