From 31d26e05367eb208d1a18ed102e8fa915048bc45 Mon Sep 17 00:00:00 2001 From: "Ruben S. Montero" Date: Fri, 9 Oct 2015 15:56:18 +0200 Subject: [PATCH] feature #4043: Support TTL for VXLAN driver --- src/vnm_mad/remotes/OpenNebulaNetwork.conf | 2 ++ src/vnm_mad/remotes/vxlan/vxlan_driver.rb | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/vnm_mad/remotes/OpenNebulaNetwork.conf b/src/vnm_mad/remotes/OpenNebulaNetwork.conf index 40c2f5a2a1..c22271af29 100644 --- a/src/vnm_mad/remotes/OpenNebulaNetwork.conf +++ b/src/vnm_mad/remotes/OpenNebulaNetwork.conf @@ -34,3 +34,5 @@ # Base multicast address for each VLAN. The mc address is :vxlan_mc + :vlan_id :vxlan_mc: 239.0.0.0 +# Time To Live (TTL) should be > 1 in routed multicast networks (IGMP) +:vxlan_ttl: 16 diff --git a/src/vnm_mad/remotes/vxlan/vxlan_driver.rb b/src/vnm_mad/remotes/vxlan/vxlan_driver.rb index 558b29eaab..b28957df2b 100644 --- a/src/vnm_mad/remotes/vxlan/vxlan_driver.rb +++ b/src/vnm_mad/remotes/vxlan/vxlan_driver.rb @@ -45,9 +45,10 @@ class VXLANDriver < VNMMAD::VLANDriver mc = VNMMAD::VNMNetwork::IPv4.to_i(CONF[:vxlan_mc]) + @nic[:vlan_id].to_i mcs = VNMMAD::VNMNetwork::IPv4.to_s(mc) mtu = @nic[:mtu] ? "mtu #{@nic[:mtu]}" : "" + ttl = CONF[:vxlan_ttl] ? "ttl #{CONF[:vxlan_ttl]}" : "" OpenNebula.exec_and_log("#{command(:ip)} link add #{@nic[:vlan_dev]}"\ - " #{mtu} type vxlan id #{@nic[:vlan_id]} group #{mcs}"\ + " #{mtu} type vxlan id #{@nic[:vlan_id]} group #{mcs} #{ttl}"\ " dev #{@nic[:phydev]}") OpenNebula.exec_and_log("#{command(:ip)} link set #{@nic[:vlan_dev]} up")