X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ffib%2Ffib_entry_src.c;h=176818abc0a92238c0eb5c8ab382a44387ffee53;hb=9db6ada779794779158163f6293b479ae7f6ad5e;hp=6ed13a328bdde33dd3425dd2e733afcc81d77008;hpb=0d3d4824a46205e776ff32c82be4cb514f459a5f;p=vpp.git diff --git a/src/vnet/fib/fib_entry_src.c b/src/vnet/fib/fib_entry_src.c index 6ed13a328bd..176818abc0a 100644 --- a/src/vnet/fib/fib_entry_src.c +++ b/src/vnet/fib/fib_entry_src.c @@ -141,6 +141,44 @@ fib_entry_is_sourced (fib_node_index_t fib_entry_index, return (NULL != fib_entry_src_find(fib_entry, source)); } +int +fib_entry_is_marked (fib_node_index_t fib_entry_index, + fib_source_t source) +{ + fib_entry_t *fib_entry; + fib_entry_src_t *esrc; + + fib_entry = fib_entry_get(fib_entry_index); + + esrc = fib_entry_src_find(fib_entry, source); + + if (NULL == esrc) + { + return (0); + } + else + { + return (!!(esrc->fes_flags & FIB_ENTRY_SRC_FLAG_STALE)); + } +} + +void +fib_entry_mark (fib_node_index_t fib_entry_index, + fib_source_t source) +{ + fib_entry_t *fib_entry; + fib_entry_src_t *esrc; + + fib_entry = fib_entry_get(fib_entry_index); + + esrc = fib_entry_src_find(fib_entry, source); + + if (NULL != esrc) + { + esrc->fes_flags |= FIB_ENTRY_SRC_FLAG_STALE; + } +} + static fib_entry_src_t * fib_entry_src_find_or_create (fib_entry_t *fib_entry, fib_source_t source,