vlib: make vlib_pending_frame_t smaller
[vpp.git] / src / vnet / policer / police.h
index 7867a2e..5ad249e 100644 (file)
@@ -28,7 +28,8 @@ typedef enum
 {
   QOS_ACTION_DROP = 0,
   QOS_ACTION_TRANSMIT,
-  QOS_ACTION_MARK_AND_TRANSMIT
+  QOS_ACTION_MARK_AND_TRANSMIT,
+  QOS_ACTION_HANDOFF
 } __clib_packed qos_action_type_en;
 
 // This is the hardware representation of the policer.
@@ -71,7 +72,7 @@ typedef enum
 
 typedef struct
 {
-
+  CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
   u32 lock;                    // for exclusive access to the struct
 
   u32 single_rate;             // 1 = single rate policer, 0 = two rate policer
@@ -97,11 +98,12 @@ typedef struct
   u32 thread_index;            // Tie policer to a thread, rather than lock
   u32 pad32;
 
-} policer_read_response_type_st;
+} policer_t;
+
+STATIC_ASSERT_SIZEOF (policer_t, CLIB_CACHE_LINE_BYTES);
 
 static inline policer_result_e
-vnet_police_packet (policer_read_response_type_st * policer,
-                   u32 packet_length,
+vnet_police_packet (policer_t *policer, u32 packet_length,
                    policer_result_e packet_color, u64 time)
 {
   u64 n_periods;