Remove c-11 memcpy checks from perf-critical code
Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1
Signed-off-by: Dave Barach <dave@barachs.net>
diff --git a/src/vnet/bfd/bfd_api.c b/src/vnet/bfd/bfd_api.c
index bb85225..ea6730f 100644
--- a/src/vnet/bfd/bfd_api.c
+++ b/src/vnet/bfd/bfd_api.c
@@ -72,13 +72,13 @@
clib_memset (&peer_addr, 0, sizeof (peer_addr)); \
if (mp->is_ipv6) \
{ \
- clib_memcpy (&local_addr.ip6, mp->local_addr, sizeof (local_addr.ip6)); \
- clib_memcpy (&peer_addr.ip6, mp->peer_addr, sizeof (peer_addr.ip6)); \
+ clib_memcpy_fast (&local_addr.ip6, mp->local_addr, sizeof (local_addr.ip6)); \
+ clib_memcpy_fast (&peer_addr.ip6, mp->peer_addr, sizeof (peer_addr.ip6)); \
} \
else \
{ \
- clib_memcpy (&local_addr.ip4, mp->local_addr, sizeof (local_addr.ip4)); \
- clib_memcpy (&peer_addr.ip4, mp->peer_addr, sizeof (peer_addr.ip4)); \
+ clib_memcpy_fast (&local_addr.ip4, mp->local_addr, sizeof (local_addr.ip4)); \
+ clib_memcpy_fast (&peer_addr.ip4, mp->peer_addr, sizeof (peer_addr.ip4)); \
}
#define BFD_UDP_API_PARAM_FROM_MP(mp) \
@@ -176,16 +176,17 @@
}
if (mp->is_ipv6)
{
- clib_memcpy (mp->local_addr, &key->local_addr,
- sizeof (key->local_addr));
- clib_memcpy (mp->peer_addr, &key->peer_addr, sizeof (key->peer_addr));
+ clib_memcpy_fast (mp->local_addr, &key->local_addr,
+ sizeof (key->local_addr));
+ clib_memcpy_fast (mp->peer_addr, &key->peer_addr,
+ sizeof (key->peer_addr));
}
else
{
- clib_memcpy (mp->local_addr, key->local_addr.ip4.data,
- sizeof (key->local_addr.ip4.data));
- clib_memcpy (mp->peer_addr, key->peer_addr.ip4.data,
- sizeof (key->peer_addr.ip4.data));
+ clib_memcpy_fast (mp->local_addr, key->local_addr.ip4.data,
+ sizeof (key->local_addr.ip4.data));
+ clib_memcpy_fast (mp->peer_addr, key->peer_addr.ip4.data,
+ sizeof (key->peer_addr.ip4.data));
}
mp->required_min_rx =
@@ -387,7 +388,7 @@
if (have_usable_ip4)
{
rmp->have_usable_ip4 = 1;
- clib_memcpy (rmp->ip4_addr, &ip4, sizeof (ip4));
+ clib_memcpy_fast (rmp->ip4_addr, &ip4, sizeof (ip4));
}
else
{
@@ -396,7 +397,7 @@
if (have_usable_ip6)
{
rmp->have_usable_ip6 = 1;
- clib_memcpy (rmp->ip6_addr, &ip6, sizeof (ip6));
+ clib_memcpy_fast (rmp->ip6_addr, &ip6, sizeof (ip6));
}
else
{
diff --git a/src/vnet/bfd/bfd_udp.c b/src/vnet/bfd/bfd_udp.c
index 0da19bd..d35c6de 100644
--- a/src/vnet/bfd/bfd_udp.c
+++ b/src/vnet/bfd/bfd_udp.c
@@ -330,17 +330,17 @@
{
return rv;
}
- clib_memcpy (&headers->ip6.dst_address, &key->local_addr.ip6,
- sizeof (headers->ip6.dst_address));
+ clib_memcpy_fast (&headers->ip6.dst_address, &key->local_addr.ip6,
+ sizeof (headers->ip6.dst_address));
headers->udp.dst_port = clib_host_to_net_u16 (UDP_DST_PORT_bfd_echo6);
}
else
{
- clib_memcpy (&headers->ip6.src_address, &key->local_addr.ip6,
- sizeof (headers->ip6.src_address));
- clib_memcpy (&headers->ip6.dst_address, &key->peer_addr.ip6,
- sizeof (headers->ip6.dst_address));
+ clib_memcpy_fast (&headers->ip6.src_address, &key->local_addr.ip6,
+ sizeof (headers->ip6.src_address));
+ clib_memcpy_fast (&headers->ip6.dst_address, &key->peer_addr.ip6,
+ sizeof (headers->ip6.dst_address));
headers->udp.dst_port = clib_host_to_net_u16 (UDP_DST_PORT_bfd6);
}
@@ -1211,7 +1211,7 @@
len = (b0->current_length < sizeof (t0->data)) ? b0->current_length
: sizeof (t0->data);
t0->len = len;
- clib_memcpy (t0->data, vlib_buffer_get_current (b0), len);
+ clib_memcpy_fast (t0->data, vlib_buffer_get_current (b0), len);
}
/* scan this bfd pkt. error0 is the counter index to bmp */
@@ -1369,7 +1369,7 @@
len = (b0->current_length < sizeof (t0->data)) ? b0->current_length
: sizeof (t0->data);
t0->len = len;
- clib_memcpy (t0->data, vlib_buffer_get_current (b0), len);
+ clib_memcpy_fast (t0->data, vlib_buffer_get_current (b0), len);
}
bfd_lock (bm);