Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
fib: Fix some more realloc errors
[vpp.git]
/
src
/
vnet
/
fib
/
fib_entry_src_interpose.c
diff --git
a/src/vnet/fib/fib_entry_src_interpose.c
b/src/vnet/fib/fib_entry_src_interpose.c
index
2220fa4
..
af650a9
100644
(file)
--- a/
src/vnet/fib/fib_entry_src_interpose.c
+++ b/
src/vnet/fib/fib_entry_src_interpose.c
@@
-61,17
+61,17
@@
fib_entry_src_rr_get_next_best (const fib_entry_src_t *src,
/*
* skip to the next best source after this one
*/
/*
* skip to the next best source after this one
*/
-
if (source <= src->fes_src
)
+
switch (fib_source_cmp(source, src->fes_src)
)
{
{
+ case FIB_SOURCE_CMP_BETTER:
+ case FIB_SOURCE_CMP_EQUAL:
continue;
continue;
- }
- else
- {
+ case FIB_SOURCE_CMP_WORSE:
best_src = next_src;
best_src = next_src;
-
break
;
+
goto out
;
}
}));
}
}));
-
+ out:
return (best_src);
}
return (best_src);
}
@@
-207,7
+207,7
@@
fib_entry_src_interpose_deactivate (fib_entry_src_t *src,
* there is another source for this entry. activate it so it
* can provide forwarding
*/
* there is another source for this entry. activate it so it
* can provide forwarding
*/
- FIB_ENTRY_SRC_VFT_INVOKE(best_src, fesv_deactivate,
+ FIB_ENTRY_SRC_VFT_INVOKE(
fib_entry,
best_src, fesv_deactivate,
(best_src, fib_entry));
}
}
(best_src, fib_entry));
}
}
@@
-366,5
+366,6
@@
const static fib_entry_src_vft_t interpose_src_vft = {
void
fib_entry_src_interpose_register (void)
{
void
fib_entry_src_interpose_register (void)
{
- fib_entry_src_register(FIB_SOURCE_INTERPOSE, &interpose_src_vft);
+ fib_entry_src_behaviour_register(FIB_SOURCE_BH_INTERPOSE,
+ &interpose_src_vft);
}
}