Improve l2_macs_events API to provide MAC move information
Change mac_entry layout in l2_macs_event API message so the MAC entry can be either add, delete or move where the sw_if_index of an existing MAC entry changed. Also added a 8-bit flags field in mac_entry for any future expansion. Change-Id: I3bf9e1cf2556f2938202025a5d0772c2ce2fc99f Signed-off-by: John Lo <loj@cisco.com>
This commit is contained in:
@ -70,6 +70,11 @@ from scapy.layers.inet import IP, UDP
|
||||
from framework import VppTestCase, VppTestRunner
|
||||
from util import Host, ppp
|
||||
|
||||
# from src/vnet/l2/l2_fib.h
|
||||
MAC_EVENT_ACTION_ADD = 0
|
||||
MAC_EVENT_ACTION_DELETE = 1
|
||||
MAC_EVENT_ACTION_MOVE = 2
|
||||
|
||||
|
||||
class TestL2fib(VppTestCase):
|
||||
""" L2 FIB Test Case """
|
||||
@ -483,7 +488,7 @@ class TestL2fib(VppTestCase):
|
||||
evs = self.vapi.collect_events()
|
||||
learned_macs = {
|
||||
e.mac[i].mac_addr for e in evs for i in range(e.n_macs)
|
||||
if not e.mac[i].is_del}
|
||||
if e.mac[i].action == MAC_EVENT_ACTION_ADD}
|
||||
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_macs_learn_events(enable_disable=0)
|
||||
@ -507,7 +512,7 @@ class TestL2fib(VppTestCase):
|
||||
self.assertGreater(len(evs), 0)
|
||||
learned_macs = {
|
||||
e.mac[i].mac_addr for e in evs for i in range(e.n_macs)
|
||||
if not e.mac[i].is_del}
|
||||
if e.mac[i].action == MAC_EVENT_ACTION_ADD}
|
||||
macs = {h.bin_mac for swif in self.bd_ifs(bd1)
|
||||
for h in hosts[self.pg_interfaces[swif].sw_if_index]}
|
||||
|
||||
|
Reference in New Issue
Block a user