aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ikev2/ikev2_cli.c
diff options
context:
space:
mode:
authorFilip Tehlar <ftehlar@cisco.com>2020-03-02 21:49:48 +0000
committerNeale Ranns <nranns@cisco.com>2020-03-04 08:23:50 +0000
commitb979f5e3a6d99d5e9a37a9a086004feaa8fd15e5 (patch)
treeebaf5be057981e380af82166efa82bd6db9b85aa /src/plugins/ikev2/ikev2_cli.c
parent27518c2ffd0ef75e973a64870da0e3339f39ccce (diff)
ikev2: make integ algo optional
Type: improvement This patch makes configuring integration algorithm optional. This is useful when using AEAD cipher (in fact when using such cipher, integ algo is ignored anyway). Change-Id: I5891db5c0433afb85ae2d9084d45b89ec1133178 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Diffstat (limited to 'src/plugins/ikev2/ikev2_cli.c')
-rw-r--r--src/plugins/ikev2/ikev2_cli.c26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/plugins/ikev2/ikev2_cli.c b/src/plugins/ikev2/ikev2_cli.c
index 6b9876b4ead..1acae91c777 100644
--- a/src/plugins/ikev2/ikev2_cli.c
+++ b/src/plugins/ikev2/ikev2_cli.c
@@ -125,10 +125,13 @@ show_ikev2_sa_command_fn (vlib_main_t * vm,
vlib_cli_output(vm, " SK_e i:%U\n r:%U",
format_hex_bytes, child->sk_ei, vec_len(child->sk_ei),
format_hex_bytes, child->sk_er, vec_len(child->sk_er));
- vlib_cli_output(vm, " SK_a i:%U\n r:%U",
- format_hex_bytes, child->sk_ai, vec_len(child->sk_ai),
- format_hex_bytes, child->sk_ar, vec_len(child->sk_ar));
- vlib_cli_output(vm, " traffic selectors (i):");
+ if (child->sk_ai)
+ {
+ vlib_cli_output(vm, " SK_a i:%U\n r:%U",
+ format_hex_bytes, child->sk_ai, vec_len(child->sk_ai),
+ format_hex_bytes, child->sk_ar, vec_len(child->sk_ar));
+ vlib_cli_output(vm, " traffic selectors (i):");
+ }
vec_foreach(ts, child->tsi)
{
vlib_cli_output(vm, " %u type %u protocol_id %u addr "
@@ -362,6 +365,18 @@ ikev2_profile_add_del_command_fn (vlib_main_t * vm,
dh_type, tmp1);
goto done;
}
+ else if (unformat
+ (line_input,
+ "set %U esp-crypto-alg %U %u esp-dh %U",
+ unformat_token, valid_chars, &name,
+ unformat_ikev2_transform_encr_type, &crypto_alg, &tmp1,
+ unformat_ikev2_transform_dh_type, &dh_type))
+ {
+ r =
+ ikev2_set_profile_esp_transforms (vm, name, crypto_alg, 0,
+ dh_type, tmp1);
+ goto done;
+ }
else if (unformat (line_input, "set %U sa-lifetime %lu %u %u %lu",
unformat_token, valid_chars, &name,
&tmp4, &tmp1, &tmp2, &tmp5))
@@ -405,7 +420,8 @@ VLIB_CLI_COMMAND (ikev2_profile_add_del_command, static) = {
"protocol <protocol-number>\n"
"ikev2 profile set <id> responder <interface> <addr>\n"
"ikev2 profile set <id> ike-crypto-alg <crypto alg> <key size> ike-integ-alg <integ alg> ike-dh <dh type>\n"
- "ikev2 profile set <id> esp-crypto-alg <crypto alg> <key size> esp-integ-alg <integ alg> esp-dh <dh type>\n"
+ "ikev2 profile set <id> esp-crypto-alg <crypto alg> <key size> "
+ "[esp-integ-alg <integ alg>] esp-dh <dh type>\n"
"ikev2 profile set <id> sa-lifetime <seconds> <jitter> <handover> <max bytes>",
.function = ikev2_profile_add_del_command_fn,
};