http_static: fix reply data leak
[vpp.git] / src / plugins / ikev2 / ikev2_types.api
index 58297c0..2492611 100644 (file)
@@ -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";
@@ -34,8 +34,8 @@ typedef ikev2_ts
   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
@@ -49,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
@@ -84,6 +84,7 @@ typedef ikev2_profile
   u16 ipsec_over_udp_port;
   u32 tun_itf;
   bool udp_encap;
+  bool natt_disabled;
   vl_api_ikev2_auth_t auth;
 };
 
@@ -127,6 +128,41 @@ typedef ikev2_child_sa
   vl_api_ikev2_sa_transform_t esn;
 };
 
+typedef ikev2_child_sa_v2
+{
+  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;
+  f64 uptime;
+};
+
+typedef ikev2_sa_stats
+{
+  u16 n_keepalives;
+  u16 n_rekey_req;
+  u16 n_sa_init_req;
+  u16 n_sa_auth_req;
+  u16 n_retransmit;
+  u16 n_init_sa_retransmit;
+};
+
+enum ikev2_state
+{
+  UNKNOWN,
+  SA_INIT,
+  DELETED,
+  AUTH_FAILED,
+  AUTHENTICATED,
+  NOTIFY_AND_DELETE,
+  TS_UNACCEPTABLE,
+  NO_PROPOSAL_CHOSEN,
+};
+
 typedef ikev2_sa
 {
   u32 sa_index;
@@ -134,8 +170,33 @@ typedef ikev2_sa
 
   u64 ispi;
   u64 rspi;
-  vl_api_ip4_address_t  iaddr;
-  vl_api_ip4_address_t  raddr;
+  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;
+
+  vl_api_ikev2_sa_stats_t stats;
+};
+
+typedef ikev2_sa_v2
+{
+  u32 sa_index;
+  string profile_name[64];
+  vl_api_ikev2_state_t state;
+
+  u64 ispi;
+  u64 rspi;
+  vl_api_address_t iaddr;
+  vl_api_address_t raddr;
 
   vl_api_ikev2_keys_t keys;
 
@@ -147,4 +208,32 @@ typedef ikev2_sa
   vl_api_ikev2_sa_transform_t integrity;
   vl_api_ikev2_sa_transform_t prf;
   vl_api_ikev2_sa_transform_t dh;
+
+  vl_api_ikev2_sa_stats_t stats;
 };
+
+typedef ikev2_sa_v3
+{
+  u32 sa_index;
+  string profile_name[64];
+  vl_api_ikev2_state_t state;
+
+  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;
+
+  vl_api_ikev2_sa_stats_t stats;
+  f64 uptime;
+};
\ No newline at end of file