Consolidate the [un]format_mac_address implementations
[vpp.git] / src / vnet / lisp-cp / lisp_types.c
index e50c3aa..d118717 100644 (file)
@@ -203,22 +203,6 @@ unformat_ip_prefix (unformat_input_t * input, va_list * args)
   return 1;
 }
 
-uword
-unformat_mac_address (unformat_input_t * input, va_list * args)
-{
-  u8 *a = va_arg (*args, u8 *);
-  return unformat (input, "%x:%x:%x:%x:%x:%x", &a[0], &a[1], &a[2], &a[3],
-                  &a[4], &a[5]);
-}
-
-u8 *
-format_mac_address (u8 * s, va_list * args)
-{
-  u8 *a = va_arg (*args, u8 *);
-  return format (s, "%02x:%02x:%02x:%02x:%02x:%02x",
-                a[0], a[1], a[2], a[3], a[4], a[5]);
-}
-
 uword
 unformat_nsh_address (unformat_input_t * input, va_list * args)
 {
@@ -233,6 +217,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 +236,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 +263,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));