Commit Graph

9805 Commits

Author SHA1 Message Date
Lorenzo Colitti
f5d2df925e Merge changes from topics "vpnmove-getconnectionowneruid", "vpnmove-systemdefaultcallback", "vpnmove-vpntransportinfo" am: 43b96c711b am: 2d109b3909
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1574260

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id8822fe3e2e2e2a0c3a290a61df28cb92a63f029
2021-02-10 07:20:31 +00:00
Lorenzo Colitti
eb54554df9 Add CTS coverage for VpnTransportInfo. am: e9aeb3c1c5 am: fc5b95502b
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1570841

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I46ac659c13f40d59a304bfd2931e0306d5704c2c
2021-02-10 07:20:30 +00:00
Lorenzo Colitti
c49cba3526 Add test coverage for registerSystemDefaultNetworkCallback. am: 1e5cdd3187 am: 1f40096f3e
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1570840

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3ece3d8ce25be1d024376539ba4c9c17e9d15d7b
2021-02-10 07:20:26 +00:00
Lorenzo Colitti
2d109b3909 Merge changes from topics "vpnmove-getconnectionowneruid", "vpnmove-systemdefaultcallback", "vpnmove-vpntransportinfo" am: 43b96c711b
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1574260

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibe397a58700e8ad1077a011a9a98f7478f0dc60e
2021-02-10 06:55:58 +00:00
Lorenzo Colitti
fc5b95502b Add CTS coverage for VpnTransportInfo. am: e9aeb3c1c5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1570841

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0674d6c5730ad30624d58d3fad0fa6b22c2ce7b0
2021-02-10 06:55:57 +00:00
Lorenzo Colitti
1f40096f3e Add test coverage for registerSystemDefaultNetworkCallback. am: 1e5cdd3187
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1570840

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If5381eec59318dd01b6c19b13165dbacb6c86af2
2021-02-10 06:55:56 +00:00
Lorenzo Colitti
17b18ca6c2 Add IPv4 counters. am: d561b7f67c am: d2956a1964
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1580287

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic66884108ae7fde4c1688847f7b2092c8d6e941d
2021-02-10 06:54:53 +00:00
Lorenzo Colitti
43b96c711b Merge changes from topics "vpnmove-getconnectionowneruid", "vpnmove-systemdefaultcallback", "vpnmove-vpntransportinfo"
* changes:
  Accept both pre-S and post-S errors in getConnectionOwnerUid.
  Add CTS coverage for VpnTransportInfo.
  Add test coverage for registerSystemDefaultNetworkCallback.
2021-02-10 06:38:41 +00:00
Lorenzo Colitti
d2956a1964 Add IPv4 counters. am: d561b7f67c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1580287

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4c2c1c0e7dd032a148f798030f668767bfd2a029
2021-02-10 06:30:21 +00:00
Lorenzo Colitti
98d23e7d02 Accept both pre-S and post-S errors in getConnectionOwnerUid.
On R and below, when an app that is not the active VPN app calls
getConnectionOwnerUid, a SecurityException is thrown. On S and
above, the method just returns INVALID_UID, which is what would
happen if the app was the active VPN app but was not authorized
to find that particular socket.

Accept both behaviours.

