Re: Libvirt APIs for creating virtual networks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/28/20 12:01 PM, Daniel P. Berrangé wrote:
On Tue, Apr 28, 2020 at 08:51:45AM -0700, Santhosh Kumar Gunturu wrote:
Okay. Thanks.

Do we have any facility APIs to set the DHCP Options via XML ?
Default gateway ?

libvirt has no supported method of specifying a default gateway other than the IP of the bridge device on the virtualization host it self, and DHCP clients on these networks will always end up getting their default gateway set to the IP address of that bridge. Fortunately (for you :-) that's not because libvirt is explicitly setting that address in the dnsmasq config file, but just because that's what dnsmasq does when no gateway address is specified in the config file.

You would set this in the dnsmasq.conf file with dhcp-option, e.g.:

  dhcp-option=option-router,192.168.122.5

and recent libvirt (5.6.0 and newer) allows adding arbitrary lines to the dnsmasq.conf files it creates for its networks, using the <dnsmasq:options> element in the network XML. For details on how to do this, look at:

  https://libvirt.org/formatnetwork.html#elementsNamespaces



Dns-server ?

Not exact, but

<forwarder addr='8.8.8.8'/>

is *kind of* what you're looking for. It doesn't set the IP address sent back in the dhcp reply, but sets up the dnsmasq instance listening for the network to forward all requests on to 8.8.8.8 (you can also refine this to forward the requests for only certain domains, by adding "domain='example.com'" to the <forwarder> element).

(If you *really* need to have the guest send DNS requests directly to the upstream DNS server rather than via dnsmasq, then you would need to use <dnsmasq:options> to set something like "dhcp-option=option-dns-server,8/8/8/8")

domain-name ?

domain can be set with "<domain name='example.com'/>".



Everything is controlled through the XML document described here:

    https://libvirt.org/formatnetwork.html

We don't have separate APIs for each piece of info - just the one
virNetworkDefineXML API that takes the XML document.

Regards,
Daniel






[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux