* Reuse route_distance() on rib_add_multipath() and on rib_add();
* Set the admin distance of LDP and BGP MPLS LSPs.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
*/
static inline u_char lsp_distance(enum lsp_types_t type)
{
- if (type == ZEBRA_LSP_STATIC)
+ switch (type) {
+ case ZEBRA_LSP_STATIC:
return (route_distance(ZEBRA_ROUTE_STATIC));
-
- return 150;
+ case ZEBRA_LSP_LDP:
+ return (route_distance(ZEBRA_ROUTE_LDP));
+ case ZEBRA_LSP_BGP:
+ return (route_distance(ZEBRA_ROUTE_BGP));
+ default:
+ return 150;
+ }
}
/*
/* Set default distance by route type. */
if (re->distance == 0) {
- re->distance = route_info[re->type].distance;
+ re->distance = route_distance(re->type);
/* iBGP distance is 200. */
if (re->type == ZEBRA_ROUTE_BGP
/* Set default distance by route type. */
if (distance == 0) {
- if ((unsigned)type >= array_size(route_info))
- distance = 150;
- else
- distance = route_info[type].distance;
+ distance = route_distance(type);
/* iBGP distance is 200. */
if (type == ZEBRA_ROUTE_BGP