Commit Graph

1154 Commits

Author SHA1 Message Date
Kimberly Kreider
56c0b8c40a Merge "Enable networking tests to be included in partial MTS files as well as full mts." am: 6f4d35119f am: 8266302ee7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1531141

Change-Id: Ida996c15aeed86febda6a44aa3625f53a882fda0
2021-03-17 03:07:45 +00:00
Kimberly Kreider
6f4d35119f Merge "Enable networking tests to be included in partial MTS files as well as full mts." 2021-03-17 02:23:54 +00:00
Maciej Żenczykowski
9788c4a2e6 Merge "Test conntrack event monitor on R" am: d5f07c1243 am: 4c9bfb1fbd
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1639707

Change-Id: Ib3f2e2253fafdf6bd306d065c6d8a8101cfcc6a1
2021-03-16 13:27:03 +00:00
Maciej Żenczykowski
d5f07c1243 Merge "Test conntrack event monitor on R" 2021-03-16 12:29:20 +00:00
Hungming Chen
62afc9809b Test conntrack event monitor on R
Should not {start, stop} conntrack event monitor on R because
it is used by S feature.

Test: atest TetheringCoverageTests
Change-Id: I57a0a84d46e973660b24fc10d314820ada0d45b9
2021-03-16 18:14:38 +08:00
Treehugger Robot
cde05e5133 Merge "Do not start conntrack event monitor when running on R" am: c162fc297f am: de2d7bef3b
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1639703

Change-Id: I566869dbb5e14ced269e286597381533d6f92c1b
2021-03-16 09:05:40 +00:00
Treehugger Robot
c162fc297f Merge "Do not start conntrack event monitor when running on R" 2021-03-16 08:03:46 +00:00
Maciej Żenczykowski
d3bc95b1d2 Merge "add test for TetheringUtils::setupNsSocket()" am: d3bb5a544c am: b0c92ad6c8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1638165

Change-Id: If39dd7f5d6d4dbe1a0bbc487b743d6fbc360cd98
2021-03-16 07:07:10 +00:00
Lorenzo Colitti
804a3e1f98 Merge "Add a test for TetheringUtils.setupNaSocket." am: d5edbb9eb4 am: 706d7ffb3e
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1639699

Change-Id: I957fc61a12f514de19496dd84d739dd794f040eb
2021-03-16 07:06:55 +00:00
Maciej Żenczykowski
d3bb5a544c Merge "add test for TetheringUtils::setupNsSocket()" 2021-03-16 06:23:06 +00:00
Hungming Chen
23ee901e76 Do not start conntrack event monitor when running on R
Starting conntrack event monitor on R devices is unnecessary because
no code uses them.

Bug: 177884581
Test: atest TetheringCoverageTests
Change-Id: I036cb8e29b32a4e220da9a52849b978a6ab821e4
2021-03-16 14:18:32 +08:00
Lorenzo Colitti
d5edbb9eb4 Merge "Add a test for TetheringUtils.setupNaSocket." 2021-03-16 06:17:37 +00:00
Maciej Żenczykowski
e7c57368f8 add test for TetheringUtils::setupNsSocket()
Bug: 154669942
Test: test-only change
Change-Id: I33fe5a92667a0a6ee38bbcfdee40405cd37cc30f
2021-03-15 21:10:21 -07:00
Lorenzo Colitti
82d4b9956d Add a test for TetheringUtils.setupNaSocket.
Because most of the tethering tests are unprivileged, we cannot
test this code on real sockets. So use an AF_UNIX socketpair.

Bug: 154669942
Bug: 182785371
Test: test-only change
Change-Id: I843fddb3aaeab33628438f3bcd6a4166062de962
2021-03-15 21:01:42 -07:00
Remi NGUYEN VAN
c53077244f Merge changes from topic "conn_resources_cp" am: 016e0b9261 am: 16763614c0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1635019

Change-Id: Ib1c92cf86dbdae88ad384d7aa0bf71f84dbb85d4
2021-03-16 03:50:49 +00:00
Remi NGUYEN VAN
51bddeaaec Add ServiceConnectivityResources to tethering am: 60f4c2f425 am: fb1f5458d0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1620872

Change-Id: I9f87e230b74478658c603d83f98b4ede71f45b94
2021-03-16 03:50:47 +00:00
Remi NGUYEN VAN
fb1f5458d0 Add ServiceConnectivityResources to tethering am: 60f4c2f425
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1620872

