ipsec: infra for selecting backends
[vpp.git] / src / vnet / buffer.h
index b4ce9c7..8071081 100644 (file)
@@ -51,6 +51,7 @@
   _( 3, VLAN_2_DEEP, "vlan-2-deep")                    \
   _( 4, VLAN_1_DEEP, "vlan-1-deep")                    \
   _( 5, SPAN_CLONE, "span-clone")                      \
+  _( 6, LOOP_COUNTER_VALID, 0)                          \
   _( 7, LOCALLY_ORIGINATED, "local")                   \
   _( 8, IS_IP4, "ip4")                                 \
   _( 9, IS_IP6, "ip6")                                 \
@@ -196,8 +197,8 @@ typedef struct
       /* Rewrite length */
       u32 save_rewrite_length;
       /*
-       * BIER - the nubmer of bytes in the header.
-       *  the len field inthe header is not authoritative. It's the
+       * BIER - the number of bytes in the header.
+       *  the len field in the header is not authoritative. It's the
        * value in the table that counts.
        */
       struct
@@ -276,7 +277,6 @@ typedef struct
     struct
     {
       u32 pad[2];              /* do not overlay w/ ip.adj_index[0,1] */
-      u16 header_offset;
       u16 mtu;
       u8 next_index;
       u8 flags;                        //See ip_frag.h
@@ -334,7 +334,7 @@ typedef struct
 } vnet_buffer_opaque_t;
 
 /*
- * The opaque field of the vlib_buffer_t is intepreted as a
+ * The opaque field of the vlib_buffer_t is interpreted as a
  * vnet_buffer_opaque_t. Hence it should be big enough to accommodate one.
  */
 STATIC_ASSERT (sizeof (vnet_buffer_opaque_t) <=
@@ -357,12 +357,15 @@ typedef struct
     u8 source;
   } qos;
 
-  u8 __unused[2];
+  u8 loop_counter;
+  u8 __unused[1];
 
   /* Group Based Policy */
   struct
   {
-    u32 src_epg;
+    u8 __unused;
+    u8 flags;
+    u16 src_epg;
   } gbp;
 
   union
@@ -386,7 +389,7 @@ typedef struct
 #define vnet_buffer2(b) ((vnet_buffer_opaque2_t *) (b)->opaque2)
 
 /*
- * The opaque2 field of the vlib_buffer_t is intepreted as a
+ * The opaque2 field of the vlib_buffer_t is interpreted as a
  * vnet_buffer_opaque2_t. Hence it should be big enough to accommodate one.
  */
 STATIC_ASSERT (sizeof (vnet_buffer_opaque2_t) <=