MFIB: recurse resolution through an MFIB entry
[vpp.git] / src / vnet / dpo / replicate_dpo.h
index 7b07539..70faef3 100644 (file)
@@ -46,6 +46,15 @@ extern replicate_main_t replicate_main;
  */
 #define REP_NUM_INLINE_BUCKETS 4
 
+/**
+ * Flags on the replicate DPO
+ */
+typedef enum replicate_flags_t_
+{
+    REPLICATE_FLAGS_NONE,
+    REPLICATE_FLAGS_HAS_LOCAL,
+} __clib_packed replicate_flags_t;
+
 /**
  * The FIB DPO provieds;
  *  - load-balancing over the next DPOs in the chain/graph
@@ -70,6 +79,11 @@ typedef struct replicate_t_ {
      */
     dpo_proto_t rep_proto;
 
+    /**
+     * Flags specifying the replicate properties/behaviour
+     */
+    replicate_flags_t rep_flags;
+
     /**
      * The number of locks, which is approximately the number of users,
      * of this load-balance.
@@ -121,6 +135,9 @@ extern int replicate_is_drop(const dpo_id_t *dpo);
 
 extern u16 replicate_n_buckets(index_t repi);
 
+extern index_t replicate_dup(replicate_flags_t flags,
+                             index_t repi);
+
 /**
  * The encapsulation breakages are for fast DP access
  */