diff options
author | Dave Barach <dave@barachs.net> | 2018-11-13 16:34:13 -0500 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2018-11-14 15:54:01 +0000 |
commit | 178cf493d009995b28fdf220f04c98860ff79a9b (patch) | |
tree | 097c1be82b8f6fa9bc04b9b1e193158e2e4997eb /src/vnet/vxlan-gbp | |
parent | 6917b94f2146aa51195a6a2a1ccd8416a1d74bf3 (diff) |
Remove c-11 memcpy checks from perf-critical code
Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1
Signed-off-by: Dave Barach <dave@barachs.net>
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); |