make IKEv1 DPD timeout configurable in charon
This commit is contained in:
@@ -135,6 +135,11 @@ struct private_peer_cfg_t {
|
||||
*/
|
||||
u_int32_t dpd;
|
||||
|
||||
/**
|
||||
* DPD timeout intervall (used for IKEv1 only)
|
||||
*/
|
||||
u_int32_t dpd_timeout;
|
||||
|
||||
/**
|
||||
* virtual IP to use locally
|
||||
*/
|
||||
@@ -398,6 +403,12 @@ METHOD(peer_cfg_t, get_dpd, u_int32_t,
|
||||
return this->dpd;
|
||||
}
|
||||
|
||||
METHOD(peer_cfg_t, get_dpd_timeout, u_int32_t,
|
||||
private_peer_cfg_t *this)
|
||||
{
|
||||
return this->dpd_timeout;
|
||||
}
|
||||
|
||||
METHOD(peer_cfg_t, get_virtual_ip, host_t*,
|
||||
private_peer_cfg_t *this)
|
||||
{
|
||||
@@ -586,8 +597,9 @@ peer_cfg_t *peer_cfg_create(char *name, ike_version_t ike_version,
|
||||
u_int32_t rekey_time, u_int32_t reauth_time,
|
||||
u_int32_t jitter_time, u_int32_t over_time,
|
||||
bool mobike, bool aggressive, u_int32_t dpd,
|
||||
host_t *virtual_ip, char *pool, bool mediation,
|
||||
peer_cfg_t *mediated_by, identification_t *peer_id)
|
||||
u_int32_t dpd_timeout, host_t *virtual_ip,
|
||||
char *pool, bool mediation, peer_cfg_t *mediated_by,
|
||||
identification_t *peer_id)
|
||||
{
|
||||
private_peer_cfg_t *this;
|
||||
|
||||
@@ -618,6 +630,7 @@ peer_cfg_t *peer_cfg_create(char *name, ike_version_t ike_version,
|
||||
.use_mobike = _use_mobike,
|
||||
.use_aggressive = _use_aggressive,
|
||||
.get_dpd = _get_dpd,
|
||||
.get_dpd_timeout = _get_dpd_timeout,
|
||||
.get_virtual_ip = _get_virtual_ip,
|
||||
.get_pool = _get_pool,
|
||||
.add_auth_cfg = _add_auth_cfg,
|
||||
@@ -646,6 +659,7 @@ peer_cfg_t *peer_cfg_create(char *name, ike_version_t ike_version,
|
||||
.use_mobike = mobike,
|
||||
.aggressive = aggressive,
|
||||
.dpd = dpd,
|
||||
.dpd_timeout = dpd_timeout,
|
||||
.virtual_ip = virtual_ip,
|
||||
.pool = strdupnull(pool),
|
||||
.local_auth = linked_list_create(),
|
||||
|
||||
@@ -270,6 +270,13 @@ struct peer_cfg_t {
|
||||
*/
|
||||
u_int32_t (*get_dpd) (peer_cfg_t *this);
|
||||
|
||||
/**
|
||||
* Get the DPD timeout interval (IKEv1 only)
|
||||
*
|
||||
* @return dpd_timeout in seconds
|
||||
*/
|
||||
u_int32_t (*get_dpd_timeout) (peer_cfg_t *this);
|
||||
|
||||
/**
|
||||
* Get a virtual IP for the local peer.
|
||||
*
|
||||
@@ -366,6 +373,7 @@ struct peer_cfg_t {
|
||||
* @param mobike use MOBIKE (RFC4555) if peer supports it
|
||||
* @param aggressive use/accept aggressive mode with IKEv1
|
||||
* @param dpd DPD check interval, 0 to disable
|
||||
* @param dpd_timeout DPD timeout interval (IKEv1 only), if 0 default applies
|
||||
* @param virtual_ip virtual IP for local host, or NULL
|
||||
* @param pool pool name to get configuration attributes from, or NULL
|
||||
* @param mediation TRUE if this is a mediation connection
|
||||
@@ -379,7 +387,8 @@ peer_cfg_t *peer_cfg_create(char *name, ike_version_t ike_version,
|
||||
u_int32_t rekey_time, u_int32_t reauth_time,
|
||||
u_int32_t jitter_time, u_int32_t over_time,
|
||||
bool mobike, bool aggressive, u_int32_t dpd,
|
||||
host_t *virtual_ip, char *pool, bool mediation,
|
||||
peer_cfg_t *mediated_by, identification_t *peer_id);
|
||||
u_int32_t dpd_timeout, host_t *virtual_ip,
|
||||
char *pool, bool mediation, peer_cfg_t *mediated_by,
|
||||
identification_t *peer_id);
|
||||
|
||||
#endif /** PEER_CFG_H_ @}*/
|
||||
|
||||
Reference in New Issue
Block a user