mirror of
https://github.com/vagrant-libvirt/vagrant-libvirt.git
synced 2025-02-25 18:55:27 -06:00
Merge pull request #732 from galkindmitrii/master
Allow to specify libvirt NIC driver and number of queues for it.
This commit is contained in:
commit
ff79d5b1f1
@ -608,6 +608,11 @@ starts with `libvirt__` string. Here is a list of those options:
|
||||
* `:model_type` - parameter specifies the model of the network adapter when you
|
||||
create a domain value by default virtio KVM believe possible values, see the
|
||||
documentation for libvirt
|
||||
* `:libvirt__driver_name` - Define which network driver to use. [More
|
||||
info](https://libvirt.org/formatdomain.html#elementsDriverBackendOptions)
|
||||
* `:libvirt__driver_queues` - Define a number of queues to be used for network
|
||||
interface. Set equal to numer of vCPUs for best performance. [More
|
||||
info](http://www.linux-kvm.org/page/Multiqueue)
|
||||
* `:autostart` - Automatic startup of network by the libvirt daemon.
|
||||
If not specified the default is 'false'.
|
||||
|
||||
|
@ -69,6 +69,8 @@ module VagrantPlugins
|
||||
@network_name = iface_configuration[:network_name]
|
||||
@mac = iface_configuration.fetch(:mac, false)
|
||||
@model_type = iface_configuration.fetch(:model_type, @nic_model_type)
|
||||
@driver_name = iface_configuration.fetch(:driver_name, false)
|
||||
@driver_queues = iface_configuration.fetch(:driver_queues, false)
|
||||
@device_name = iface_configuration.fetch(:iface_name, false)
|
||||
template_name = 'interface'
|
||||
# Configuration for public interfaces which use the macvtap driver
|
||||
@ -77,6 +79,8 @@ module VagrantPlugins
|
||||
@mode = iface_configuration.fetch(:mode, 'bridge')
|
||||
@type = iface_configuration.fetch(:type, 'direct')
|
||||
@model_type = iface_configuration.fetch(:model_type, @nic_model_type)
|
||||
@driver_name = iface_configuration.fetch(:driver_name, false)
|
||||
@driver_queues = iface_configuration.fetch(:driver_queues, false)
|
||||
@portgroup = iface_configuration.fetch(:portgroup, nil)
|
||||
@network_name = iface_configuration.fetch(:network_name, @network_name)
|
||||
template_name = 'public_interface'
|
||||
@ -102,6 +106,8 @@ module VagrantPlugins
|
||||
end
|
||||
@tunnel_ip = iface_configuration.fetch(:tunnel_ip, default_ip)
|
||||
@model_type = iface_configuration.fetch(:model_type, @nic_model_type)
|
||||
@driver_name = iface_configuration.fetch(:driver_name, false)
|
||||
@driver_queues = iface_configuration.fetch(:driver_queues, false)
|
||||
template_name = 'tunnel_interface'
|
||||
@logger.info("Setting up #{@type} tunnel interface using #{@tunnel_ip} port #{@tunnel_port}")
|
||||
end
|
||||
|
@ -10,5 +10,12 @@
|
||||
<% end %>
|
||||
<alias name='net<%= @iface_number %>'/>
|
||||
<model type='<%=@model_type%>'/>
|
||||
<% if @driver_name and @driver_queues %>
|
||||
<driver name='<%=@driver_name%>' queues='<%=@driver_queues%>'/>
|
||||
<% elsif @driver_queues %>
|
||||
<driver queues='<%=@driver_queues%>'/>
|
||||
<% elsif @driver_name %>
|
||||
<driver name='<%=@driver_name%>'/>
|
||||
<% end %>
|
||||
</interface>
|
||||
|
||||
|
@ -10,6 +10,13 @@
|
||||
<source bridge='<%=@device%>'/>
|
||||
<% end %>
|
||||
<model type='<%=@model_type%>'/>
|
||||
<% if @driver_name and @driver_queues %>
|
||||
<driver name='<%=@driver_name%>' queues='<%=@driver_queues%>'/>
|
||||
<% elsif @driver_queues %>
|
||||
<driver queues='<%=@driver_queues%>'/>
|
||||
<% elsif @driver_name %>
|
||||
<driver name='<%=@driver_name%>'/>
|
||||
<% end %>
|
||||
<% if @ovs %>
|
||||
<virtualport type='openvswitch'/>
|
||||
<% end %>
|
||||
|
@ -14,4 +14,11 @@
|
||||
<% end %>
|
||||
<alias name='net<%= @iface_number %>'/>
|
||||
<model type='<%=@model_type%>'/>
|
||||
<% if @driver_name and @driver_queues %>
|
||||
<driver name='<%=@driver_name%>' queues='<%=@driver_queues%>'/>
|
||||
<% elsif @driver_queues %>
|
||||
<driver queues='<%=@driver_queues%>'/>
|
||||
<% elsif @driver_name %>
|
||||
<driver name='<%=@driver_name%>'/>
|
||||
<% end %>
|
||||
</interface>
|
||||
|
Loading…
Reference in New Issue
Block a user