LISP: support for neighbor discovery
[vpp.git] / src / vnet / lisp-cp / lisp_types.c
index e50c3aa..05f046f 100644 (file)
@@ -233,6 +233,13 @@ format_nsh_address (u8 * s, va_list * args)
   return format (s, "SPI:%d SI:%d", a->spi, a->si);
 }
 
+u8 *
+format_fid_nsh_address (u8 * s, va_list * args)
+{
+  u32 *a = va_arg (*args, u32 *);
+  return format (s, "SPI:%d SI:%d", *a >> 8, *a & 0xff);
+}
+
 u8 *
 format_fid_address (u8 * s, va_list * args)
 {
@@ -245,7 +252,7 @@ format_fid_address (u8 * s, va_list * args)
     case FID_ADDR_MAC:
       return format (s, "%U", format_mac_address, &fid_addr_mac (a));
     case FID_ADDR_NSH:
-      return format (s, "%U", format_nsh_address, &fid_addr_nsh (a));
+      return format (s, "%U", format_fid_nsh_address, &fid_addr_nsh (a));
 
     default:
       clib_warning ("Can't format fid address type %d!", fid_addr_type (a));
@@ -272,8 +279,9 @@ format_gid_address (u8 * s, va_list * args)
       return format (s, "[%d] %U", gid_address_vni (a), format_mac_address,
                     &gid_address_mac (a));
     case GID_ADDR_ARP:
-      return format (s, "[%d, %U]", gid_address_arp_bd (a),
-                    format_ip4_address, &gid_address_arp_ip4 (a));
+    case GID_ADDR_NDP:
+      return format (s, "[%d, %U]", gid_address_arp_ndp_bd (a),
+                    format_ip_address, &gid_address_arp_ndp_ip (a));
     case GID_ADDR_NSH:
       return format (s, "%U", format_nsh_address, &gid_address_nsh (a));