diff options
Diffstat (limited to 'src/vnet/fib/fib_path.c')
-rw-r--r-- | src/vnet/fib/fib_path.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/vnet/fib/fib_path.c b/src/vnet/fib/fib_path.c index 8dabfdf9674..79291ca8c9a 100644 --- a/src/vnet/fib/fib_path.c +++ b/src/vnet/fib/fib_path.c @@ -2609,17 +2609,16 @@ 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->dpo = path->exclusive.fp_ex_dpo; + api_rpath->dpo = path->fp_dpo; + switch (path->fp_type) { case FIB_PATH_TYPE_RECEIVE: api_rpath->rpath.frp_addr = path->receive.fp_addr; api_rpath->rpath.frp_sw_if_index = path->receive.fp_interface; - api_rpath->dpo = path->fp_dpo; break; case FIB_PATH_TYPE_ATTACHED: api_rpath->rpath.frp_sw_if_index = path->attached.fp_interface; - api_rpath->dpo = path->fp_dpo; break; case FIB_PATH_TYPE_ATTACHED_NEXT_HOP: api_rpath->rpath.frp_sw_if_index = path->attached_next_hop.fp_interface; @@ -2633,7 +2632,6 @@ fib_path_encode (fib_node_index_t path_list_index, break; case FIB_PATH_TYPE_DEAG: api_rpath->rpath.frp_fib_index = path->deag.fp_tbl_id; - api_rpath->dpo = path->fp_dpo; break; case FIB_PATH_TYPE_RECURSIVE: api_rpath->rpath.frp_addr = path->recursive.fp_nh.fp_ip; @@ -2641,6 +2639,7 @@ fib_path_encode (fib_node_index_t path_list_index, default: break; } + return (FIB_PATH_LIST_WALK_CONTINUE); } |