+
+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;
+};