Change-Id: Ieed8fd3fe6cca6857c8c398f73143df41ac2d743
2021-03-16 03:11:26 +00:00
Remi NGUYEN VAN
016e0b9261 Merge changes from topic "conn_resources_cp"
* changes:
  Add ServiceConnectivityResources to in-process APEX
  Add ServiceConnectivityResources to tethering
2021-03-16 02:29:31 +00:00
Lorenzo Colitti
b5c74b7f55 Merge "Add test for RouterAdvertisementDaemon." am: e8e91c1726 am: 464a83c23f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1485809

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If012da4b4eb6b4aaf4999702708e63651cc9c249
2021-03-15 14:24:59 +00:00
Lorenzo Colitti
9c1e719174 Merge "Do not open BPF maps when running on R." am: d12f867cb0 am: 9bcb23851b
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1635300

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I734b4e0ac01f3cb8d0cc3cbdad0cbcc2515d9a47
2021-03-15 14:24:52 +00:00
Lorenzo Colitti
e8e91c1726 Merge "Add test for RouterAdvertisementDaemon." 2021-03-15 13:21:03 +00:00
Lorenzo Colitti
3c228f4923 Do not open BPF maps when running on R.
Opening the maps on R devices is unnecessary (because no code
uses them) and unsafe (because the maps might actually be in a
different format than expected by the module).

Always return null when opening the maps, so the code will safely
fall back to using netd for anything.

This only affects dump(). The production code never opens the
maps except via the shim, and only the S shim opens the maps.
Also check isAtLeastS in dumpCounters, because it opens the map
directly.

Bug: 177884581
Test: builds, boots, "dumpsys tethering" shows expected output
Change-Id: I5884490a5cc40fc529a12100ae5baaeae6a18f30
2021-03-15 10:44:53 +00:00
markchien
2af32e475f Add test for RouterAdvertisementDaemon.
bug: 154669942
Test: atest TetheringPrivilegedTests
Change-Id: I2bbea720c486d6bb47a8d86375847894e2b2f390
2021-03-15 08:20:57 +00:00
Remi NGUYEN VAN
235097b32b Merge "Update sources of Tethering module since it is renamed" am: e2c74e90a9 am: a564d023d0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1626083

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ieede28a14ecfca4969eabb8954336ee0e07491c3
2021-03-15 02:48:59 +00:00
Remi NGUYEN VAN
e2c74e90a9 Merge "Update sources of Tethering module since it is renamed" 2021-03-15 01:32:47 +00:00
Remi NGUYEN VAN
2fb22c2a2b Add ServiceConnectivityResources to in-process APEX
The APK was added to the standard APEX, but is missing in the
in-process APEX.

Bug: 182557971
Merged-In: Ic2491f04880ff66abc3b2d3aaee6168e18f6d68a
Merged-In: Ibf982ceb5f0fd61c822399e3eeeb1ef5e500604d

Change-Id: Ibf982ceb5f0fd61c822399e3eeeb1ef5e500604d
Test: m
2021-03-14 12:33:30 +09:00
Lorenzo Colitti
9f8e962d48 Merge "Add a test for upstream selection." am: f427d49541 am: 939d48f96c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1611320

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1f2430060ba0de9fa4d19fa290b31f114f72b13a
2021-03-12 15:16:49 +00:00
Lorenzo Colitti
f427d49541 Merge "Add a test for upstream selection." 2021-03-12 14:07:01 +00:00
Lorenzo Colitti
473399ceab Add a test for upstream selection.
Currently, upstream selection is split between the Tethering and
UpstreamNetworkMonitor classes. The UpstreamNetworkMonitor bits
are unit tested, but there are no tests for the interaction of
the two. Add a simple test.

In order to do this, remove the code that controls the
UpstreamNetworkMonitor spy from prepareUsbTethering. This is so
that the new test can call prepareUsbTethering but still rely on
the behaviour of the actual UpstreamNetworkMonitor.

Bug: 173068192
Test: atest TetheringTests
Change-Id: If2ef9af82bc0cbff9172e575ad3d7686e5b492da
2021-03-12 17:59:02 +09:00
Remi NGUYEN VAN
60f4c2f425 Add ServiceConnectivityResources to tethering
The resource package is used by service-connectivity to load its own
resources.

Bug: 182125649
Test: atest FrameworksNetTests

