<source network='default'/>
<target dev='vnet0'/>
<b><ip address='192.168.122.5' prefix='24'/></b>
- <b><ip address='192.168.122.5' prefix='24' peer='10.0.0.10'/></b>
<b><route family='ipv4' address='192.168.122.0' prefix='24' gateway='192.168.122.1'/></b>
<b><route family='ipv4' address='192.168.122.8' gateway='192.168.122.1'/></b>
</interface>
</pre>
<p>
- <span class="since">Since 1.2.12</span> network devices and
- hostdev devices with network capabilities can optionally be provided
- one or more IP addresses to set on the network device in the
- guest. Note that some hypervisors or network device types will
- simply ignore them or only use the first one.
- The <code>family</code> attribute can be set to
- either <code>ipv4</code> or <code>ipv6</code>, and the
- <code>address</code> attribute contains the IP address. The
- optional <code>prefix</code> is the number of 1 bits in the
- netmask, and will be automatically set if not specified - for
- IPv4 the default prefix is determined according to the network
- "class" (A, B, or C - see RFC870), and for IPv6 the default
- prefix is 64. The optional <code>peer</code> attribute holds the
- IP address of the other end of a point-to-point network
- device <span class="since">(since 2.0.0)</span>.
- </p>
-
- <p>
- <span class="since">Since 1.2.12</span> route elements can also be
- added to define IP routes to add in the guest. The attributes of
- this element are described in the documentation for
- the <code>route</code> element
- in <a href="formatnetwork.html#elementsStaticroute">network
- definitions</a>. This is used by the LXC driver.
+ <span class="since">Since 1.2.12</span> the network devices and host devices
+ with network capabilities can be provided zero or more IP addresses to set
+ on the target device. Note that some hypervisors or network device types
+ will simply ignore them or only use the first one. The <code>family</code>
+ attribute can be set to either <code>ipv4</code> or <code>ipv6</code>, the
+ <code>address</code> attribute holds the IP address. The <code>prefix</code>
+ is not mandatory since some hypervisors do not handle it.
+ </p>
+
+ <p>
+ <span class="since">Since 1.2.12</span> route elements can also be added
+ to define the network routes to use for the network device. The attributes
+ of this element are described in the documentation for the <code>route</code>
+ element in <a href="formatnetwork.html#elementsStaticroute">network definitions</a>.
+ This is only used by the LXC driver.
</p>
<h5><a name="elementVhostuser">vhost-user interface</a></h5>
unsigned int prefixValue = 0;
char *familyStr = NULL;
int family = AF_UNSPEC;
- char *address = NULL, *peer = NULL;
+ char *address = NULL;
if (!(address = virXMLPropString(node, "address"))) {
virReportError(VIR_ERR_XML_ERROR, "%s",
}
ip->prefix = prefixValue;
- if ((peer = virXMLPropString(node, "peer")) != NULL &&
- virSocketAddrParse(&ip->peer, peer, family) < 0) {
- virReportError(VIR_ERR_INVALID_ARG,
- _("Invalid peer '%s' in <ip>"), peer);
- goto cleanup;
- }
-
ret = ip;
ip = NULL;
VIR_FREE(prefixStr);
VIR_FREE(familyStr);
VIR_FREE(address);
- VIR_FREE(peer);
VIR_FREE(ip);
return ret;
}
virBufferAsprintf(buf, " family='%s'", familyStr);
if (def->ips[i]->prefix)
virBufferAsprintf(buf, " prefix='%u'", def->ips[i]->prefix);
- if (VIR_SOCKET_ADDR_VALID(&def->ips[i]->peer)) {
- if (!(ipStr = virSocketAddrFormat(&def->ips[i]->peer)))
- return -1;
- virBufferAsprintf(buf, " peer='%s'", ipStr);
- VIR_FREE(ipStr);
- }
virBufferAddLit(buf, "/>\n");
}