diff options
Diffstat (limited to 'src/vnet/vxlan-gbp')
-rw-r--r-- | src/vnet/vxlan-gbp/encap.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/vnet/vxlan-gbp/encap.c b/src/vnet/vxlan-gbp/encap.c index 07142c8a521..d260ccc0deb 100644 --- a/src/vnet/vxlan-gbp/encap.c +++ b/src/vnet/vxlan-gbp/encap.c @@ -186,10 +186,12 @@ vxlan_gbp_encap_inline (vlib_main_t * vm, /* vnet_rewrite_two_header writes only in (uword) 8 bytes chunks * and discards the first 4 bytes of the (36 bytes ip4 underlay) rewrite * use memcpy as a workaround */ - clib_memcpy (underlay0, t0->rewrite_header.data + rw_hdr_offset, - underlay_hdr_len); - clib_memcpy (underlay1, t1->rewrite_header.data + rw_hdr_offset, - underlay_hdr_len); + clib_memcpy_fast (underlay0, + t0->rewrite_header.data + rw_hdr_offset, + underlay_hdr_len); + clib_memcpy_fast (underlay1, + t1->rewrite_header.data + rw_hdr_offset, + underlay_hdr_len); ip4_header_t *ip4_0, *ip4_1; qos_bits_t ip4_0_tos = 0, ip4_1_tos = 0; @@ -368,8 +370,9 @@ vxlan_gbp_encap_inline (vlib_main_t * vm, /* vnet_rewrite_one_header writes only in (uword) 8 bytes chunks * and discards the first 4 bytes of the (36 bytes ip4 underlay) rewrite * use memcpy as a workaround */ - clib_memcpy (underlay0, t0->rewrite_header.data + rw_hdr_offset, - underlay_hdr_len); + clib_memcpy_fast (underlay0, + t0->rewrite_header.data + rw_hdr_offset, + underlay_hdr_len); u32 len0 = vlib_buffer_length_in_chain (vm, b0); u16 payload_l0 = clib_host_to_net_u16 (len0 - l3_len); |