Additionally, clean up awkward IPv6TetheringInterfaceServices
instantiation mechanics. In future, this class will be absorbed
by TetherInterfaceStateMachine (prior to its renaming to IpServer).
Test: as follows
- built
- flashed
- booted
- runtest frameworks-net passes
Bug: 29337859
Bug: 32163131
Change-Id: Ib620e3df182f9f8e2c019aae1cd8981eb0b29376
Now that we can talk to the HALs (with some out of tree CLs and
"setenforce 0"), several crashes were encountered.
Fixes here include:
- avoid hidl_handle move semantics
- check HIDL method status return value (isOk())
- convert Java short port numbers to ints
- don't pass nulls to HIDL where Strings are required
(limitations in parceling)
Test: as follows
- built
- flashed
- booted
- runtest frameworks-net passes
- "setenforce 0" and start tethering
Bug: 29337859
Bug: 32163131
Merged-In: I5fa930be0c9eda491cf17bd4de9b55ab33672d25
Merged-In: Id1037d22826f4d426bccfa17dce0962c54518d64
Change-Id: I91314440c3a04e5f2502579b5f06dac9f25cf0cd
(cherry picked from commit 1185459c41)
Ideally this would have been done immediately after IPv6 tethering code
was made part of an official named release. Getting this in now should
help with the relaying of LinkProperties that is required for offload.
Test: as follows
- built
- flashed
- booted
- runtest frameworks-net passes
- runtest frameworks-wifi passes
Bug: 29337859
Bug: 32163131
Change-Id: I015fa3cb05a15624f9e80b7aa5a871cefef431b7
Additionally:
- add updateLinkProperties() method to new callback
- skeletally connect LinkProperties updates through
to OffloadController
TODOs liberally sprinkled through out.
Test: as follows
- built
- flashed
- booted
- runtest frameworks-net passes
Bug: 29337859
Bug: 32163131
Change-Id: I631d17b26be153534551a1615931fc98b598b953
This changes the way in which available networks are found. Previously
Tethering asked ConnectivityService for NetworkInfo and checked for
whether or not it was in state CONNECTED.
Here we use the fact that ConnectivityService will not call UNM's
callbacks' onAvailable() methods until the networks in question have
become connected.
Test: as follows
- built
- flashed
- booted
- runtest framework-net passed
Bug: 32163131
Change-Id: I97abe225fdd3accb38bd9168f545445b761a90d8
Test: as follows
- built
- flashed
- booted
- runtest frameworks-net passes
- cherry-picked to master and verified there as well
Bug: 32163131
Bug: 32561414
Change-Id: I0b5b1b12d55547d08c332c7d274f19f0023a7b07
Check for tether_offload_disabled (defaulting to false if not present)
before starting the OffloadController.
Test: as follows
- built
- flashed
- booted
- runtest frameworks-net passes
Bug: 29337859
Bug: 32163131
Bug: 34361337
Change-Id: Ifcc0eb1a41f09ad9e717c9252d2d55e69789669b
The existing logic will add TYPE_MOBILE and TYPE_MOBILE_HIPRI
even if the carrier config has TYPE_DUN for DUN_UNSPECIFIED.
A check is added not to modify the upstream interface types
if there is already a cellular interface type. Add TYPE_MOBILE
and TYPE_MOBILE_HIPRI if there is no cellular types found.
Test: Hotspot on Verizon and T-Mobile US.
Verified the requestNetwork has the DUN capability.
Bug: 38186915
Change-Id: I74fc5c791fee2885bf66df8975e92c2b48f1668c
The testNotificationsShownAndCleared test was not doing anything
because the list of notification to show was always empty.
This patch fixes this issue and actually makes the test loop on
non-empty collections, and also fixes another ordering issue in
assertions themselves, hidden until now by the first issue.
Bug: 32561414
Test: runtest -x frameworks/base/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java
Merged-In: I4837b1175d7c9133e9156e33acaa1e7e3341cc62
Change-Id: Ia30587bd68a87b83b62f57eeeb28fef7d95dbf81
(cherry picked from commit f8b804be5a)
Introduce a SharedLog that can be shared among all Tethering
components. All log entries go to the same log, and each includes
its subsystem name. Additionally, all entries emitted to the
system log shared the same tag, so can easily be watched.
More subsystems can inherit a SharedLog, but to minimize cherry-pick
conflicts we limit ourselves to these changes only.
Test: as follows
- built
- flashed
- booted
- log output observed via dumpsys
- runtest frameworks-net passes
Bug: 32163131
Bug: 36988090
Bug: 38218697
Change-Id: I1229d4c55987402d84b0d4a2c8a595e0c829aa3e
This patch fixes mismatch between current proto compiler and what is
expected in several IP connectivity metrics unit tests.
Test: built, flashed, $ runtest frameworks-net
Bug: 37126521
Change-Id: I1476c923d61f748ecac1146423127f54ba117502
Firewall rules don't work on 464xlat because they were created under
an assumption that there's only one address for the server and it's
ipv4, which doesn't go so well when we're on an ipv6-only network.
Bug: 33159037
Test: runtest -x net/java/com/android/server/connectivity/VpnTest.java
Change-Id: Id331526367fe13838874961da194b07bd50d4c97
This cleanup helps declutter ConnectivityService, and encapsulates the
always-on setting inside of Vpn instead of spreading it across two
classes.
In particular having the save code in one file and the load code in
another file was weird and I apologise for that.
Added a SystemServices wrapper for Settings.Secure and PendingIntent
calls to decouple some of the global state nastiness and make it
testable without forcing ConnectivityService to drive the load/save.
Test: runtest -x tests/net/java/com/android/server/ConnectivityServiceTest.java
Test: runtest -x tests/net/java/com/android/server/connectivity/VpnTest.java
Bug: 33159037
Change-Id: Ie2adb1c377adfcef0a5900dc866e6118f451b265
If either enableNat() or startInterfaceForwarding() fail, be sure
to cleanup any commands that might have succeeded.
Most of this change is a refactoring of cleanupUpstreamIface() into
two methods, one of which (cleanupUpstreamInterface()) is reused
in error handling scenarios.
Test: as follows
- built (bullhead)
- flashed
- booted
- runtest -x .../tethering/TetherInterfaceStateMachineTest.java passes
Bug: 32031803
Bug: 32163131
Change-Id: Ia4d56e03beeab1908d8b8c2202e94992f1aa58a4
The test calls that need to pass but do not currently are commented out.
Test: as follows
- built (bullhead)
- flashed
- booted
- runtest -x .../tethering/TetherInterfaceStateMachineTest.java passes
Bug: 32031803
Bug: 32163131
Change-Id: I68ed476920bef882f353d8e8a54c72120bc27002