From 9e829a856fdf88b3ea5770048ea20dcd50d1b4eb Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Mon, 17 Dec 2018 05:50:32 -0800 Subject: MFIB: recurse resolution through an MFIB entry Change-Id: I8dc261e40b8398c5c8ab6bb69ecebbd0176055d9 Signed-off-by: Neale Ranns --- src/vnet/dpo/replicate_dpo.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/vnet/dpo/replicate_dpo.h') diff --git a/src/vnet/dpo/replicate_dpo.h b/src/vnet/dpo/replicate_dpo.h index 7b075394bc3..70faef3e28f 100644 --- a/src/vnet/dpo/replicate_dpo.h +++ b/src/vnet/dpo/replicate_dpo.h @@ -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 */ -- cgit 1.2.3-korg