diff --git a/README.md b/README.md index e5a1292..4f9ef1f 100644 --- a/README.md +++ b/README.md @@ -892,6 +892,8 @@ used by this network are configurable at the provider level. * `management_network_pci_slot` - The slot of the PCI device. * `management_network_mac` - MAC address of management network interface. * `management_network_domain` - Domain name assigned to the management network. +* `management_network_mtu` - MTU size of management network. If not specified, + the Libvirt default (1500) will be used. You may wonder how vagrant-libvirt knows the IP address a VM received. Libvirt doesn't provide a standard way to find out the IP address of a running domain. diff --git a/lib/vagrant-libvirt/config.rb b/lib/vagrant-libvirt/config.rb index 4861a4d..e7b6637 100644 --- a/lib/vagrant-libvirt/config.rb +++ b/lib/vagrant-libvirt/config.rb @@ -61,6 +61,7 @@ module VagrantPlugins attr_accessor :management_network_pci_bus attr_accessor :management_network_pci_slot attr_accessor :management_network_domain + attr_accessor :management_network_mtu # System connection information attr_accessor :system_uri @@ -208,6 +209,7 @@ module VagrantPlugins @management_network_pci_slot = UNSET_VALUE @management_network_pci_bus = UNSET_VALUE @management_network_domain = UNSET_VALUE + @management_network_mtu = UNSET_VALUE # System connection information @system_uri = UNSET_VALUE @@ -784,6 +786,7 @@ module VagrantPlugins @management_network_pci_bus = nil if @management_network_pci_bus == UNSET_VALUE @management_network_pci_slot = nil if @management_network_pci_slot == UNSET_VALUE @management_network_domain = nil if @management_network_domain == UNSET_VALUE + @management_network_mtu = nil if @management_network_mtu == UNSET_VALUE @system_uri = 'qemu:///system' if @system_uri == UNSET_VALUE # Domain specific settings. diff --git a/lib/vagrant-libvirt/util/network_util.rb b/lib/vagrant-libvirt/util/network_util.rb index ea71cb1..a682827 100644 --- a/lib/vagrant-libvirt/util/network_util.rb +++ b/lib/vagrant-libvirt/util/network_util.rb @@ -19,6 +19,7 @@ module VagrantPlugins management_network_pci_bus = env[:machine].provider_config.management_network_pci_bus management_network_pci_slot = env[:machine].provider_config.management_network_pci_slot management_network_domain = env[:machine].provider_config.management_network_domain + management_network_mtu = env[:machine].provider_config.management_network_mtu logger.info "Using #{management_network_name} at #{management_network_address} as the management network #{management_network_mode} is the mode" begin @@ -70,6 +71,10 @@ module VagrantPlugins management_network_options[:domain_name] = management_network_domain end + unless management_network_mtu.nil? + management_network_options[:mtu] = management_network_mtu + end + unless management_network_pci_bus.nil? and management_network_pci_slot.nil? management_network_options[:bus] = management_network_pci_bus management_network_options[:slot] = management_network_pci_slot