use proxy mode on vxlan interface only when l2-population is activated
the proxy mode was set by default on every vxlan interfaces which leads to inaccessibility between VM that are not hosted on the same host in a vxlan network Closes-Bug: #1237082 Change-Id: I34028ee0bdfdccda61c6a29f58759259da060b68
This commit is contained in:
parent
a668ae4e97
commit
901ecff6bc
@ -147,8 +147,8 @@ class IPWrapper(SubProcessBase):
|
|||||||
device.link.set_netns(self.namespace)
|
device.link.set_netns(self.namespace)
|
||||||
|
|
||||||
def add_vxlan(self, name, vni, group=None, dev=None, ttl=None, tos=None,
|
def add_vxlan(self, name, vni, group=None, dev=None, ttl=None, tos=None,
|
||||||
local=None, port=None):
|
local=None, port=None, proxy=False):
|
||||||
cmd = ['add', name, 'type', 'vxlan', 'id', vni, 'proxy']
|
cmd = ['add', name, 'type', 'vxlan', 'id', vni]
|
||||||
if group:
|
if group:
|
||||||
cmd.extend(['group', group])
|
cmd.extend(['group', group])
|
||||||
if dev:
|
if dev:
|
||||||
@ -159,6 +159,8 @@ class IPWrapper(SubProcessBase):
|
|||||||
cmd.extend(['tos', tos])
|
cmd.extend(['tos', tos])
|
||||||
if local:
|
if local:
|
||||||
cmd.extend(['local', local])
|
cmd.extend(['local', local])
|
||||||
|
if proxy:
|
||||||
|
cmd.append('proxy')
|
||||||
# tuple: min,max
|
# tuple: min,max
|
||||||
if port and len(port) == 2:
|
if port and len(port) == 2:
|
||||||
cmd.extend(['port', port[0], port[1]])
|
cmd.extend(['port', port[0], port[1]])
|
||||||
|
@ -256,6 +256,8 @@ class LinuxBridgeManager:
|
|||||||
args['ttl'] = cfg.CONF.VXLAN.ttl
|
args['ttl'] = cfg.CONF.VXLAN.ttl
|
||||||
if cfg.CONF.VXLAN.tos:
|
if cfg.CONF.VXLAN.tos:
|
||||||
args['tos'] = cfg.CONF.VXLAN.tos
|
args['tos'] = cfg.CONF.VXLAN.tos
|
||||||
|
if cfg.CONF.VXLAN.l2_population:
|
||||||
|
args['proxy'] = True
|
||||||
int_vxlan = self.ip.add_vxlan(interface, segmentation_id, **args)
|
int_vxlan = self.ip.add_vxlan(interface, segmentation_id, **args)
|
||||||
int_vxlan.link.set_up()
|
int_vxlan.link.set_up()
|
||||||
LOG.debug(_("Done creating vxlan interface %s"), interface)
|
LOG.debug(_("Done creating vxlan interface %s"), interface)
|
||||||
|
@ -361,6 +361,13 @@ class TestLinuxBridgeManager(base.BaseTestCase):
|
|||||||
add_vxlan_fn.assert_called_with("vxlan-" + seg_id, seg_id,
|
add_vxlan_fn.assert_called_with("vxlan-" + seg_id, seg_id,
|
||||||
group="224.0.0.1",
|
group="224.0.0.1",
|
||||||
dev=self.lbm.local_int)
|
dev=self.lbm.local_int)
|
||||||
|
cfg.CONF.set_override('l2_population', 'True', 'VXLAN')
|
||||||
|
self.assertEqual(self.lbm.ensure_vxlan(seg_id),
|
||||||
|
"vxlan-" + seg_id)
|
||||||
|
add_vxlan_fn.assert_called_with("vxlan-" + seg_id, seg_id,
|
||||||
|
group="224.0.0.1",
|
||||||
|
dev=self.lbm.local_int,
|
||||||
|
proxy=True)
|
||||||
|
|
||||||
def test_update_interface_ip_details(self):
|
def test_update_interface_ip_details(self):
|
||||||
gwdict = dict(gateway='1.1.1.1',
|
gwdict = dict(gateway='1.1.1.1',
|
||||||
|
Loading…
Reference in New Issue
Block a user