mactime: add a "top" command to watch device stats
[vpp.git] / src / plugins / mactime / mactime.h
index 11e33c1..2ce1cf9 100644 (file)
 #include <vppinfra/time_range.h>
 #include <vppinfra/bihash_8_8.h>
 
-#define MACTIME_RANGE_TYPE_DROP 0
-#define MACTIME_RANGE_TYPE_ALLOW 1
-
-typedef struct
-{
-  u8 *device_name;
-  u8 mac_address[6];
-  u64 data_quota;
-  u64 data_used_in_range;
-  u32 flags;
-  clib_timebase_range_t *ranges;
-} mactime_device_t;
-
-/** Always drop packets from this device */
-#define MACTIME_DEVICE_FLAG_STATIC_DROP                (1<<0)
-#define MACTIME_DEVICE_FLAG_STATIC_ALLOW       (1<<1)
-#define MACTIME_DEVICE_FLAG_DYNAMIC_DROP       (1<<2)
-#define MACTIME_DEVICE_FLAG_DYNAMIC_ALLOW      (1<<3)
-#define MACTIME_DEVICE_FLAG_DYNAMIC_ALLOW_QUOTA        (1<<4)
-#define MACTIME_DEVICE_FLAG_DROP_UDP_10001      (1<<5)
+#include <mactime/mactime_device.h>
 
 typedef struct
 {
@@ -75,6 +56,7 @@ typedef struct
 
   /* Device table */
   mactime_device_t *devices;
+  u32 device_table_epoch;
 
   /* Counters */
   vlib_combined_counter_main_t allow_counters;