-
Bug
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
The abf_policy_add_del API takes a 'policy' struct argument, one of the fields of which is vl_api_fib_path_t paths[n_paths].
The abf_policy_add_del API takes a 'policy' struct argument, one of the fields of which is vl_api_fib_path_t paths[n_paths].
The vl_api_fib_path_t struct is described in fib_types.api.
The field in question is 'table_id' - it is not described in fib_types.api (which is a small thing to fix). Based on the code, it expects the 'table_id' field to specify the FIB table index (e.g. 0, 1, 2), and not VRF id (e.g. 0, 5000, 5050 etc):
vl_api_abf_policy_add_del_t_handler()
...
rv = fib_path_api_parse (&mp->policy.paths[pi], path);
...
fib_path_api_parse()
...
out->frp_fib_index = ntohl(in->table_id);
...