84672d5e620bcc2885ebc73a56fcd56f82a9e67b
This change calculates the maximum possible MTU based on the underlying
network and proposed algorithms. If MTU drops below 1280, IPv6 is
disabled, per RFC2460.
In order to ensure that apps with UDP sockets on an IPv6 network are
reset when the IPv6 addresses/routes are removed, the network is
restarted (disconnected/reconnected) when the MTU first drops below
1280. If the VPN only supports IPv6, a VpnManager event is sent to the
provisioning app, and considered failed.
MTUs will only ever be lowered from the MTU provided by the provisioning
application, exclusively improving compatibility if the calculated MTU
is lower than the app-specified MTU. Similarly, MTUs of underlying
networks are gathered on a best-effort basis, using LinkProperties, or
actual Linux interface MTU if not populated in LinkProperties.
For stability & backwards compatibility, this change is ONLY applied for
IKEv2 VPNs.
Bug: 245612827
Test: atest FrameworksNetTests:VpnTest
Manual test:
- Test if IPv6 will be disabled when VPN's MTU is lower
than 1280
- Test if IPv6 only VPN will be restarted when its MTU
is lower than 1280
Change-Id: Ic97c16f12229c5377923b031497190082319d035
…
…
Merge "Add instructions on how to annotate an AIDL interface" am:
b6df9fb2e8 am: b691d9ce36 am: 9e7a44c173 am: 3ced8e8092
…
…
…
…
Description
No description provided
Languages
Java
73.7%
Kotlin
14%
PowerBuilder
5.8%
C++
5.2%
AIDL
1%