mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 06:35:24 +00:00
a950dd2a31
This commit adds support for IPv6 parsing and formatting to the virtual network XML parser, including moving around data definitions to allow for multiple <ip> elements on a single network, but only changes the consumers of this API to accommodate for the changes in API/structure, not to add any actual IPv6 functionality. That will come in a later patch - this patch attempts to maintain the same final functionality in both drivers that use the network XML parser - vbox and "bridge" (the Linux bridge-based driver used by the qemu hypervisor driver). * src/libvirt_private.syms: Add new private API functions. * src/conf/network_conf.[ch]: Change C data structure and parsing/formatting. * src/network/bridge_driver.c: Update to use new parser/formatter. * src/vbox/vbox_tmpl.c: update to use new parser/formatter * docs/schemas/network.rng: changes to the schema - * there can now be more than one <ip> element. * ip address is now an ip-addr (ipv4 or ipv6) rather than ipv4-addr * new optional "prefix" attribute that can be used in place of "netmask" * new optional "family" attribute - "ipv4" or "ipv6" (will default to ipv4) * define data types for the above * tests/networkxml2xml(in|out)/nat-network.xml: add multiple <ip> elements (including IPv6) to a single network definition to verify they are being correctly parsed and formatted.
22 lines
756 B
XML
22 lines
756 B
XML
<network>
|
|
<name>default</name>
|
|
<uuid>81ff0d90-c91e-6742-64da-4a736edb9a9b</uuid>
|
|
<forward dev='eth1' mode='nat'/>
|
|
<bridge name='virbr0' stp='on' delay='0' />
|
|
<ip address='192.168.122.1' netmask='255.255.255.0'>
|
|
<dhcp>
|
|
<range start='192.168.122.2' end='192.168.122.254' />
|
|
<host mac='00:16:3e:77:e2:ed' name='a.example.com' ip='192.168.122.10' />
|
|
<host mac='00:16:3e:3e:a9:1a' name='b.example.com' ip='192.168.122.11' />
|
|
</dhcp>
|
|
</ip>
|
|
<ip family='ipv4' address='192.168.123.1' netmask='255.255.255.0'>
|
|
</ip>
|
|
<ip family='ipv6' address='2001:db8:ac10:fe01::1' prefix='64'>
|
|
</ip>
|
|
<ip family='ipv6' address='2001:db8:ac10:fd01::1' prefix='64'>
|
|
</ip>
|
|
<ip family='ipv4' address='10.24.10.1'>
|
|
</ip>
|
|
</network>
|