Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 2337cef3 authored by Chalard Jean's avatar Chalard Jean
Browse files

Migrate/restart IKE session with delay upon net update

When the underlying network sees an update of its NetworkCaps
or LinkProperties, the IKE connection needs to try and migrate
because some parameters are deduced from them (e.g., from
NetworkCaps the transport is used to infer the correct encap
type ; from LP the available IP address families are used
(in some cases) to infer the correct source IP to use). It
is therefore necessary to try and migrate or restart the
IKE connection when the relevant changes happen. IP family
changes are especially important but any IP address change may
require migration.

However, starting the migration immediately is both costly
(it is relatively likely another change will happen
immediately – indeed, that's guaranteed when the network
first connect) and racy, because the IKE library might not
yet be aware of changes to the network.

In practice, the call terminates in the IKE library fetching
the NC and LP using the synchronous ConnectivityManager
method. That's unadvisable (and indeed, is likely the cause
of bugs in that library today), but the delay will help
stabilizing getting the correct arguments here. Further, if
the IKE code is ever fixed to use callbacks, this delay
will be instrumental in making sure the IKE code has been
updated in time about the network properties.

Test: VpnTest
Bug: 269715746
Change-Id: Ib8ff5def9ccde2cd579df1281a02ac2095085171
parent 52885599
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment