Add API dump call for vrf/vni mapping to vpp-api-test
Change-Id: I7a028ce9ddf21bd3a7d4991ba1be05e5e74202d6 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
This commit is contained in:

committed by
Florin Coras

parent
ad476c7861
commit
2f653d08f4
@ -601,7 +601,7 @@ vnet_lisp_eid_table_map (u32 vni, u32 vrf, u8 is_add)
|
||||
{
|
||||
if (table_id || vnip)
|
||||
{
|
||||
clib_warning ("vni %d or vrf %d already used in any vrf/vni "
|
||||
clib_warning ("vni %d or vrf %d already used in vrf/vni "
|
||||
"mapping!", vni, vrf);
|
||||
return -1;
|
||||
}
|
||||
|
@ -2047,6 +2047,36 @@ vl_api_lisp_local_eid_table_details_t_handler (
|
||||
vec_free(prefix);
|
||||
}
|
||||
|
||||
static void
|
||||
vl_api_lisp_eid_table_map_details_t_handler (
|
||||
vl_api_lisp_eid_table_map_details_t *mp)
|
||||
{
|
||||
vat_main_t *vam = &vat_main;
|
||||
|
||||
u8 * line = format(0, "%=10d%=10d",
|
||||
clib_net_to_host_u32 (mp->vni),
|
||||
clib_net_to_host_u32 (mp->vrf));
|
||||
fformat(vam->ofp, "%v\n", line);
|
||||
vec_free(line);
|
||||
}
|
||||
|
||||
static void
|
||||
vl_api_lisp_eid_table_map_details_t_handler_json (
|
||||
vl_api_lisp_eid_table_map_details_t *mp)
|
||||
{
|
||||
vat_main_t *vam = &vat_main;
|
||||
vat_json_node_t *node = NULL;
|
||||
|
||||
if (VAT_JSON_ARRAY != vam->json_tree.type) {
|
||||
ASSERT(VAT_JSON_NONE == vam->json_tree.type);
|
||||
vat_json_init_array(&vam->json_tree);
|
||||
}
|
||||
node = vat_json_array_add(&vam->json_tree);
|
||||
vat_json_init_object(node);
|
||||
vat_json_object_add_uint(node, "vrf", clib_net_to_host_u32 (mp->vrf));
|
||||
vat_json_object_add_uint(node, "vni", clib_net_to_host_u32 (mp->vni));
|
||||
}
|
||||
|
||||
static void
|
||||
vl_api_lisp_local_eid_table_details_t_handler_json (
|
||||
vl_api_lisp_local_eid_table_details_t *mp)
|
||||
@ -2959,6 +2989,7 @@ _(LISP_EID_TABLE_ADD_DEL_MAP_REPLY, lisp_eid_table_add_del_map_reply) \
|
||||
_(LISP_GPE_ADD_DEL_IFACE_REPLY, lisp_gpe_add_del_iface_reply) \
|
||||
_(LISP_LOCATOR_SET_DETAILS, lisp_locator_set_details) \
|
||||
_(LISP_LOCAL_EID_TABLE_DETAILS, lisp_local_eid_table_details) \
|
||||
_(LISP_EID_TABLE_MAP_DETAILS, lisp_eid_table_map_details) \
|
||||
_(LISP_GPE_TUNNEL_DETAILS, lisp_gpe_tunnel_details) \
|
||||
_(LISP_MAP_RESOLVER_DETAILS, lisp_map_resolver_details) \
|
||||
_(LISP_ENABLE_DISABLE_STATUS_DETAILS, \
|
||||
@ -11192,6 +11223,34 @@ api_lisp_locator_set_dump(vat_main_t *vam)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
api_lisp_eid_table_map_dump(vat_main_t *vam)
|
||||
{
|
||||
vl_api_lisp_eid_table_map_dump_t *mp;
|
||||
f64 timeout = ~0;
|
||||
|
||||
if (!vam->json_output) {
|
||||
fformat (vam->ofp, "%=10s%=10s\n", "VNI", "VRF");
|
||||
}
|
||||
|
||||
M(LISP_EID_TABLE_MAP_DUMP, lisp_eid_table_map_dump);
|
||||
|
||||
/* send it... */
|
||||
S;
|
||||
|
||||
/* Use a control ping for synchronization */
|
||||
{
|
||||
vl_api_control_ping_t * mp;
|
||||
M(CONTROL_PING, control_ping);
|
||||
S;
|
||||
}
|
||||
/* Wait for a reply... */
|
||||
W;
|
||||
|
||||
/* NOTREACHED */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
api_lisp_local_eid_table_dump(vat_main_t *vam)
|
||||
{
|
||||
@ -12620,6 +12679,7 @@ _(lisp_add_del_map_request_itr_rlocs, "<loc-set-name> [del]") \
|
||||
_(lisp_eid_table_add_del_map, "[del] vni <vni> vrf <vrf>") \
|
||||
_(lisp_locator_set_dump, "") \
|
||||
_(lisp_local_eid_table_dump, "") \
|
||||
_(lisp_eid_table_map_dump, "") \
|
||||
_(lisp_gpe_tunnel_dump, "") \
|
||||
_(lisp_map_resolver_dump, "") \
|
||||
_(lisp_enable_disable_status_dump, "") \
|
||||
|
@ -5453,6 +5453,23 @@ vl_api_lisp_map_resolver_dump_t_handler (
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
send_eid_table_map_pair (hash_pair_t * p,
|
||||
unix_shared_memory_queue_t * q,
|
||||
u32 context)
|
||||
{
|
||||
vl_api_lisp_eid_table_map_details_t * rmp = NULL;
|
||||
|
||||
rmp = vl_msg_api_alloc (sizeof (*rmp));
|
||||
memset (rmp, 0, sizeof (*rmp));
|
||||
rmp->_vl_msg_id = ntohs(VL_API_LISP_EID_TABLE_MAP_DETAILS);
|
||||
|
||||
rmp->vni = clib_host_to_net_u32 (p->key);
|
||||
rmp->vrf = clib_host_to_net_u32 (p->value[0]);
|
||||
rmp->context = context;
|
||||
vl_msg_api_send_shmem (q, (u8 *)&rmp);
|
||||
}
|
||||
|
||||
static void
|
||||
vl_api_lisp_eid_table_map_dump_t_handler (
|
||||
vl_api_lisp_eid_table_map_dump_t *mp)
|
||||
@ -5466,12 +5483,7 @@ vl_api_lisp_eid_table_map_dump_t_handler (
|
||||
return;
|
||||
}
|
||||
hash_foreach_pair (p, lcm->table_id_by_vni, {
|
||||
vl_api_lisp_eid_table_map_details_t * rmp = NULL;
|
||||
memset (rmp, 0, sizeof (*rmp));
|
||||
rmp->_vl_msg_id = ntohs(VL_API_LISP_EID_TABLE_MAP_DETAILS);
|
||||
rmp->vni = p->key;
|
||||
rmp->vrf = p->value[0];
|
||||
rmp->context = mp->context;
|
||||
send_eid_table_map_pair (p, q, mp->context);
|
||||
});
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user