ovs-hybrid: should permanently keep MAC entries

The linux bridge installed for the particular vif type ovs-hybrid
should be configured to persistently keep the MAC learned from the
RARP packets sent by QEMU when starting on destination node. That to
avoid any break of the datapath during a live-migration. That because
at some point of the live-migration source and destination can be on
a same L2 and we could have the destination bridge learning from source.

Change-Id: I50775df3629a079e6ba6f167ebfa499ffa5c7cac
Closes-Bug: 1715317
Related-Bug: 1414559
(cherry picked from commit fa4ff64b86)
This commit is contained in:
Sahid Orentino Ferdjaoui 2017-09-06 03:35:58 -04:00 committed by sahid
parent 89b0bea3f3
commit 4d108c1c8f
2 changed files with 3 additions and 0 deletions

View File

@ -152,6 +152,7 @@ def ensure_bridge(bridge):
processutils.execute('brctl', 'addbr', bridge)
processutils.execute('brctl', 'setfd', bridge, 0)
processutils.execute('brctl', 'stp', bridge, 'off')
processutils.execute('brctl', 'setageing', bridge, 0)
syspath = '/sys/class/net/%s/bridge/multicast_snooping'
syspath = syspath % bridge
processutils.execute('tee', syspath, process_input='0',

View File

@ -51,6 +51,7 @@ class LinuxNetTest(testtools.TestCase):
mock.call('brctl', 'addbr', 'br0'),
mock.call('brctl', 'setfd', 'br0', 0),
mock.call('brctl', 'stp', 'br0', "off"),
mock.call('brctl', 'setageing', 'br0', 0),
mock.call('tee', '/sys/class/net/br0/bridge/multicast_snooping',
check_exit_code=[0, 1], process_input='0'),
mock.call('ip', 'link', 'set', 'br0', 'up',
@ -70,6 +71,7 @@ class LinuxNetTest(testtools.TestCase):
mock.call('brctl', 'addbr', 'br0'),
mock.call('brctl', 'setfd', 'br0', 0),
mock.call('brctl', 'stp', 'br0', "off"),
mock.call('brctl', 'setageing', 'br0', 0),
mock.call('tee', '/sys/class/net/br0/bridge/multicast_snooping',
check_exit_code=[0, 1], process_input='0'),
mock.call('tee', '/proc/sys/net/ipv6/conf/br0/disable_ipv6',