From 57b5860f013953ce161d05302e05370db9cd6ee2 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Sat, 15 Jul 2017 07:37:25 -0700 Subject: FIB path preference Paths are given a preference, lowest value is 'best'. Only paths that are up are up contribute to fprwarding - that's unchanged. What's new is that of the path's that re up only those that have the best preference contribute. A poor man's primary and backup. It's not true primary/backup function because the FIB must converge before the lower preference paths are used. Change-Id: Ie4453c4a7b1094c6c2b51fe1594b8302103bb68e Signed-off-by: Neale Ranns --- src/vnet/ip/ip_api.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/vnet/ip/ip_api.c') diff --git a/src/vnet/ip/ip_api.c b/src/vnet/ip/ip_api.c index 2680d601..d00ae76c 100644 --- a/src/vnet/ip/ip_api.c +++ b/src/vnet/ip/ip_api.c @@ -716,7 +716,8 @@ add_del_route_t_handler (u8 is_multipath, const ip46_address_t * next_hop, u32 next_hop_sw_if_index, u8 next_hop_fib_index, - u32 next_hop_weight, + u16 next_hop_weight, + u16 next_hop_preference, mpls_label_t next_hop_via_label, mpls_label_t * next_hop_out_label_stack) { @@ -729,6 +730,7 @@ add_del_route_t_handler (u8 is_multipath, .frp_sw_if_index = next_hop_sw_if_index, .frp_fib_index = next_hop_fib_index, .frp_weight = next_hop_weight, + .frp_preference = next_hop_preference, .frp_label_stack = next_hop_out_label_stack, }; fib_route_path_t *paths = NULL; @@ -971,6 +973,7 @@ ip4_add_del_route_t_handler (vl_api_ip_add_del_route_t * mp) ntohl (mp->next_hop_sw_if_index), next_hop_fib_index, mp->next_hop_weight, + mp->next_hop_preference, ntohl (mp->next_hop_via_label), label_stack)); } @@ -1029,6 +1032,7 @@ ip6_add_del_route_t_handler (vl_api_ip_add_del_route_t * mp) &nh, ntohl (mp->next_hop_sw_if_index), next_hop_fib_index, mp->next_hop_weight, + mp->next_hop_preference, ntohl (mp->next_hop_via_label), label_stack)); } -- cgit 1.2.3-korg