Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
fib: fib api updates
[vpp.git]
/
src
/
plugins
/
abf
/
abf_api.c
diff --git
a/src/plugins/abf/abf_api.c
b/src/plugins/abf/abf_api.c
index
e5c3bfa
..
a14c900
100644
(file)
--- 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];
for (pi = 0; pi < mp->policy.n_paths; pi++)
{
path = &paths[pi];
- rv = fib_
path_api_pars
e (&mp->policy.paths[pi], path);
+ rv = fib_
api_path_decod
e (&mp->policy.paths[pi], path);
if (0 != rv)
{
if (0 != rv)
{
@@
-158,9
+158,12
@@
typedef struct abf_dump_walk_ctx_t_
static int
abf_policy_send_details (u32 api, void *args)
{
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;
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;
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);
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;
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);
fp++;
}
vl_api_send_msg (ctx->rp, (u8 *) mp);
+ vec_free (walk_ctx.rpaths);
+
return (1);
}
return (1);
}