tcp: custom checksum calculations for Ipv4/Ipv6
[vpp.git] / src / vnet / ip / ip6.h
index 2cff713..94c5080 100644 (file)
@@ -122,7 +122,7 @@ typedef enum ip6_fib_table_instance_type_t_
 {
     /**
      * This table stores the routes that are used to forward traffic.
-     * The key is the prefix, the result the adjacnecy to forward on.
+     * The key is the prefix, the result the adjacency to forward on.
      */
   IP6_FIB_TABLE_FWDING,
     /**
@@ -137,7 +137,7 @@ typedef enum ip6_fib_table_instance_type_t_
 #define IP6_FIB_NUM_TABLES (IP6_FIB_TABLE_NON_FWDING+1)
 
 /**
- * A represenation of a single IP6 table
+ * A representation of a single IP6 table
  */
 typedef struct ip6_fib_table_instance_t_
 {
@@ -151,7 +151,7 @@ typedef struct ip6_fib_table_instance_t_
 } ip6_fib_table_instance_t;
 
 /**
- * A represenation of a single IP6 mfib table
+ * A representation of a single IP6 mfib table
  */
 typedef struct ip6_mfib_table_instance_t_
 {
@@ -683,7 +683,8 @@ vlib_buffer_push_ip6 (vlib_main_t * vm, vlib_buffer_t * b,
                    sizeof (ip6h->src_address));
   clib_memcpy_fast (ip6h->dst_address.as_u8, dst->as_u8,
                    sizeof (ip6h->src_address));
-  b->flags |= VNET_BUFFER_F_IS_IP6;
+  vnet_buffer (b)->l3_hdr_offset = (u8 *) ip6h - b->data;
+  b->flags |= VNET_BUFFER_F_IS_IP6 | VNET_BUFFER_F_L3_HDR_OFFSET_VALID;
 
   return ip6h;
 }