Bug: 173331190
Test: atest HostsideVpnTests#testGetConnectionOwnerUidSecurity passes on R and S
Change-Id: Ie6de2ef505b0d7bc253c55215a698aeaa210785c
2021-02-10 15:14:31 +09:00
Lorenzo Colitti
e9aeb3c1c5 Add CTS coverage for VpnTransportInfo.
Bug: 173331190
Test: FrameworksNetTests HostsideVpnTests CtsNetTestCases
Change-Id: I77d866270c63f1078a2a01941b2271d4338aa178
2021-02-10 15:14:26 +09:00
Lorenzo Colitti
7081e9f184 Dump counters in "dumpsys tethering bpf". am: 4e92da06fa am: e033a1e543
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575051

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib449565583901259f0c21764d566637eace5f5f8
2021-02-10 05:31:03 +00:00
Lorenzo Colitti
e033a1e543 Dump counters in "dumpsys tethering bpf". am: 4e92da06fa
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575051

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic0891b0982780186054e468541259f10c2b5ccf5
2021-02-10 05:05:29 +00:00
Lorenzo Colitti
d561b7f67c Add IPv4 counters.
Test: dumpsys tethering bpf
Change-Id: Ie21fee8ad12430ecd21c3903587d25b8dd2a96c4
2021-02-10 04:44:35 +00:00
Lorenzo Colitti
4e92da06fa Dump counters in "dumpsys tethering bpf".
This CL adds the counters collected by the tethering programs to
the output of "dumpsys tethering bpf". The counter names are
fetched by JNI code at startup and then read by the debugging
code on demand.

Example from my device:

  Forwarding errors:
    TCP_CONTROL_PACKET: 67
    NON_GLOBAL_SRC: 13
    NON_GLOBAL_DST: 17
    LOCAL_SRC_DST: 7

Test: manual (debug-only code)
Change-Id: I7ec7992612556a4bca5f1b6bb52c655d6d870201
2021-02-10 04:43:03 +00:00
Lorenzo Colitti
a47891732f Don't leak map fds in BpfCoordinator#dump. am: 555472a186 am: a6c9626b5d
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1581523

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id5a3c980a0f9409b9342672935b9567c89422305
2021-02-09 22:50:01 +00:00
Lorenzo Colitti
a6c9626b5d Don't leak map fds in BpfCoordinator#dump. am: 555472a186
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1581523

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6f674f644b3afbc762423c903a1460a215be712d
2021-02-09 22:22:55 +00:00
Lorenzo Colitti
555472a186 Don't leak map fds in BpfCoordinator#dump.
Currently, the dump methods open BpfMap objects and never close
them. This leaks filedescriptors, and if dump is called often
enough, will crash the networkstack process.

Fix this by using try-with-resources statements that
automatically close the map when exiting the try block.

Change the signature of BpfMap#close from "throws Exception" to
"throws ErrnoException" since it does not throw any other type
of checked exceptions.

Test: "lsof | grep network_st" while running "dumpsys tethering bpf" in a loop
Change-Id: I66c407454c2715bf41bf3a2e81bd582f9ea5a905
2021-02-09 23:30:25 +09:00
Lorenzo Colitti
29f8e3550b Merge "offload - finish ipv4 tethering" am: 4431655a4d am: 76a663683c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1562765

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I386c9e5230fb978856437a9afc0b3920edfcf051
2021-02-09 13:00:08 +00:00
Lorenzo Colitti
76a663683c Merge "offload - finish ipv4 tethering" am: 4431655a4d
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1562765

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifcf60768a4c5c88657f7a3f6896e14082353735a
2021-02-09 12:33:26 +00:00
Lorenzo Colitti
1e5cdd3187 Add test coverage for registerSystemDefaultNetworkCallback.
Bug: 173331190
Test: atest CtsNetTestCases:NetworkAgentTest
Change-Id: I3ce51ca253a8bd06408137f6f9ed4056a832cb43
2021-02-09 20:10:36 +09:00
Lorenzo Colitti
4431655a4d Merge "offload - finish ipv4 tethering" 2021-02-09 11:08:06 +00:00
Lorenzo Colitti
b9b629f273 Improve BPF tethering counters. am: 72ec3ba88a am: 66609d3f3e
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1580284

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I19117620a162ecf6a3c14118cebf3413ffbe667b
2021-02-09 07:06:44 +00:00
Lorenzo Colitti
66609d3f3e Improve BPF tethering counters. am: 72ec3ba88a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1580284

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I43e2306bf134e2219b9f0a5bb59ad9c03f3aaa70
2021-02-09 06:27:17 +00:00
Maciej Żenczykowski
79079db8af Merge changes I3fcd7eb8,I4bf2c762 am: d46b3d8ef8 am: 0681ae3e9a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575050

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I187698dad1d3bf8641e7b9987be3e6e4aeba55b5
2021-02-09 04:25:48 +00:00
Maciej Żenczykowski
0681ae3e9a Merge changes I3fcd7eb8,I4bf2c762 am: d46b3d8ef8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575050

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I828f5f2200becadfd0429dce83dc9e4c0bc5d224
2021-02-09 03:43:01 +00:00
Lorenzo Colitti
72ec3ba88a Improve BPF tethering counters.
Test: m
Change-Id: I53961e1e16bf90d76f16b9416c55b65e8374373d
2021-02-09 03:36:40 +00:00
Maciej Żenczykowski
d46b3d8ef8 Merge changes I3fcd7eb8,I4bf2c762
* changes:
  Add error counters for various failures.
  Add a bpf_tethering_headers lib used by the programs and JNI.
