#include <vnet/ip/icmp6.h>
#include <vnet/classify/vnet_classify.h>
+#define u8_ptr_add(ptr, index) (((u8 *)ptr) + index)
+#define u16_net_add(u, val) clib_host_to_net_u16(clib_net_to_host_u16(u) + (val))
+
/* Per protocol info. */
typedef struct
{
void *h;
u32 n;
- n = clib_min (n_bytes_left, b->current_length);
+ n = clib_min (n_bytes_left, b->current_length - first_buffer_offset);
h = vlib_buffer_get_current (b) + first_buffer_offset;
sum = ip_incremental_checksum (sum, h, n);
if (PREDICT_FALSE (b->flags & VLIB_BUFFER_NEXT_PRESENT))