ip: add support for buffer offload metadata in ip midchain
[vpp.git] / src / vnet / adj / rewrite.c
index cf3cf41..5b9ec09 100644 (file)
 #include <vnet/vnet.h>
 #include <vnet/ip/lookup.h>
 
+u8 *
+format_vnet_rewrite_flags (u8 *s, va_list *ap)
+{
+  vnet_rewrite_flags_t f = va_arg (*ap, int);
+
+  if (f & VNET_REWRITE_HAS_FEATURES)
+    s = format (s, "features ");
+  if (f & VNET_REWRITE_FIXUP_IP4_O_4)
+    s = format (s, "fixup-ip4o4 ");
+  if (f & VNET_REWRITE_FIXUP_FLOW_HASH)
+    s = format (s, "fixup-flow-hash ");
+
+  return (s);
+}
+
 u8 *
 format_vnet_rewrite (u8 * s, va_list * args)
 {
@@ -53,14 +68,15 @@ format_vnet_rewrite (u8 * s, va_list * args)
   if (rw->sw_if_index != ~0)
     {
       vnet_sw_interface_t *si;
-      si = vnet_get_sw_interface_safe (vnm, rw->sw_if_index);
+      si = vnet_get_sw_interface_or_null (vnm, rw->sw_if_index);
       if (NULL != si)
        s = format (s, "%U:", format_vnet_sw_interface_name, vnm, si);
       else
        s = format (s, "DELETED:%d", rw->sw_if_index);
     }
 
-  s = format (s, " mtu:%d", rw->max_l3_packet_bytes);
+  s = format (s, " mtu:%d next:%d", rw->max_l3_packet_bytes, rw->next_index);
+  s = format (s, " flags:[%U]", format_vnet_rewrite_flags, rw->flags);
 
   /* Format rewrite string. */
   if (rw->data_bytes > 0)