aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/vxlan-gbp
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2018-11-13 16:34:13 -0500
committerFlorin Coras <florin.coras@gmail.com>2018-11-14 15:54:01 +0000
commit178cf493d009995b28fdf220f04c98860ff79a9b (patch)
tree097c1be82b8f6fa9bc04b9b1e193158e2e4997eb /src/vnet/vxlan-gbp
parent6917b94f2146aa51195a6a2a1ccd8416a1d74bf3 (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.c15
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);