[netcf-devel] [libvirt] [RFC] Reporting host interface status/statistics via netcf/libvirt, and listing active vs. inactive interfaces

Daniel P. Berrange berrange at redhat.com
Thu Jun 18 17:26:10 UTC 2009


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 :|




More information about the libvir-list mailing list