ike: Reuse interface ID during CHILD_SA rekeyings
[strongswan.git] / src / libcharon / sa / ikev2 / tasks / child_create.h
index f48d7b0..eae1f35 100644 (file)
@@ -1,6 +1,7 @@
 /*
 /*
+ * Copyright (C) 2018-2019 Tobias Brunner
  * Copyright (C) 2007 Martin Willi
  * Copyright (C) 2007 Martin Willi
- * Hochschule fuer Technik Rapperswil
+ * HSR Hochschule fuer Technik Rapperswil
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -57,7 +58,24 @@ struct child_create_t {
         * @param in            inbound mark value
         * @param out           outbound mark value
         */
         * @param in            inbound mark value
         * @param out           outbound mark value
         */
-       void (*use_marks)(child_create_t *this, u_int in, u_int out);
+       void (*use_marks)(child_create_t *this, uint32_t in, uint32_t out);
+
+       /**
+        * Use specific interface IDs, overriding configuration.
+        *
+        * @param in                    inbound interface ID
+        * @param out                   outbound interface ID
+        */
+       void (*use_if_ids)(child_create_t *this, uint32_t in, uint32_t out);
+
+       /**
+        * Initially propose a specific DH group to override configuration.
+        *
+        * This is used during rekeying to prefer the previously negotiated group.
+        *
+        * @param dh_group      DH group to use
+        */
+       void (*use_dh_group)(child_create_t *this, diffie_hellman_group_t dh_group);
 
        /**
         * Get the lower of the two nonces, used for rekey collisions.
 
        /**
         * Get the lower of the two nonces, used for rekey collisions.