Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Remove c-11 memcpy checks from perf-critical code
[vpp.git]
/
src
/
vnet
/
lisp-gpe
/
lisp_gpe.c
diff --git
a/src/vnet/lisp-gpe/lisp_gpe.c
b/src/vnet/lisp-gpe/lisp_gpe.c
index
018895a
..
9a10836
100644
(file)
--- a/
src/vnet/lisp-gpe/lisp_gpe.c
+++ b/
src/vnet/lisp-gpe/lisp_gpe.c
@@
-47,8
+47,8
@@
lisp_gpe_add_del_fwd_entry_command_fn (vlib_main_t * vm,
locator_pair_t pair, *pairs = 0;
int rv;
locator_pair_t pair, *pairs = 0;
int rv;
- memset (leid, 0, sizeof (*leid));
- memset (reid, 0, sizeof (*reid));
+
clib_
memset (leid, 0, sizeof (*leid));
+
clib_
memset (reid, 0, sizeof (*reid));
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
@@
-91,8
+91,8
@@
lisp_gpe_add_del_fwd_entry_command_fn (vlib_main_t * vm,
unformat_ip_address, &lloc,
unformat_ip_address, &rloc, &w))
{
unformat_ip_address, &lloc,
unformat_ip_address, &rloc, &w))
{
-
pair.lcl_loc = lloc
;
-
pair.rmt_loc = rloc
;
+
ip_address_copy (&pair.lcl_loc, &lloc)
;
+
ip_address_copy (&pair.rmt_loc, &rloc)
;
pair.weight = w;
pair.priority = 0;
vec_add1 (pairs, pair);
pair.weight = w;
pair.priority = 0;
vec_add1 (pairs, pair);
@@
-145,7
+145,7
@@
lisp_gpe_add_del_fwd_entry_command_fn (vlib_main_t * vm,
/* add fwd entry */
vnet_lisp_gpe_add_del_fwd_entry_args_t _a, *a = &_a;
/* add fwd entry */
vnet_lisp_gpe_add_del_fwd_entry_args_t _a, *a = &_a;
- memset (a, 0, sizeof (a[0]));
+
clib_
memset (a, 0, sizeof (a[0]));
a->is_add = is_add;
a->is_negative = is_negative;
a->is_add = is_add;
a->is_negative = is_negative;
@@
-193,10
+193,15
@@
clib_error_t *
vnet_lisp_gpe_enable_disable (vnet_lisp_gpe_enable_disable_args_t * a)
{
lisp_gpe_main_t *lgm = &lisp_gpe_main;
vnet_lisp_gpe_enable_disable (vnet_lisp_gpe_enable_disable_args_t * a)
{
lisp_gpe_main_t *lgm = &lisp_gpe_main;
+ vlib_main_t *vm = vlib_get_main ();
if (a->is_en)
{
lgm->is_en = 1;
if (a->is_en)
{
lgm->is_en = 1;
+ udp_register_dst_port (vm, UDP_DST_PORT_lisp_gpe,
+ lisp_gpe_ip4_input_node.index, 1 /* is_ip4 */ );
+ udp_register_dst_port (vm, UDP_DST_PORT_lisp_gpe6,
+ lisp_gpe_ip6_input_node.index, 0 /* is_ip4 */ );
}
else
{
}
else
{
@@
-206,6
+211,8
@@
vnet_lisp_gpe_enable_disable (vnet_lisp_gpe_enable_disable_args_t * a)
/* disable all l3 ifaces */
lisp_gpe_tenant_flush ();
/* disable all l3 ifaces */
lisp_gpe_tenant_flush ();
+ udp_unregister_dst_port (vm, UDP_DST_PORT_lisp_gpe, 0 /* is_ip4 */ );
+ udp_unregister_dst_port (vm, UDP_DST_PORT_lisp_gpe6, 1 /* is_ip4 */ );
lgm->is_en = 0;
}
lgm->is_en = 0;
}
@@
-321,7
+328,7
@@
lisp_gpe_enable_disable_command_fn (vlib_main_t * vm,
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
- return
0
;
+ return
clib_error_return (0, "expected enable | disable")
;
while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
@@
-496,7
+503,7
@@
gpe_native_forward_command_fn (vlib_main_t * vm, unformat_input_t * input,
if (!unformat_user (input, unformat_line_input, line_input))
return 0;
if (!unformat_user (input, unformat_line_input, line_input))
return 0;
- memset (&rpath, 0, sizeof (rpath));
+
clib_
memset (&rpath, 0, sizeof (rpath));
while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
@@
-612,14
+619,9
@@
lisp_gpe_init (vlib_main_t * vm)
lgm->lisp_gpe_fwd_entries =
hash_create_mem (0, sizeof (lisp_gpe_fwd_entry_key_t), sizeof (uword));
lgm->lisp_gpe_fwd_entries =
hash_create_mem (0, sizeof (lisp_gpe_fwd_entry_key_t), sizeof (uword));
- udp_register_dst_port (vm, UDP_DST_PORT_lisp_gpe,
- lisp_gpe_ip4_input_node.index, 1 /* is_ip4 */ );
- udp_register_dst_port (vm, UDP_DST_PORT_lisp_gpe6,
- lisp_gpe_ip6_input_node.index, 0 /* is_ip4 */ );
-
lgm->lisp_stats_index_by_key =
hash_create_mem (0, sizeof (lisp_stats_key_t), sizeof (uword));
lgm->lisp_stats_index_by_key =
hash_create_mem (0, sizeof (lisp_stats_key_t), sizeof (uword));
- memset (&lgm->counters, 0, sizeof (lgm->counters));
+
clib_
memset (&lgm->counters, 0, sizeof (lgm->counters));
lgm->counters.name = "LISP counters";
return 0;
lgm->counters.name = "LISP counters";
return 0;
@@
-644,7
+646,7
@@
lisp_gpe_test_send_nsh_packet (u8 * file_name)
if (!file_name)
return clib_error_create ("no pcap file specified!");
if (!file_name)
return clib_error_create ("no pcap file specified!");
- memset (&pm, 0, sizeof (pm));
+
clib_
memset (&pm, 0, sizeof (pm));
pm.file_name = (char *) file_name;
error = pcap_read (&pm);
if (error)
pm.file_name = (char *) file_name;
error = pcap_read (&pm);
if (error)
@@
-667,7
+669,7
@@
lisp_gpe_test_send_nsh_packet (u8 * file_name)
vnet_buffer (b)->sw_if_index[VLIB_TX] = hi->sw_if_index;
u8 *p = vlib_buffer_put_uninit (b, vec_len (pm.packets_read[0]));
vnet_buffer (b)->sw_if_index[VLIB_TX] = hi->sw_if_index;
u8 *p = vlib_buffer_put_uninit (b, vec_len (pm.packets_read[0]));
- clib_memcpy (p, pm.packets_read[0], vec_len (pm.packets_read[0]));
+ clib_memcpy
_fast
(p, pm.packets_read[0], vec_len (pm.packets_read[0]));
vlib_buffer_pull (b, sizeof (ethernet_header_t));
vlib_node_t *n = vlib_get_node_by_name (lgm->vlib_main,
vlib_buffer_pull (b, sizeof (ethernet_header_t));
vlib_node_t *n = vlib_get_node_by_name (lgm->vlib_main,