bool aggressive;
bool encap;
bool mobike;
+ bool roaming;
bool send_certreq;
bool pull;
cert_policy_t send_cert;
DBG2(DBG_CFG, " send_certreq = %u", data->send_certreq);
DBG2(DBG_CFG, " send_cert = %N", cert_policy_names, data->send_cert);
DBG2(DBG_CFG, " mobike = %u", data->mobike);
+ DBG2(DBG_CFG, " roaming = %u", data->roaming);
DBG2(DBG_CFG, " aggressive = %u", data->aggressive);
DBG2(DBG_CFG, " dscp = 0x%.2x", data->dscp);
DBG2(DBG_CFG, " encap = %u", data->encap);
{ "dscp", parse_dscp, &peer->dscp },
{ "encap", parse_bool, &peer->encap },
{ "mobike", parse_bool, &peer->mobike },
+ { "roaming", parse_bool, &peer->roaming },
{ "dpd_delay", parse_time, &peer->dpd_delay },
{ "dpd_timeout", parse_time, &peer->dpd_timeout },
{ "fragmentation", parse_frag, &peer->fragmentation },
.children = linked_list_create(),
.proposals = linked_list_create(),
.mobike = TRUE,
+ .roaming = TRUE,
.send_certreq = TRUE,
.pull = TRUE,
.send_cert = CERT_SEND_IF_ASKED,
.jitter_time = peer.rand_time,
.over_time = peer.over_time,
.no_mobike = !peer.mobike,
+ .no_roaming = !peer.roaming,
.aggressive = peer.aggressive,
.push_mode = !peer.pull,
.dpd = peer.dpd_delay,
Usually this is not required, but it can help to work around connectivity
issues with too restrictive intermediary firewalls.
+connections.<conn>.roaming = yes
+ Enable active roaming between IP addresses/interfaces.
+
+ Enable active roaming between IP addresses/interfaces. Disabling this causes
+ this connection to ignore any local changes in interfaces, IP addresses or
+ routes and therefore prevents the active switching to different source
+ addresses. However, if valid packets are received on a different IP address
+ there might still be a switch. Disabling this implicitly disables MOBIKE on
+ IKEv2 connections.
+
connections.<conn>.mobike = yes
Enables MOBIKE on IKEv2 connections.