BD ARP entry use common API types
[vpp.git] / src / vnet / interface_format.c
index 5694bb2..631120b 100644 (file)
@@ -85,7 +85,7 @@ format_vnet_hw_interface (u8 * s, va_list * args)
   vnet_hw_interface_class_t *hw_class;
   vnet_device_class_t *dev_class;
   int verbose = va_arg (*args, int);
-  uword indent;
+  u32 indent;
 
   if (!hi)
     return format (s, "%=32s%=6s%=8s%s", "Name", "Idx", "Link", "Hardware");
@@ -176,11 +176,26 @@ format_vnet_sw_if_index_name (u8 * s, va_list * args)
   return format (s, "%U", format_vnet_sw_interface_name, vnm, si);
 }
 
+u8 *
+format_vnet_hw_if_index_name (u8 * s, va_list * args)
+{
+  vnet_main_t *vnm = va_arg (*args, vnet_main_t *);
+  u32 hw_if_index = va_arg (*args, u32);
+  vnet_hw_interface_t *hi;
+
+  hi = vnet_get_hw_interface (vnm, hw_if_index);
+
+  if (hi == 0)
+    return format (s, "DELETED");
+
+  return format (s, "%v", hi->name);
+}
+
 u8 *
 format_vnet_sw_interface_cntrs (u8 * s, vnet_interface_main_t * im,
                                vnet_sw_interface_t * si)
 {
-  uword indent, n_printed;
+  u32 indent, n_printed;
   int i, j, n_counters;
   static vnet_main_t **my_vnet_mains;
 
@@ -276,6 +291,16 @@ format_vnet_sw_interface_cntrs (u8 * s, vnet_interface_main_t * im,
   return s;
 }
 
+static u8 *
+format_vnet_sw_interface_mtu (u8 * s, va_list * args)
+{
+  vnet_sw_interface_t *si = va_arg (*args, vnet_sw_interface_t *);
+
+  return format (s, "%d/%d/%d/%d", si->mtu[VNET_MTU_L3],
+                si->mtu[VNET_MTU_IP4],
+                si->mtu[VNET_MTU_IP6], si->mtu[VNET_MTU_MPLS]);
+}
+
 u8 *
 format_vnet_sw_interface (u8 * s, va_list * args)
 {
@@ -284,12 +309,14 @@ format_vnet_sw_interface (u8 * s, va_list * args)
   vnet_interface_main_t *im = &vnm->interface_main;
 
   if (!si)
-    return format (s, "%=32s%=5s%=16s%=16s%=16s",
-                  "Name", "Idx", "State", "Counter", "Count");
+    return format (s, "%=32s%=5s%=10s%=21s%=16s%=16s",
+                  "Name", "Idx", "State", "MTU (L3/IP4/IP6/MPLS)", "Counter",
+                  "Count");
 
-  s = format (s, "%-32U%=5d%=16U",
+  s = format (s, "%-32U%=5d%=10U%=21U",
              format_vnet_sw_interface_name, vnm, si, si->sw_if_index,
-             format_vnet_sw_interface_flags, si->flags);
+             format_vnet_sw_interface_flags, si->flags,
+             format_vnet_sw_interface_mtu, si);
 
   s = format_vnet_sw_interface_cntrs (s, im, si);