X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fikev2%2Fikev2_types.api;h=9add084f9e375a16bb93f08c50b666bcad89b6ce;hb=dc01471be;hp=bee48f8cef0819159ede359a860786b5924e0a33;hpb=459d17bb7d051566c587c4f963014fdbbe99ff6a;p=vpp.git diff --git a/src/plugins/ikev2/ikev2_types.api b/src/plugins/ikev2/ikev2_types.api index bee48f8cef0..9add084f9e3 100644 --- a/src/plugins/ikev2/ikev2_types.api +++ b/src/plugins/ikev2/ikev2_types.api @@ -1,6 +1,6 @@ /* Hey Emacs use -*- mode: C -*- */ /* - * Copyright (c) 2015-2016 Cisco and/or its affiliates. + * Copyright (c) 2015-2020 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +option version = "1.0.0"; import "vnet/ip/ip_types.api"; import "vnet/interface_types.api"; @@ -27,12 +27,15 @@ typedef ikev2_id typedef ikev2_ts { + u32 sa_index; + u32 child_sa_index; + bool is_local; u8 protocol_id; u16 start_port; u16 end_port; - vl_api_ip4_address_t start_addr; - vl_api_ip4_address_t end_addr; + vl_api_address_t start_addr; + vl_api_address_t end_addr; }; typedef ikev2_auth @@ -46,7 +49,7 @@ typedef ikev2_auth typedef ikev2_responder { vl_api_interface_index_t sw_if_index; - vl_api_ip4_address_t ip4; + vl_api_address_t addr; }; typedef ikev2_ike_transforms @@ -81,5 +84,68 @@ typedef ikev2_profile u16 ipsec_over_udp_port; u32 tun_itf; bool udp_encap; + bool natt_disabled; vl_api_ikev2_auth_t auth; }; + +typedef ikev2_sa_transform +{ + u8 transform_type; + u16 transform_id; + u16 key_len; + u16 key_trunc; + u16 block_size; + u8 dh_group; +}; + +typedef ikev2_keys +{ + u8 sk_d[64]; + u8 sk_d_len; + u8 sk_ai[64]; + u8 sk_ai_len; + u8 sk_ar[64]; + u8 sk_ar_len; + u8 sk_ei[64]; + u8 sk_ei_len; + u8 sk_er[64]; + u8 sk_er_len; + u8 sk_pi[64]; + u8 sk_pi_len; + u8 sk_pr[64]; + u8 sk_pr_len; +}; + +typedef ikev2_child_sa +{ + u32 sa_index; + u32 child_sa_index; + u32 i_spi; + u32 r_spi; + vl_api_ikev2_keys_t keys; + vl_api_ikev2_sa_transform_t encryption; + vl_api_ikev2_sa_transform_t integrity; + vl_api_ikev2_sa_transform_t esn; +}; + +typedef ikev2_sa +{ + u32 sa_index; + u32 profile_index; + + u64 ispi; + u64 rspi; + vl_api_address_t iaddr; + vl_api_address_t raddr; + + vl_api_ikev2_keys_t keys; + + /* ID */ + vl_api_ikev2_id_t i_id; + vl_api_ikev2_id_t r_id; + + vl_api_ikev2_sa_transform_t encryption; + vl_api_ikev2_sa_transform_t integrity; + vl_api_ikev2_sa_transform_t prf; + vl_api_ikev2_sa_transform_t dh; +};