IPSEC: some CLI fixes
[vpp.git] / src / vnet / ipsec / ipsec_cli.c
index 4691214..36ea614 100644 (file)
@@ -91,6 +91,8 @@ ipsec_sa_add_del_command_fn (vlib_main_t * vm,
   is_add = 0;
   flags = IPSEC_SA_FLAG_NONE;
   proto = IPSEC_PROTOCOL_ESP;
+  integ_alg = IPSEC_INTEG_ALG_NONE;
+  crypto_alg = IPSEC_CRYPTO_ALG_NONE;
 
   if (!unformat_user (input, unformat_line_input, line_input))
     return 0;
@@ -149,7 +151,7 @@ ipsec_sa_add_del_command_fn (vlib_main_t * vm,
     rv = ipsec_sa_del (id);
 
   if (rv)
-    clib_error_return (0, "failed");
+    error = clib_error_return (0, "failed");
 
 done:
   unformat_free (line_input);
@@ -233,9 +235,6 @@ ipsec_policy_add_del_command_fn (vlib_main_t * vm,
 
   clib_memset (&p, 0, sizeof (p));
   p.lport.stop = p.rport.stop = ~0;
-  p.laddr.stop.ip4.as_u32 = p.raddr.stop.ip4.as_u32 = (u32) ~ 0;
-  p.laddr.stop.ip6.as_u64[0] = p.laddr.stop.ip6.as_u64[1] = (u64) ~ 0;
-  p.raddr.stop.ip6.as_u64[0] = p.raddr.stop.ip6.as_u64[1] = (u64) ~ 0;
   is_outbound = 0;
 
   if (!unformat_user (input, unformat_line_input, line_input))
@@ -313,28 +312,6 @@ ipsec_policy_add_del_command_fn (vlib_main_t * vm,
        }
     }
 
-  /* Check if SA is for IPv6/AH which is not supported. Return error if TRUE. */
-  if (p.sa_id)
-    {
-      uword *p1;
-      ipsec_main_t *im = &ipsec_main;
-      ipsec_sa_t *sa = 0;
-      p1 = hash_get (im->sa_index_by_sa_id, p.sa_id);
-      if (!p1)
-       {
-         error =
-           clib_error_return (0, "SA with index %u not found", p.sa_id);
-         goto done;
-       }
-      sa = pool_elt_at_index (im->sad, p1[0]);
-      if (sa && sa->protocol == IPSEC_PROTOCOL_AH && is_add && p.is_ipv6)
-       {
-         error = clib_error_return (0, "AH not supported for IPV6: '%U'",
-                                    format_unformat_error, line_input);
-         goto done;
-       }
-    }
-
   rv = ipsec_policy_mk_type (is_outbound, p.is_ipv6, p.policy, &p.type);
 
   if (rv)
@@ -375,8 +352,10 @@ set_ipsec_sa_key_command_fn (vlib_main_t * vm,
                             vlib_cli_command_t * cmd)
 {
   unformat_input_t _line_input, *line_input = &_line_input;
+  ipsec_key_t ck = { }, ik =
+  {
+  };
   clib_error_t *error = NULL;
-  ipsec_key_t ck, ik;
   u32 id;
 
   if (!unformat_user (input, unformat_line_input, line_input))