diff options
author | mu.duojiao <mu.duojiao@zte.com.cn> | 2019-02-14 16:57:54 +0800 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2019-02-19 13:32:32 +0000 |
commit | 11232e5d1798e7cba30aade3d5d14024bff2b67d (patch) | |
tree | 4e9842185aad2154fa6bb0799bf30a0112fca907 /src/vnet/fib | |
parent | 6a7cff7ec234af8529ff72a530076e191cc8d759 (diff) |
VPP-1568:when entry src cover change, recursive-loop fib still can not work.
Change-Id: I90762b59f94175f278380c95776471a30bc94d34
Signed-off-by: mu.duojiao <mu.duojiao@zte.com.cn>
Diffstat (limited to 'src/vnet/fib')
-rwxr-xr-x[-rw-r--r--] | src/vnet/fib/fib_entry_src_rr.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vnet/fib/fib_entry_src_rr.c b/src/vnet/fib/fib_entry_src_rr.c index 8e477362374..63896c39c0f 100644..100755 --- a/src/vnet/fib/fib_entry_src_rr.c +++ b/src/vnet/fib/fib_entry_src_rr.c @@ -179,9 +179,18 @@ fib_entry_src_rr_deactivate (fib_entry_src_t *src, */ if (FIB_NODE_INDEX_INVALID != src->u.rr.fesr_cover) { + fib_node_index_t *entries = NULL; + cover = fib_entry_get(src->u.rr.fesr_cover); fib_entry_cover_untrack(cover, src->u.rr.fesr_sibling); src->u.rr.fesr_cover = FIB_NODE_INDEX_INVALID; + + if (FIB_NODE_INDEX_INVALID != cover->fe_parent) + { + fib_path_list_recursive_loop_detect(cover->fe_parent, &entries); + + vec_free(entries); + } } fib_path_list_unlock(src->fes_pl); |