X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Finterface_output.h;h=15b0a1d3ccc8e4bdbd241d4fa15e9056009ada64;hb=c53eb72931bc8c75204141f3952ac7682f0ae697;hp=27aadc6c5fdac3e8a275384cb1b162066deb3c49;hpb=6809538e646bf86c000dc1faba60b0a4157ad898;p=vpp.git diff --git a/src/vnet/interface_output.h b/src/vnet/interface_output.h index 27aadc6c5fd..15b0a1d3ccc 100644 --- a/src/vnet/interface_output.h +++ b/src/vnet/interface_output.h @@ -41,11 +41,11 @@ #define __INTERFACE_INLINES_H__ #include -#include static_always_inline void vnet_calc_ip4_checksums (vlib_main_t *vm, vlib_buffer_t *b, ip4_header_t *ip4, - tcp_header_t *th, udp_header_t *uh, u32 oflags) + tcp_header_t *th, udp_header_t *uh, + vnet_buffer_oflags_t oflags) { if (oflags & VNET_BUFFER_OFFLOAD_F_IP_CKSUM) ip4->checksum = ip4_header_checksum (ip4); @@ -63,7 +63,8 @@ vnet_calc_ip4_checksums (vlib_main_t *vm, vlib_buffer_t *b, ip4_header_t *ip4, static_always_inline void vnet_calc_ip6_checksums (vlib_main_t *vm, vlib_buffer_t *b, ip6_header_t *ip6, - tcp_header_t *th, udp_header_t *uh, u32 oflags) + tcp_header_t *th, udp_header_t *uh, + vnet_buffer_oflags_t oflags) { int bogus; if (oflags & VNET_BUFFER_OFFLOAD_F_TCP_CKSUM) @@ -86,7 +87,10 @@ vnet_calc_checksums_inline (vlib_main_t * vm, vlib_buffer_t * b, ip6_header_t *ip6; tcp_header_t *th; udp_header_t *uh; - u32 oflags = vnet_buffer2 (b)->oflags; + vnet_buffer_oflags_t oflags; + + if (!(b->flags & VNET_BUFFER_F_OFFLOAD)) + return; ASSERT (!(is_ip4 && is_ip6)); @@ -94,6 +98,7 @@ vnet_calc_checksums_inline (vlib_main_t * vm, vlib_buffer_t * b, ip6 = (ip6_header_t *) (b->data + vnet_buffer (b)->l3_hdr_offset); th = (tcp_header_t *) (b->data + vnet_buffer (b)->l4_hdr_offset); uh = (udp_header_t *) (b->data + vnet_buffer (b)->l4_hdr_offset); + oflags = vnet_buffer (b)->oflags; if (is_ip4) {