- if (mp->eid_is_ipv6) {
- clib_memcpy(&ip6, mp->eid_ip_address, sizeof(ip6));
- vat_json_object_add_ip6(node, "eid address", ip6);
- } else {
- clib_memcpy(&ip4, mp->eid_ip_address, sizeof(ip4));
- vat_json_object_add_ip4(node, "eid address", ip4);
- }
+ switch (mp->eid_type)
+ {
+ case 0:
+ clib_memcpy(&ip4, mp->eid, sizeof(ip4));
+ vat_json_object_add_ip4(node, "eid-address", ip4);
+ case 1:
+ clib_memcpy(&ip6, mp->eid, sizeof(ip6));
+ vat_json_object_add_ip6(node, "eid-address", ip6);
+ break;
+ case 2:
+ s = format (0, "%U", format_ethernet_address, mp->eid);
+ vec_add1(s, 0);
+ vat_json_object_add_string_copy(node, "eid-address", s);
+ vec_free(s);
+ break;
+ default:
+ errmsg ("unknown EID type %d!", mp->eid_type);
+ return;
+ }