• L
    conf: support host-side IP/route information in <interface> · 98fa8f3e
    Laine Stump 提交于
    This is place as a sub-element of <source>, where other aspects of the
    host-side connection to the network device are located (network or
    bridge name, udp listen port, etc). It's a bit odd that the interface
    we're configuring with this info is itself named in <target dev='x'/>,
    but that ship sailed long ago:
    
        <interface type='ethernet'>
          <mac address='00:16:3e:0f:ef:8a'/>
          <source>
            <ip address='192.168.122.12' family='ipv4'
                prefix='24' peer='192.168.122.1'/>
            <ip address='192.168.122.13' family='ipv4' prefix='24'/>
            <route family='ipv4' address='0.0.0.0'
                   gateway='192.168.122.1'/>
            <route family='ipv4' address='192.168.124.0' prefix='24'
                   gateway='192.168.124.1'/>
          </source>
        </interface>
    
    In practice, this will likely only be useful for type='ethernet', so
    its presence in any other type of interface is currently forbidden in
    the generic device Validate function (but it's been put into the
    general population of virDomainNetDef rather than the
    ethernet-specific union member so that 1) we can more easily add the
    capability to other types if needed, and 2) we can retain the info
    when set to an invalid interface type all the way through to
    validation and report a proper error, rather than just ignoring it
    (which is currently what happens for many other type-specific
    settings).
    
    (NB: The already-existing configuration of IP info for the guest-side
    of interfaces is in subelements directly under <interface>, and the
    name of the guest-side interface (when configurable) is in <guest
    dev='x'/>).
    
    (This patch had been pushed earlier in
    commit fe6a7789, but was reverted in
    commit d6584565 because it had been
    accidentally pushed during the freeze for release 2.0.0)
    98fa8f3e
domain_conf.h 100.5 KB