X-Git-Url: https://git.strongswan.org/?p=strongswan.git;a=blobdiff_plain;f=src%2Flibcharon%2Fsa%2Fikev2%2Ftasks%2Fchild_create.h;h=eae1f3532f548edcc56a693229812a752ab8f5e9;hp=20f5294d72dac1d5917b24343a40b8afeae0a2fc;hb=8ab336285a920d014c7dc0db29e74679f9df9a68;hpb=22bf44c8b962f75dcf1e4dd0cede1f4ae13fd017 diff --git a/src/libcharon/sa/ikev2/tasks/child_create.h b/src/libcharon/sa/ikev2/tasks/child_create.h index 20f5294..eae1f35 100644 --- a/src/libcharon/sa/ikev2/tasks/child_create.h +++ b/src/libcharon/sa/ikev2/tasks/child_create.h @@ -1,6 +1,7 @@ /* + * Copyright (C) 2018-2019 Tobias Brunner * 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 @@ -49,7 +50,32 @@ struct child_create_t { * * @param reqid reqid to use */ - void (*use_reqid) (child_create_t *this, u_int32_t reqid); + void (*use_reqid) (child_create_t *this, uint32_t reqid); + + /** + * Use specific mark values to override configuration. + * + * @param in inbound mark value + * @param out outbound mark value + */ + 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. @@ -64,6 +90,13 @@ struct child_create_t { * @return child_sa */ child_sa_t* (*get_child) (child_create_t *this); + + /** + * Enforce a specific CHILD_SA config as responder. + * + * @param cfg configuration to enforce, reference gets owned + */ + void (*set_config)(child_create_t *this, child_cfg_t *cfg); }; /**