From 44476c6b271bdebb7458590398b5f140c9a7d353 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 11 Feb 2020 13:53:32 +0000 Subject: ikev2: Configure a profile with an existing interface Type: feature ... rather than always creating a new interface. Change-Id: If8a22ad5a8a3a4e511bea7cab7d8bbf7e6af9433 Signed-off-by: Neale Ranns --- src/plugins/ikev2/ikev2_api.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/plugins/ikev2/ikev2_api.c') diff --git a/src/plugins/ikev2/ikev2_api.c b/src/plugins/ikev2/ikev2_api.c index 365e6e8932f..ae1672c1da4 100644 --- a/src/plugins/ikev2/ikev2_api.c +++ b/src/plugins/ikev2/ikev2_api.c @@ -289,6 +289,33 @@ vl_api_ikev2_set_sa_lifetime_t_handler (vl_api_ikev2_set_sa_lifetime_t * mp) REPLY_MACRO (VL_API_IKEV2_SET_SA_LIFETIME_REPLY); } +static void + vl_api_ikev2_set_tunnel_interface_t_handler + (vl_api_ikev2_set_tunnel_interface_t * mp) +{ + vl_api_ikev2_set_tunnel_interface_reply_t *rmp; + int rv = 0; + + VALIDATE_SW_IF_INDEX (mp); + +#if WITH_LIBSSL > 0 + u8 *tmp = format (0, "%s", mp->name); + clib_error_t *error; + + error = ikev2_set_profile_tunnel_interface (vlib_get_main (), tmp, + ntohl (mp->sw_if_index)); + + if (error) + rv = VNET_API_ERROR_UNSPECIFIED; + vec_free (tmp); +#else + rv = VNET_API_ERROR_UNIMPLEMENTED; +#endif + + BAD_SW_IF_INDEX_LABEL; + REPLY_MACRO (VL_API_IKEV2_SET_TUNNEL_INTERFACE_REPLY); +} + static void vl_api_ikev2_initiate_sa_init_t_handler (vl_api_ikev2_initiate_sa_init_t * mp) { -- cgit 1.2.3-korg