From e23c99ec0061991cf3904122979ac755fe1b78ca Mon Sep 17 00:00:00 2001 From: John Lo Date: Tue, 13 Mar 2018 21:53:18 -0400 Subject: 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 --- src/vnet/l2/l2_fib.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/vnet/l2/l2_fib.h') diff --git a/src/vnet/l2/l2_fib.h b/src/vnet/l2/l2_fib.h index 60c197f2a57..ad7035bff54 100644 --- a/src/vnet/l2/l2_fib.h +++ b/src/vnet/l2/l2_fib.h @@ -118,7 +118,8 @@ typedef struct u8 bvi:1; /* mac is for a bridged virtual interface */ u8 filter:1; /* drop packets to/from this mac */ u8 lrn_evt:1; /* MAC learned to be sent in L2 MAC event */ - u8 unused:3; + u8 lrn_mov:1; /* MAC learned is a MAC move */ + u8 unused:2; u8 timestamp; /* timestamp for aging */ l2fib_seq_num_t sn; /* bd/int seq num */ @@ -129,6 +130,14 @@ typedef struct STATIC_ASSERT_SIZEOF (l2fib_entry_result_t, 8); +/* L2 MAC event entry action enums (see mac_entry definition in l2.api) */ +typedef enum +{ + MAC_EVENT_ACTION_ADD = 0, + MAC_EVENT_ACTION_DELETE = 1, + MAC_EVENT_ACTION_MOVE = 2, +} l2_mac_event_action_t; + /** * Compute the hash for the given key and return * the corresponding bucket index -- cgit 1.2.3-korg