On Thu, Jun 18, 2009 at 06:06:27PM +0100, Daniel P. Berrange wrote:
On Thu, Jun 18, 2009 at 04:06:40PM +0200, Daniel Veillard wrote:
> <define name="interface-addr-ipv6">
> <element name="addresses">
> <attribute name="family">
> <value>ipv6</value>
> </attribute>
> <choice>
> <ref name="interface-addr-static"/>
> <ref name="interface-addr-dhcp"/>
> </choice>
> </element>
> </define>
>
> same for IPv6
Not quite - IPv6 needs to allow for more options
- static - fully manual setup
- autoconf - auto assign addresses/routes. Assume DNS etc via dhcpv4 or
manual
- autoconf + statless dhcp - auto assign addresses/routes. DNS etc via dhcpv6
- statefull dhcp - everything via dhcpv6
Of course there's also the need for a 'none' case. My proposal for
<addresses family=''> element intended that to be implied.
Check out this preso for an overview if you dare.
http://lacnic.net/documentos/lacnicxi/presentaciones/autoconf_and_dhcpv6.pdf
In all cases we need to include <ip> tags to show the manual, or
automatically configured addresses/routes.
Some examples might help understand all these options
1. no IPv6
sysconfig file:
IPV6=no
XML
...no <addresses> element for IPv6
2. IPv6 link local only, no autoconf, no static address, no dhcp
IPV6=yes
IPV6_AUTOCONF=no
DHCPV6=no
XML to define it
<addresses family='ipv6'/>
XML when running
<addresses family='ipv6'>
<ip address="fe80::215:58ff:fe6e:5" prefix="64"/> (the
link local addr)
</addresses>
3. IPv6 link local, no autoconf, one static address, no dhcp
IPV6=yes
IPV6_AUTOCONF=no
DHCPV6=no
IPV6ADDR="3ffe:ffff:0:5::1"
XML to define it
<addresses family='ipv6'>
<ip address="3ffe:ffff:0:5::1" prefix="128"/> (the
static addr)
</addresses>
XML when running
<addresses family='ipv6'>
<ip address="fe80::215:58ff:fe6e:5" prefix="64"/> (the
link local addr)
<ip address="3ffe:ffff:0:5::1" prefix="128"/> (the
static addr)
</addresses>
4. IPv6 link local, autoconf, no static address, no dhcp
IPV6=yes
IPV6_AUTOCONF=yes
DHCPV6=no
XML to define it
<addresses family='ipv6'>
<autoconf/>
</addresses>
XML when running
<addresses family='ipv6'>
<autoconf/>
<ip address="fe80::215:58ff:fe6e:5" prefix="64"/> (the
link local addr)
<ip address="3ffe:1234:0:5::6" prefix="128"/> (the
automatic addr)
</addresses>
5. IPv6 link local, autoconf, no static address, dhcp for services
IPV6=yes
IPV6_AUTOCONF=yes
DHCPV6=yes
XML to define it
<addresses family='ipv6'>
<autoconf/>
<dhcp/>
</addresses>
XML when running
<addresses family='ipv6'>
<autoconf/>
<dhcp/>
<ip address="fe80::215:58ff:fe6e:5" prefix="64"/> (the
link local addr)
<ip address="3ffe:1234:0:5::6" prefix="128"/> (the
automatic addr)
</addresses>
6. IPv6 link local, no autoconf, no static address, dhcp for everything
IPV6=yes
IPV6_AUTOCONF=no
DHCPV6=yes
XML to define it
<addresses family='ipv6'>
<dhcp/>
</addresses>
XML when running
<addresses family='ipv6'>
<autoconf/>
<dhcp/>
<ip address="fe80::215:58ff:fe6e:5" prefix="64"/> (the
link local addr)
<ip address="3ffe:7891:0:5::6" prefix="128"/> (the
dhcp addr)
</addresses>
It may be aso possible to list extra static addresses, even while autoconf
and/or dhcp are enabled. Can't remember off hand. Basically every single
combo you can think of is probably needed.
For brevity, i left out routes here. You can more or less asume zero or
more routes are needed in all these scenarios.
Regards,
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|