X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=test%2Ftest_l2_fib.py;h=9ce289f1652f9523cc8bafc830a954db81f9a883;hp=51c17470966f5da1ca4a792d6225fd729394d135;hb=0f8d10035;hpb=23f41d789c54bd8d9b87db8cf43d0235c5699da4 diff --git a/test/test_l2_fib.py b/test/test_l2_fib.py index 51c17470966..9ce289f1652 100644 --- a/test/test_l2_fib.py +++ b/test/test_l2_fib.py @@ -498,6 +498,29 @@ class TestL2fib(VppTestCase): self.vapi.want_l2_macs_events(enable_disable=0) self.assertEqual(len(learned_macs ^ macs), 0) + def test_l2_fib_mac_learn_evs2(self): + """ L2 FIB - mac learning events using want_l2_macs_events2 + """ + bd1 = 1 + hosts = self.create_hosts(10, subnet=39) + + self.vapi.l2fib_set_scan_delay(scan_delay=10) + self.vapi.want_l2_macs_events2() + self.sleep(1) + self.learn_hosts(bd1, hosts) + + self.sleep(1) + self.logger.info(self.vapi.ppcli("show l2fib")) + evs = self.vapi.collect_events() + action = VppEnum.vl_api_mac_event_action_t.MAC_EVENT_ACTION_API_ADD + learned_macs = { + e.mac[i].mac_addr.packed for e in evs for i in range(e.n_macs) + if e.mac[i].action == action} + macs = {h.bin_mac for swif in self.bd_ifs(bd1) + for h in hosts[self.pg_interfaces[swif].sw_if_index]} + self.vapi.want_l2_macs_events2(enable_disable=0) + self.assertEqual(len(learned_macs ^ macs), 0) + def test_l2_fib_macs_learn_max(self): """ L2 FIB - mac learning max macs in event """ @@ -525,6 +548,35 @@ class TestL2fib(VppTestCase): self.assertLess(len(e), ev_macs * 10) self.assertEqual(len(learned_macs ^ macs), 0) + def test_l2_fib_macs_learn_max2(self): + """ L2 FIB - mac learning max macs in event using want_l2_macs_events2 + """ + bd1 = 1 + hosts = self.create_hosts(10, subnet=40) + + ev_macs = 1 + self.vapi.l2fib_set_scan_delay(scan_delay=10) + self.vapi.want_l2_macs_events2(max_macs_in_event=ev_macs) + self.sleep(1) + self.learn_hosts(bd1, hosts) + + self.sleep(1) + self.logger.info(self.vapi.ppcli("show l2fib")) + evs = self.vapi.collect_events() + self.vapi.want_l2_macs_events2(enable_disable=0) + + self.assertGreater(len(evs), 0) + action = VppEnum.vl_api_mac_event_action_t.MAC_EVENT_ACTION_API_ADD + learned_macs = { + e.mac[i].mac_addr.packed for e in evs for i in range(e.n_macs) + if e.mac[i].action == action} + macs = {h.bin_mac for swif in self.bd_ifs(bd1) + for h in hosts[self.pg_interfaces[swif].sw_if_index]} + + for e in evs: + self.assertLess(len(e), ev_macs * 10) + self.assertEqual(len(learned_macs ^ macs), 0) + if __name__ == '__main__': unittest.main(testRunner=VppTestRunner)