From 2a8d02df15e71881754bab0bb16b85ccd65f8f74 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Fri, 22 Jun 2018 13:14:08 -0400 Subject: Tx feature node, for accounting purposes Switch to combined allow/drop counters Show matching ip4 neighbor address if known Add static-allow mactime entries for unknown mac addresses Add the "clear mactime" command Change-Id: Ib963981438dfb8a123df1b3c023bd5fcc27f888f Signed-off-by: Dave Barach --- src/plugins/mactime/mactime.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/plugins/mactime/mactime.h') diff --git a/src/plugins/mactime/mactime.h b/src/plugins/mactime/mactime.h index 6890ca286c3..2166d4a6735 100644 --- a/src/plugins/mactime/mactime.h +++ b/src/plugins/mactime/mactime.h @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -72,8 +73,8 @@ typedef struct mactime_device_t *devices; /* Counters */ - vlib_simple_counter_main_t allow_counters; - vlib_simple_counter_main_t drop_counters; + vlib_combined_counter_main_t allow_counters; + vlib_combined_counter_main_t drop_counters; /* config parameters */ u32 lookup_table_num_buckets; @@ -83,6 +84,9 @@ typedef struct /* Once-only data structure create flag */ int feature_initialized; + /* arp cache copy, for "show mactime" */ + ethernet_arp_ip4_entry_t *arp_cache_copy; + /* convenience */ vlib_main_t *vlib_main; vnet_main_t *vnet_main; @@ -96,6 +100,17 @@ typedef struct extern mactime_main_t mactime_main; extern vlib_node_registration_t mactime_node; +extern vlib_node_registration_t mactime_tx_node; + +void mactime_send_create_entry_message (u8 * mac_address); + +static inline u8 * +format_mac_address (u8 * s, va_list * args) +{ + u8 *a = va_arg (*args, u8 *); + return format (s, "%02x:%02x:%02x:%02x:%02x:%02x", + a[0], a[1], a[2], a[3], a[4], a[5]); +} /* Periodic function events */ #define MACTIME_EVENT1 1 -- cgit 1.2.3-korg