mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-15 18:50:09 +03:00
F #4770: add ip link add options to 802.1Q and VXLAN
Conversion of true/false values is duplicated as these methods could be also used by OpenvSwitch and it uses "true"/"false" instead of "on"/"off".
This commit is contained in:
parent
880b838c29
commit
2bc5ffe2d2
@ -842,6 +842,7 @@ VNET_RESTRICTED_ATTR = "VLAN_ID"
|
||||
VNET_RESTRICTED_ATTR = "BRIDGE"
|
||||
VNET_RESTRICTED_ATTR = "CONF"
|
||||
VNET_RESTRICTED_ATTR = "BRIDGE_CONF"
|
||||
VNET_RESTRICTED_ATTR = "IP_LINK_CONF"
|
||||
|
||||
VNET_RESTRICTED_ATTR = "AR/VN_MAD"
|
||||
VNET_RESTRICTED_ATTR = "AR/PHYDEV"
|
||||
@ -905,6 +906,7 @@ INHERIT_VNET_ATTR = "OUTBOUND_PEAK_BW"
|
||||
INHERIT_VNET_ATTR = "OUTBOUND_PEAK_KB"
|
||||
INHERIT_VNET_ATTR = "CONF"
|
||||
INHERIT_VNET_ATTR = "BRIDGE_CONF"
|
||||
INHERIT_VNET_ATTR = "IP_LINK_CONF"
|
||||
|
||||
#*******************************************************************************
|
||||
# Transfer Manager Driver Behavior Configuration
|
||||
|
@ -45,9 +45,22 @@ class VLANTagDriver < VNMMAD::VLANDriver
|
||||
def create_vlan_dev
|
||||
mtu = @nic[:mtu] ? "mtu #{@nic[:mtu]}" : ""
|
||||
|
||||
ip_link_conf = ""
|
||||
|
||||
@nic[:ip_link_conf].each do |option, value|
|
||||
case value
|
||||
when true
|
||||
value = "on"
|
||||
when false
|
||||
value = "off"
|
||||
end
|
||||
|
||||
ip_link_conf << "#{option} #{value} "
|
||||
end
|
||||
|
||||
OpenNebula.exec_and_log("#{command(:ip)} link add link"\
|
||||
" #{@nic[:phydev]} name #{@nic[:vlan_dev]} #{mtu} type vlan id"\
|
||||
" #{@nic[:vlan_id]}")
|
||||
" #{@nic[:vlan_id]} #{ip_link_conf}")
|
||||
|
||||
OpenNebula.exec_and_log("#{command(:ip)} link set #{@nic[:vlan_dev]} up")
|
||||
end
|
||||
|
@ -73,6 +73,7 @@ module VNMMAD
|
||||
blk = lambda do |nic|
|
||||
add_nic_conf(nic)
|
||||
add_bridge_conf(nic)
|
||||
add_ip_link_conf(nic)
|
||||
|
||||
block.call(nic)
|
||||
end
|
||||
@ -105,6 +106,10 @@ module VNMMAD
|
||||
add_command_conf(nic, :bridge_conf)
|
||||
end
|
||||
|
||||
def add_ip_link_conf(nic)
|
||||
add_command_conf(nic, :ip_link_conf)
|
||||
end
|
||||
|
||||
def add_command_conf(nic, conf_name)
|
||||
default_conf = CONF[conf_name] || {}
|
||||
nic_conf = {}
|
||||
|
@ -49,9 +49,22 @@ class VXLANDriver < VNMMAD::VLANDriver
|
||||
mtu = @nic[:mtu] ? "mtu #{@nic[:mtu]}" : ""
|
||||
ttl = @nic[:conf][:vxlan_ttl] ? "ttl #{@nic[:conf][:vxlan_ttl]}" : ""
|
||||
|
||||
ip_link_conf = ""
|
||||
|
||||
@nic[:ip_link_conf].each do |option, value|
|
||||
case value
|
||||
when true
|
||||
value = "on"
|
||||
when false
|
||||
value = "off"
|
||||
end
|
||||
|
||||
ip_link_conf << "#{option} #{value} "
|
||||
end
|
||||
|
||||
OpenNebula.exec_and_log("#{command(:ip)} link add #{@nic[:vlan_dev]}"\
|
||||
" #{mtu} type vxlan id #{@nic[:vlan_id]} group #{mcs} #{ttl}"\
|
||||
" dev #{@nic[:phydev]}")
|
||||
" dev #{@nic[:phydev]} #{ip_link_conf}")
|
||||
|
||||
OpenNebula.exec_and_log("#{command(:ip)} link set #{@nic[:vlan_dev]} up")
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user