X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fabf%2Fabf_api.c;h=a14c9008332cc567872451a4e5f8e5fab6894a8e;hb=097fa66b986f06281f603767d321ab13ab6c88c3;hp=e5c3bfa6f3f9f83d22b6b7db07d02cd7a544c085;hpb=39baa32186fd3e4b20d9f58afbbfe7b8daebed62;p=vpp.git diff --git a/src/plugins/abf/abf_api.c b/src/plugins/abf/abf_api.c index e5c3bfa6f3f..a14c9008332 100644 --- a/src/plugins/abf/abf_api.c +++ b/src/plugins/abf/abf_api.c @@ -101,7 +101,7 @@ vl_api_abf_policy_add_del_t_handler (vl_api_abf_policy_add_del_t * mp) for (pi = 0; pi < mp->policy.n_paths; pi++) { path = &paths[pi]; - rv = fib_path_api_parse (&mp->policy.paths[pi], path); + rv = fib_api_path_decode (&mp->policy.paths[pi], path); if (0 != rv) { @@ -158,9 +158,12 @@ typedef struct abf_dump_walk_ctx_t_ static int abf_policy_send_details (u32 api, void *args) { - fib_route_path_encode_t *api_rpaths = NULL, *api_rpath; + fib_path_encode_ctx_t walk_ctx = { + .rpaths = NULL, + }; vl_api_abf_policy_details_t *mp; abf_dump_walk_ctx_t *ctx; + fib_route_path_t *rpath; vl_api_fib_path_t *fp; size_t msg_size; abf_policy_t *ap; @@ -181,17 +184,19 @@ abf_policy_send_details (u32 api, void *args) mp->policy.acl_index = htonl (ap->ap_acl); mp->policy.policy_id = htonl (ap->ap_id); - fib_path_list_walk_w_ext (ap->ap_pl, NULL, fib_path_encode, &api_rpaths); + fib_path_list_walk_w_ext (ap->ap_pl, NULL, fib_path_encode, &walk_ctx); fp = mp->policy.paths; - vec_foreach (api_rpath, api_rpaths) + vec_foreach (rpath, walk_ctx.rpaths) { - fib_api_path_encode (api_rpath, fp); + fib_api_path_encode (rpath, fp); fp++; } vl_api_send_msg (ctx->rp, (u8 *) mp); + vec_free (walk_ctx.rpaths); + return (1); }