MPLS Mcast
[vpp.git] / src / vnet / dpo / replicate_dpo.h
index a564739..7383184 100644 (file)
@@ -25,6 +25,7 @@
 #include <vnet/dpo/dpo.h>
 #include <vnet/dpo/load_balance.h>
 #include <vnet/fib/fib_types.h>
+#include <vnet/mpls/mpls_types.h>
 
 /**
  * replicate main
@@ -32,6 +33,9 @@
 typedef struct replicate_main_t_
 {
     vlib_combined_counter_main_t repm_counters;
+
+    /* per-cpu vector of cloned packets */
+    u32 **clones;
 } replicate_main_t;
 
 extern replicate_main_t replicate_main;
@@ -116,6 +120,7 @@ extern replicate_t *replicate_pool;
 static inline replicate_t*
 replicate_get (index_t repi)
 {
+    repi &= ~MPLS_IS_REPLICATE;
     return (pool_elt_at_index(replicate_pool, repi));
 }