When we wait for an entry to age-out we should also disable learning to
ensure FDB entry won't be refreshed.
Signed-off-by: Ido Schimmel <idosch(a)mellanox.com>
---
recipes/switchdev/l2-002-bridge_fdb.py | 6 +++++-
recipes/switchdev/l2-017-bridge_fdb_vlan1d.py | 6 +++++-
recipes/switchdev/l2-018-bridge_fdb_team.py | 6 +++++-
recipes/switchdev/l2-019-bridge_fdb_team_vlan1d.py | 6 +++++-
4 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/recipes/switchdev/l2-002-bridge_fdb.py
b/recipes/switchdev/l2-002-bridge_fdb.py
index 0dfb11b..af79a2f 100644
--- a/recipes/switchdev/l2-002-bridge_fdb.py
+++ b/recipes/switchdev/l2-002-bridge_fdb.py
@@ -34,13 +34,14 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_if1, m2_if1)
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "software")
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "hardware")
+ sw_if1.set_br_learning(on=False, self=True)
sleep(20)
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "software", False)
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "hardware", False)
- # Disable learning and make sure FDB is not populated.
+ # Make sure FDB is not populated when learning is disabled.
sw_if1.set_br_learning(on=False, self=True)
tl.ping_simple(m1_if1, m2_if1)
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "software", False)
@@ -69,6 +70,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_if1, m2_if1)
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "software")
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "hardware")
+ sw_if1.set_br_learning(on=False, self=True)
sleep(20)
@@ -76,6 +78,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "hardware", False)
# Disable learning_sync and make sure only hardware FDB is populated.
+ sw_if1.set_br_learning(on=True, self=True)
sw_if1.set_br_learning_sync(on=False, self=True)
tl.ping_simple(m1_if1, m2_if1)
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "software", False)
@@ -96,6 +99,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_if1, m2_if1)
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "software")
tl.check_fdb(sw_if1, m1_if1.get_hwaddr(), 1, "hardware")
+ sw_if1.set_br_learning(on=False, self=True)
sleep(20)
diff --git a/recipes/switchdev/l2-017-bridge_fdb_vlan1d.py
b/recipes/switchdev/l2-017-bridge_fdb_vlan1d.py
index 26a0020..f5de674 100644
--- a/recipes/switchdev/l2-017-bridge_fdb_vlan1d.py
+++ b/recipes/switchdev/l2-017-bridge_fdb_vlan1d.py
@@ -36,13 +36,14 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_if1_10, m2_if1_20)
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "software")
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "hardware")
+ sw_if1_10.set_br_learning(on=False, self=True)
sleep(20)
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "software", False)
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "hardware", False)
- # Disable learning and make sure FDB is not populated.
+ # Make sure FDB is not populated when learning is disabled.
sw_if1_10.set_br_learning(on=False, self=True)
tl.ping_simple(m1_if1_10, m2_if1_20)
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "software", False)
@@ -71,6 +72,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_if1_10, m2_if1_20)
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "software")
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "hardware")
+ sw_if1_10.set_br_learning(on=False, self=True)
sleep(20)
@@ -78,6 +80,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "hardware", False)
# Disable learning_sync and make sure only hardware FDB is populated.
+ sw_if1_10.set_br_learning(on=True, self=True)
sw_if1_10.set_br_learning_sync(on=False, self=True)
tl.ping_simple(m1_if1_10, m2_if1_20)
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "software", False)
@@ -98,6 +101,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_if1_10, m2_if1_20)
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "software")
tl.check_fdb(sw_if1_10, m1_if1_10.get_hwaddr(), 0, "hardware")
+ sw_if1_10.set_br_learning(on=False, self=True)
sleep(20)
diff --git a/recipes/switchdev/l2-018-bridge_fdb_team.py
b/recipes/switchdev/l2-018-bridge_fdb_team.py
index 0cf75e8..41cac9a 100644
--- a/recipes/switchdev/l2-018-bridge_fdb_team.py
+++ b/recipes/switchdev/l2-018-bridge_fdb_team.py
@@ -38,13 +38,14 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_lag1, m2_lag1)
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "software")
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "hardware")
+ sw_lag1.set_br_learning(on=False, self=True)
sleep(20)
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "software", False)
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "hardware", False)
- # Disable learning and make sure FDB is not populated.
+ # Make sure FDB is not populated when learning is disabled.
sw_lag1.set_br_learning(on=False, self=True)
tl.ping_simple(m1_lag1, m2_lag1)
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "software", False)
@@ -73,6 +74,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_lag1, m2_lag1)
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "software")
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "hardware")
+ sw_lag1.set_br_learning(on=False, self=True)
sleep(20)
@@ -80,6 +82,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "hardware", False)
# Disable learning_sync and make sure only hardware FDB is populated.
+ sw_lag1.set_br_learning(on=True, self=True)
sw_lag1.set_br_learning_sync(on=False, self=True)
tl.ping_simple(m1_lag1, m2_lag1)
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "software", False)
@@ -100,6 +103,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_lag1, m2_lag1)
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "software")
tl.check_fdb(sw_lag1, m1_lag1.get_hwaddr(), 1, "hardware")
+ sw_lag1.set_br_learning(on=False, self=True)
sleep(20)
diff --git a/recipes/switchdev/l2-019-bridge_fdb_team_vlan1d.py
b/recipes/switchdev/l2-019-bridge_fdb_team_vlan1d.py
index 7784997..9a6a4a0 100644
--- a/recipes/switchdev/l2-019-bridge_fdb_team_vlan1d.py
+++ b/recipes/switchdev/l2-019-bridge_fdb_team_vlan1d.py
@@ -45,13 +45,14 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_lag1_10, m2_lag1_20)
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "software")
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "hardware")
+ sw_lag1_10.set_br_learning(on=False, self=True)
sleep(20)
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "software", False)
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "hardware", False)
- # Disable learning and make sure FDB is not populated.
+ # Make sure FDB is not populated when learning is disabled.
sw_lag1_10.set_br_learning(on=False, self=True)
tl.ping_simple(m1_lag1_10, m2_lag1_20)
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "software", False)
@@ -80,6 +81,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_lag1_10, m2_lag1_20)
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "software")
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "hardware")
+ sw_lag1_10.set_br_learning(on=False, self=True)
sleep(20)
@@ -87,6 +89,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "hardware", False)
# Disable learning_sync and make sure only hardware FDB is populated.
+ sw_lag1_10.set_br_learning(on=True, self=True)
sw_lag1_10.set_br_learning_sync(on=False, self=True)
tl.ping_simple(m1_lag1_10, m2_lag1_20)
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "software", False)
@@ -107,6 +110,7 @@ def do_task(ctl, hosts, ifaces, aliases):
tl.ping_simple(m1_lag1_10, m2_lag1_20)
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "software")
tl.check_fdb(sw_lag1_10, m1_lag1_10.get_hwaddr(), 0, "hardware")
+ sw_lag1_10.set_br_learning(on=False, self=True)
sleep(20)
--
2.9.3