MAP: Move MAP-E/T to a plugin.
[vpp.git] / src / vnet / buffer.h
index 02688e2..60efe6e 100644 (file)
@@ -85,10 +85,8 @@ enum
 
 #define foreach_buffer_opaque_union_subtype     \
 _(ip)                                           \
-_(swt)                                          \
 _(l2)                                           \
 _(l2t)                                          \
-_(gre)                                          \
 _(l2_classify)                                  \
 _(handoff)                                      \
 _(policer)                                      \
@@ -116,7 +114,8 @@ typedef struct
   i16 l2_hdr_offset;
   i16 l3_hdr_offset;
   i16 l4_hdr_offset;
-  u16 dont_waste_me;
+  u8 feature_arc_index;
+  u8 dont_waste_me;
 
   union
   {
@@ -163,6 +162,7 @@ typedef struct
        /* reassembly */
        union
        {
+         u32 pad[2];           /* do not overlay w/ ip.adj_index[0,1] */
          /* in/out variables */
          struct
          {
@@ -209,13 +209,6 @@ typedef struct
       } bier;
     } mpls;
 
-    /* ip4-in-ip6 softwire termination, only valid there */
-    struct
-    {
-      u8 swt_disable;
-      u32 mapping_index;
-    } swt;
-
     /* l2 bridging path, only valid there */
     struct opaque_l2
     {
@@ -235,11 +228,6 @@ typedef struct
       u32 session_index;
     } l2t;
 
-    struct
-    {
-      u32 src, dst;
-    } gre;
-
     /* L2 classify */
     struct
     {
@@ -387,6 +375,12 @@ typedef struct
 
   u8 __unused[2];
 
+  /* Group Based Policy */
+  struct
+  {
+    u32 src_epg;
+  } gbp;
+
   union
   {
     struct
@@ -396,7 +390,12 @@ typedef struct
       u16 *trajectory_trace;
 #endif
     };
-    u32 unused[11];
+    struct
+    {
+      u64 pad[1];
+      u64 pg_replay_timestamp;
+    };
+    u32 unused[10];
   };
 } vnet_buffer_opaque2_t;