2021-02-09 02:57:24 +00:00
Lorenzo Colitti
b81584dbe5 Add error counters for various failures.
Currently, debugging the tethering programs is not easy because
in case of any failure they simply return TC_ACT_OK. This CL adds
a number of counters that the program can increment in the case
of interesting events such as malformed packets.

At the moment the counters are stored in a global tethering error
map, which is an ARRAY map of 32-bit counters. This should not
take up much space because there are only a dozen of these.

We might not need all of these counters. In future CLs we can
reduce the number of counters, or perhaps move them to a map of
maps so as to have separate counters on a per-interface basis.

Test: manual
Change-Id: I3fcd7eb8d318700092949ff2f39987bf4ba3656c
2021-02-09 02:56:52 +00:00
Treehugger Robot
189842e956 Merge "Temporarily disable flaky testRequestBackgroundNetwork CTS test" am: 1259762383 am: 81d26e80ed
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1579874

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I90d63b555e28dd8d6f5c1f61add882e4016610c9
2021-02-09 02:16:30 +00:00
Lorenzo Colitti
734b14e07d Add a bpf_tethering_headers lib used by the programs and JNI.
This provides a place to store common definitions that can be
used by both the programs and by JNI code in the tethering
module.

Over time much of the tethering-specific code in bpf_shared.h
could move here.

Test: m
Bug: 177884581
Change-Id: I4bf2c762d61cd5db003d59880e6bf7d107ff1a07
2021-02-09 01:54:52 +00:00
Treehugger Robot
81d26e80ed Merge "Temporarily disable flaky testRequestBackgroundNetwork CTS test" am: 1259762383
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1579874

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I41cb852c962e219c0e546040af29e13c535909b3
2021-02-09 01:21:39 +00:00
Treehugger Robot
1259762383 Merge "Temporarily disable flaky testRequestBackgroundNetwork CTS test" 2021-02-09 00:13:46 +00:00
Junyu Lai
8d02b4ad8c Merge changes from topic "vcn07" am: 438f787ca3 am: dfb0a4ffc0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1579872

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ide6e0198012615169f3343d409e2a02fa39f1569
2021-02-08 22:23:17 +00:00
Junyu Lai
dfb0a4ffc0 Merge changes from topic "vcn07" am: 438f787ca3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1579872

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8faa712a970474d958136e5f992ba61a290f9516
2021-02-08 22:09:55 +00:00
Junyu Lai
438f787ca3 Merge changes from topic "vcn07"
* changes:
  Address comments on aosp/1550755
  [VCN07.1] Add test for bypassing VCN for non-internet request
2021-02-08 21:40:09 +00:00
junyulai
349deb8e15 Temporarily disable flaky testRequestBackgroundNetwork CTS test
Test: TH
Bug: 179554972
Change-Id: If82d561231b74e8cd0d220431ac83d08e8f16cdd
2021-02-08 21:48:13 +08:00
junyulai
5ceb5c3c8f Address comments on aosp/1550755
This CL bypass adding NOT_VCN_MANAGED on R device. And add TODOs
for refactoring and adding test coverage.

