]> git.ipfire.org Git - thirdparty/libvirt.git/commit
conf: support host-side IP/route information in <interface>
authorLaine Stump <laine@laine.org>
Thu, 9 Jun 2016 19:35:08 +0000 (15:35 -0400)
committerLaine Stump <laine@laine.org>
Sun, 26 Jun 2016 23:33:10 +0000 (19:33 -0400)
commitfe6a77898a38f491403a70cc49925a584101daee
tree36c489ef428428cc8b941c0b30a120f98890c300
parent93135abf1454d8a1c8542e8c951ed615305ffa24
conf: support host-side IP/route information in <interface>

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'/>).
docs/formatdomain.html.in
docs/schemas/domaincommon.rng
src/conf/domain_conf.c
src/conf/domain_conf.h
tests/lxcxml2xmldata/lxc-ethernet-hostip.xml [new file with mode: 0644]
tests/lxcxml2xmltest.c