Merged-In: I3c7fc6285f10318ecef05a64e1179054bb831d99
Merged-In: Ic2491f04880ff66abc3b2d3aaee6168e18f6d68a

Change-Id: I3c7fc6285f10318ecef05a64e1179054bb831d99
2021-03-12 17:50:41 +09:00
Maciej Żenczykowski
e9aa6a316d Merge changes from topic "attach_bpfprog_in_mainline" am: 3357388742 am: 5254c0c243
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1607973

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8db0e2be24559a4b7b9ec51452ccb74ef51ae6a6
2021-03-12 01:37:01 +00:00
Hungming Chen
9dba544999 [NFCT.TETHER.14] Clear the BPF maps in BpfCoordinator ctor am: 499d3cac73 am: 129077bd58
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1623669

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I63ab27a10a04180ac9faf038350c36ff7aec71fe
2021-03-12 01:37:00 +00:00
Hungming Chen
129077bd58 [NFCT.TETHER.14] Clear the BPF maps in BpfCoordinator ctor am: 499d3cac73
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1623669

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I54098527fb72260c01c78d0b49282da4257f4a24
2021-03-12 01:01:36 +00:00
Maciej Żenczykowski
3357388742 Merge changes from topic "attach_bpfprog_in_mainline"
* changes:
  [NFCT.TETHER.15] Attach BPF program in the mainline module
  [NFCT.TETHER.14] Clear the BPF maps in BpfCoordinator ctor
2021-03-12 00:21:01 +00:00
Hungming Chen
3dbd4a1cc4 [NFCT.TETHER.15] Attach BPF program in the mainline module
Migrate Maze's BPF program attaching and detaching functions from
system/netd/server/OffloadUtils.{c, h} to tethering module.

Test: atest TetheringCoverageTests
Test case #1:
Enable WiFi hotspot and check tc filters are added or removed on both
wlan1 and rmnet_data#.

$ adb shell tc filter show dev wlan1 ingress
filter protocol ipv6 pref 1 bpf chain 0
filter protocol ipv6 pref 1 bpf chain 0 handle 0x1
prog_offload_schedcls_tether_upstream6_ether:[*fsobj] direct-action
not_in_hw id 2 tag 7cf020cc09a7c982
filter protocol ip pref 2 bpf chain 0
filter protocol ip pref 2 bpf chain 0 handle 0x1
prog_offload_schedcls_tether_upstream4_ether:[*fsobj] direct-action
not_in_hw id 7 tag 2f87d55b636c082c

$ adb shell tc filter show dev rmnet_data2 ingress;
filter protocol ipv6 pref 1 bpf chain 0
filter protocol ipv6 pref 1 bpf chain 0 handle 0x1
prog_offload_schedcls_tether_downstream6_rawip:[*fsobj] direct-action
not_in_hw id 3 tag 8b3885b75bd261de
filter protocol ip pref 2 bpf chain 0
filter protocol ip pref 2 bpf chain 0 handle 0x1
prog_offload_schedcls_tether_downstream4_rawip:[*fsobj] direct-action
not_in_hw id 6 tag b1c9478c91f8df9a

Test case #2:
Enable USB tethering and check tc filters are added or removed on both
rndis0 and rmnet_data#.

Test case #3:
Enable WiFi and USB tethering and check tc filter are added or removed
on rndis0, wlan1 and rmnet_data#.

Change-Id: I3f9a65043271bc8f5bf1b82ae505c471625ca9de
2021-03-11 17:49:42 +08:00
Aaron Huang
b401e58a1e Update sources of Tethering module since it is renamed
framework-tethering-shared-srcs is named to
framework-connectivity-shared-srcs so update
source section to include correct file group.

