• L
    conf: support host-side IP/route information in <interface> · fe6a7789
    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, 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'/>).
    fe6a7789
domaincommon.rng 145.3 KB