diff options
Diffstat (limited to 'src/vnet/fib')
-rw-r--r-- | src/vnet/fib/fib_api.c | 3 | ||||
-rw-r--r-- | src/vnet/fib/fib_path.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/vnet/fib/fib_api.c b/src/vnet/fib/fib_api.c index cea54a20b3d..eca5e614531 100644 --- a/src/vnet/fib/fib_api.c +++ b/src/vnet/fib/fib_api.c @@ -241,8 +241,7 @@ fib_api_path_encode (const fib_route_path_encode_t * api_rpath, out->afi = api_rpath->rpath.frp_proto; fib_api_path_copy_next_hop (api_rpath, out); - if (~0 == api_rpath->rpath.frp_sw_if_index && - ip46_address_is_zero(&api_rpath->rpath.frp_addr)) + if (0 != api_rpath->rpath.frp_fib_index) { if ((DPO_PROTO_IP6 == api_rpath->rpath.frp_proto) || (DPO_PROTO_IP4 == api_rpath->rpath.frp_proto)) diff --git a/src/vnet/fib/fib_path.c b/src/vnet/fib/fib_path.c index 687e7167312..2912c6a76b7 100644 --- a/src/vnet/fib/fib_path.c +++ b/src/vnet/fib/fib_path.c @@ -2593,6 +2593,7 @@ fib_path_encode (fib_node_index_t path_list_index, api_rpath->rpath.frp_preference = path->fp_preference; api_rpath->rpath.frp_proto = path->fp_nh_proto; api_rpath->rpath.frp_sw_if_index = ~0; + api_rpath->rpath.frp_fib_index = 0; api_rpath->dpo = path->fp_dpo; switch (path->fp_type) @@ -2618,6 +2619,7 @@ fib_path_encode (fib_node_index_t path_list_index, break; case FIB_PATH_TYPE_RECURSIVE: api_rpath->rpath.frp_addr = path->recursive.fp_nh.fp_ip; + api_rpath->rpath.frp_fib_index = path->recursive.fp_tbl_id; break; case FIB_PATH_TYPE_DVR: api_rpath->rpath.frp_sw_if_index = path->dvr.fp_interface; |