Test: atest CtsNetTestCasesLatestSdk:NetworkRequestTest on R device
Bug: 175662146

Change-Id: Id09b19c13f9a74e25d45689d2211418172dfaec8
2021-02-08 08:52:28 +00:00
Sudheer Shanka
9e007eab35 Update meteredness of cellular networks for tests. am: 8247993e00 am: 0ae458ce93
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1538984

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I906ebb4a34aff51355bdd91895aab7ac790ffb5c
2021-02-08 05:57:40 +00:00
Sudheer Shanka
0ae458ce93 Update meteredness of cellular networks for tests. am: 8247993e00
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1538984

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3880ff751623a7c51c80ece150666d2e68945396
2021-02-08 05:18:44 +00:00
Sudheer Shanka
8247993e00 Update meteredness of cellular networks for tests.
This would allow us to run both metered and unmetered networkpolicy
related tests when the device is on a cellular network.

Bug: 165343126
Test: atest CtsHostsideNetworkTests:HostsideRestrictBackgroundNetworkTests
Test: atest CtsHostsideNetworkTests:HostsideNetworkCallbackTests
Change-Id: Id70856dffc920e74bda28583dba4dd851a832397
Merged-In: Id70856dffc920e74bda28583dba4dd851a832397
2021-02-07 23:29:08 +00:00
Martin Stjernholm
b9e5c3b247 Revert "Don't crash Tethering service when WiFi feature is missing" am: 199641d451 am: b329062b20
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575305

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I56f5136bd9cc4f7527c3600b9a307bcd7ec9f33c
2021-02-05 15:01:25 +00:00
Martin Stjernholm
b329062b20 Revert "Don't crash Tethering service when WiFi feature is missing" am: 199641d451
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575305

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id5c0fadf93627d48507660d4c54dc27c0d6047ae
2021-02-05 14:21:13 +00:00
Martin Stjernholm
199641d451 Revert "Don't crash Tethering service when WiFi feature is missing"
This reverts commit f6a1052f4e.

Reason for revert: Suspected reason for TetheringTests breakage
Bug: 179467044

Change-Id: I3a5ee621b32145b74a31d6c3e411bd789e395935
2021-02-05 11:47:48 +00:00
junyulai
ea79aa6fd9 [VCN07.1] Add test for bypassing VCN for non-internet request
Test: atest NetworkRequestTest#testBypassingVcnForNonInternetRequest
Bug: 175662146
Change-Id: I245bd69e02866d3608ab1667b665f6e12860037b
2021-02-05 10:09:09 +08:00
Tomasz Wasilczyk
86be613c85 Don't crash Tethering service when WiFi feature is missing am: f6a1052f4e am: 75c7cb992a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559422

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1a57e832b8c9700fce7b935bd5caf01b10eeb5ae
2021-02-04 15:02:56 +00:00
Tomasz Wasilczyk
75c7cb992a Don't crash Tethering service when WiFi feature is missing am: f6a1052f4e
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559422

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I638c438118b5749137d9c389e2cc6161b83d26af
2021-02-04 14:45:10 +00:00
Tomasz Wasilczyk
f6a1052f4e Don't crash Tethering service when WiFi feature is missing
Bug: 175430552
Test: disable WiFi feature on device with wlan0

Change-Id: I83012013ff6a276d9a5c70748b726289b007cb0a
2021-02-02 16:11:18 +00:00
Lucas Lin
a4863a3491 Merge "Add NetdStaticLibTestsLib into TetheringCoverageTests" am: c0bae3c8c5 am: 09193eba96
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1552317

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id61cfe8a61a7e74739770d621afdbf87cbdc5000
2021-02-02 04:41:37 +00:00
Lucas Lin
09193eba96 Merge "Add NetdStaticLibTestsLib into TetheringCoverageTests" am: c0bae3c8c5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1552317

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1d1522a732c456fc43d7f30d90bb237491fc6761
2021-02-02 04:18:57 +00:00