Ignore-AOSP-First: changes in topic has conflicts in sc-dev
Bug: 177046265
Test: FrameworksNetTests
Change-Id: I81e2af0cc3b37af16b03c1288eb0591b7ed65cc4
Merged-In: I81e2af0cc3b37af16b03c1288eb0591b7ed65cc4
Merged-In: Ic2491f04880ff66abc3b2d3aaee6168e18f6d68a
2021-03-11 07:36:55 +00:00
Maciej Żenczykowski
f4404beddc ebpf offload - beginnings of xdp implementation am: 90b81ac174 am: e416c69f76
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1622560

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib8850fb10af5c8fa80743d51cbc514f67b44ffd0
2021-03-10 14:58:35 +00:00
Maciej Żenczykowski
f2c7fe1437 ebpf offload - make it possible to boot on Q era 4.14/4.19 kernels am: acddd4f183 am: 973a01cae3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1625739

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I95c85376c218ca29aee62c0aab5cca097cfa298f
2021-03-10 14:57:59 +00:00
Maciej Żenczykowski
9009cc521d ebpf offload - noop program reorder am: 2278aed207 am: 4e071fff2a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1625238

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I72e3bcb1733f9c864915e13e0849d8e9773e5c82
2021-03-10 14:57:57 +00:00
Maciej Żenczykowski
90b81ac174 ebpf offload - beginnings of xdp implementation
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I6956e78bd325b63dc6dc813440f9f80c29aada36
2021-03-10 14:02:50 +00:00
Maciej Żenczykowski
acddd4f183 ebpf offload - make it possible to boot on Q era 4.14/4.19 kernels
by marking programs as optional and providing appropriate stub implementations.

Test: TreeHugger
Bug: 181045068
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I021e7bcbfe4236242f517f067f89777fc08ecd8d
2021-03-10 13:59:46 +00:00
Maciej Żenczykowski
2278aed207 ebpf offload - noop program reorder
This is just a cut'n'paste reordering of programs.
Goal is to put rawip programs above ether ones.
This will enable next change to be easier to read.

Test: TreeHugger
Bug: 181045068
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Icebf4bf0505136e97b7b6950fb0b790582eb495e
2021-03-10 13:59:00 +00:00
Lorenzo Colitti
52dbfe5394 Make TestConnectivityManager send CONNECTIVITY_ACTION. am: 57957fe8a1 am: 138c2578a8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1611319

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifa368ff8aa5b9729406df1ff4c431ca6993c9b09
2021-03-09 17:57:17 +00:00
Hungming Chen
499d3cac73 [NFCT.TETHER.14] Clear the BPF maps in BpfCoordinator ctor
Needed while the system server has recovered from crash.

Test: atest TetheringCoverageTests
Change-Id: Idbed4887f5396537f0d0df97de8b482266dffbb7
2021-03-09 16:11:22 +08:00
Lorenzo Colitti
57957fe8a1 Make TestConnectivityManager send CONNECTIVITY_ACTION.
The tethering code still depends on CONNECTIVITY_ACTION for
upstream selection. Make TestConnectivityManager send these
broadcasts.

Bug: 173068192
Test: atest TetheringTests
Change-Id: I6a32e99fafef9d6d2abec438ffc68164ab4c5bdf
2021-03-09 01:16:35 +09:00
Maciej Żenczykowski
b6cf0d8785 Merge "bpf offload - add a new 'tether_xdp_devmap'" am: b908e0c867 am: f5a9d32a73
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1612879

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If362ffe9a8ed9018e4b6a9349987f7abe6d7338a
2021-03-05 07:02:21 +00:00
Lorenzo Colitti
4d89e4899b Merge changes I968bfa76,Id46f1e5b,Iff9b6212,I6bdb090a am: bc87f8a9d9 am: 69b2de6e5a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1611318

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ief6f2a603bdc60b45f791a2d8f0b97befec44f7a
2021-03-05 07:02:11 +00:00
Maciej Żenczykowski
b908e0c867 Merge "bpf offload - add a new 'tether_xdp_devmap'" 2021-03-05 06:03:02 +00:00
Lorenzo Colitti
66287d3551 Use TestConnectivityManager in TetheringTest.
The changes required are:
- Change all usages of when(mCm.method()).thenReturn(...) to
  doReturn(...).when(mCm).method() because spies must use the
  latter syntax.
- In setDataSaverEnabled, set the mocked return value before
  sending the broadcast. Otherwise, the first time the method is
  called, the spy will attempt to send the broadcast, and will
  crash because it does not have permission to do so.

This does not do anything useful yet, but it will be used in
future CLs.

Bug: 173068192
Test: atest TetheringTests
Change-Id: I968bfa76ead25b2d45ed1c0e8ede32df81401579
2021-03-04 23:06:52 +09:00
Lorenzo Colitti
b424a2794e Support building different UpstreamNetworkState test objects.
TetheringTest is only able to build UpstreamNetworkState objects
for mobile Internet networks. Support building wifi and dun
versions as well.

Bug: 173068192
Test: atest TetheringTests
Change-Id: Id46f1e5b65dbe04e84a5f56343821af260e2539e
2021-03-04 23:02:40 +09:00