summaryrefslogtreecommitdiffstats
path: root/vnet/vnet/ipsec/ipsec_cli.c
diff options
context:
space:
mode:
authorMatthew Smith <mgsmith@netgate.com>2016-06-21 16:05:09 -0500
committerDamjan Marion <damarion@cisco.com>2016-06-29 09:18:43 +0000
commit2838a2355a130b951ef5e3ebbf630f6d2c65b120 (patch)
tree341df8fcee0c3a301ff4632604c1a762a16052d3 /vnet/vnet/ipsec/ipsec_cli.c
parent816f3e1b879b43802ea8035d6a3f1cbf5db76825 (diff)
VPP-158: VPP crashes in IKEv2 code when running multithreaded
Change tunnel interface creation to be done from the main thread instead of a worker thread by calling vl_api_rpc_call_main_thread. Make per-thread copies of volatile elements in ikev2_main. Change-Id: I4cda8aaa392a04c2aea2d50a52a07933cf40c016 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Diffstat (limited to 'vnet/vnet/ipsec/ipsec_cli.c')
-rw-r--r--vnet/vnet/ipsec/ipsec_cli.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/vnet/vnet/ipsec/ipsec_cli.c b/vnet/vnet/ipsec/ipsec_cli.c
index 0205d8bc877..1d19e537b88 100644
--- a/vnet/vnet/ipsec/ipsec_cli.c
+++ b/vnet/vnet/ipsec/ipsec_cli.c
@@ -585,12 +585,11 @@ create_ipsec_tunnel_command_fn (vlib_main_t * vm,
{
unformat_input_t _line_input, * line_input = &_line_input;
ipsec_add_del_tunnel_args_t a;
- ipsec_main_t *im = &ipsec_main;
int rv;
u32 num_m_args = 0;
+
+ memset(&a, 0, sizeof(a));
a.is_add = 1;
- a.anti_replay = 0;
- a.esn = 0;
/* Get a line of input. */
if (! unformat_user (input, unformat_line_input, line_input))
@@ -616,7 +615,7 @@ create_ipsec_tunnel_command_fn (vlib_main_t * vm,
if (num_m_args < 4)
return clib_error_return (0, "mandatory argument(s) missing");
- rv = ipsec_add_del_tunnel_if (im->vnet_main, &a);
+ rv = ipsec_add_del_tunnel_if (&a);
switch(rv)
{