Commit Graph

9968 Commits

Author SHA1 Message Date
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
973a01cae3 ebpf offload - make it possible to boot on Q era 4.14/4.19 kernels am: acddd4f183
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1625739

MUST ONLY BE SUBMITTED BY AUTOMERGER

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3f6603fe427f5b54a7bfd2b728605fe0ac11afe8
2021-03-10 14:23:44 +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
Lorenzo Colitti
138c2578a8 Make TestConnectivityManager send CONNECTIVITY_ACTION. am: 57957fe8a1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1611319

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I84d8126c78e4e8502430392079be4f11b5a5b257
2021-03-09 17:20:06 +00: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
f5a9d32a73 Merge "bpf offload - add a new 'tether_xdp_devmap'" am: b908e0c867
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1612879

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibde3d60cd0684ec28b6f8de9719bc31c91eae85c
2021-03-05 06:22:15 +00:00
Lorenzo Colitti
69b2de6e5a Merge changes I968bfa76,Id46f1e5b,Iff9b6212,I6bdb090a am: bc87f8a9d9
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1611318

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I75098c183e04978665618e52b2ff56def5fbe464
2021-03-05 06:22:07 +00:00
Maciej Żenczykowski
b908e0c867 Merge "bpf offload - add a new 'tether_xdp_devmap'" 2021-03-05 06:03:02 +00:00
Lorenzo Colitti
bc87f8a9d9 Merge changes I968bfa76,Id46f1e5b,Iff9b6212,I6bdb090a
* changes:
  Use TestConnectivityManager in TetheringTest.
  Support building different UpstreamNetworkState test objects.
  Change TetheringTest's UpstreamNetworkMonitor from mock to spy.
  Make TestConnectivityManager usable by other tethering tests.
2021-03-05 05:11:10 +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
Lorenzo Colitti
bf69824479 Change TetheringTest's UpstreamNetworkMonitor from mock to spy.
This allows future tests that want to exercise the interactions
between Tethering and UNM to do so.

Also verify what happens when UNM is initialized, and in setUp,
capture the NetworkCallback it files to track the default
network, so tests can send it NetworkCallbacks. (This callback
is only ever filed once.)

Test: test-only change
Change-Id: Iff9b62120cced41cc61263bfd4fa34f575d0ac00
2021-03-04 23:02:40 +09:00
Lorenzo Colitti
d025c562f0 Make TestConnectivityManager usable by other tethering tests.
Currently, this class is a static inner class of
UpstreamNetworkMonitorTest. Extract it to its own top-level class
so it can be used by other tests.

Bug: 173068192
Test: atest TetheringTests
Change-Id: I6bdb090a99781ac2530b3924ac5c4cf78de315b0
2021-03-04 23:02:40 +09:00
Maciej Żenczykowski
db2cff5cdf bpf offload - add a new 'tether_xdp_devmap'
It will map device ifindex to itself (but note that internally in the
kernel this is optimized into a map from ifindex to direct device
pointer), but only for xdp transmit capable devices (other devices
will not have an entry).

This will allow the use of bpf_redirect_map() from xdp tethering programs.

Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I29684e6761727d1115e9b4d75486eccbca3d5e33
2021-03-01 23:42:43 -08:00
Treehugger Robot
d5821f3c06 Merge "Make ConnectivityManagerTest use the API shims." am: c8761c98ae am: c7d509804b
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1611323

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1b49229f76a378336c55d658e2e186973fe88a58
2021-03-01 20:09:03 +00:00
Treehugger Robot
c7d509804b Merge "Make ConnectivityManagerTest use the API shims." am: c8761c98ae
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1611323

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie3de6a218eabeab2532d6ee4d27c7f2ee65b6065
2021-03-01 19:30:24 +00:00
Treehugger Robot
c8761c98ae Merge "Make ConnectivityManagerTest use the API shims." 2021-03-01 17:50:10 +00:00
Remi NGUYEN VAN
074f40bd54 Add CtsNetTestCases to TEST_MAPPING am: ad380c1de6 am: 94358c4c9e
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1612014

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I30f6e15c961f9cafa5e223d1d6f0ed3e6118d3cf
2021-03-01 09:41:50 +00:00
Remi NGUYEN VAN
94358c4c9e Add CtsNetTestCases to TEST_MAPPING am: ad380c1de6
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1612014

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I35c8e85d9c321a96703e879ff2ce230749d7f9dd
2021-03-01 09:02:25 +00:00
Lorenzo Colitti
8060dfed23 Make ConnectivityManagerTest use the API shims.
This is required for the code to be identical in AOSP and
mainline-prod.

Bug: 167645754
Test: atest CtsNetTestCases passes on AOSP device
Test: atest CtsNetTestCasesLatestSdk passes on AOSP device
Test: atest CtsNetTestCasesLatestSdk passes on R device
Change-Id: I094906e535d710a46a3fa833b6aa48cb007d6b63
2021-03-01 15:59:40 +09:00
Remi NGUYEN VAN
ad380c1de6 Add CtsNetTestCases to TEST_MAPPING
CtsNetTestCases is identical to CtsNetTestCasesLatestSdk,
with a newer target_sdk and newer API shims.

Bug: 167645754
Change-Id: Ib4e281bf84cb6ba0e7b904d57cef7c985dec2132
Test: atest CtsNetTestCases
2021-03-01 06:54:57 +00:00
Remi NGUYEN VAN
86301b1ae1 Merge "Add dependency on system API in connectivity" am: bc1bdf4a85 am: 68b759c2c1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1552320

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I98afe8d83f2a111b0a0bc3bc1081fb35ea31a328
2021-03-01 02:25:13 +00:00
Remi NGUYEN VAN
68b759c2c1 Merge "Add dependency on system API in connectivity" am: bc1bdf4a85
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1552320

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib1db46318bbccfc496f5fcc9481e177d66e9b46a
2021-03-01 02:10:04 +00:00
Lorenzo Colitti
c715bf96b9 Use NET_CAPABILITY_NOT_VCN_MANAGED from ConstantsShim. am: 589d0ad195 am: 894c6ff74a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1611315

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I524c692df857f07d17d038271597137fcb38d705
2021-03-01 02:04:29 +00:00
Remi NGUYEN VAN
bc1bdf4a85 Merge "Add dependency on system API in connectivity" 2021-03-01 01:07:19 +00:00
Lorenzo Colitti
894c6ff74a Use NET_CAPABILITY_NOT_VCN_MANAGED from ConstantsShim. am: 589d0ad195
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1611315

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0b6636bd7b8a6419341bcf1e0c65a62dea27e0b0
2021-03-01 00:46:54 +00:00
Lorenzo Colitti
589d0ad195 Use NET_CAPABILITY_NOT_VCN_MANAGED from ConstantsShim.
This is required to build in mainline-prod, which does not have
access to in-progress S APIs.

Bug: 167645754
Test: m NetworkStack CtsNetTestCasesLatestSdk CtsHostsideNetworkTests CtsHostsideNetworkTestsApp
Change-Id: If40ebfadbf6d3ee86a58a55711fbc146a8599fdb
Merged-In: If40ebfadbf6d3ee86a58a55711fbc146a8599fdb
2021-03-01 00:16:36 +09:00
Remi NGUYEN VAN
74b274424a Add dependency on system API in connectivity
The system API are moved to the connectivity module: add dependency on
the stubs from framework-tethering.

This only allows tethering to depend on system API defined by the
connectivity classes, not on any private code, even if they are
eventually bundled in the same APEX.

Bug: 171540887
Test: m

Merged-In: Iebfb3e01c5d2480e84edcfc76cf489520bd60237
Merged-In: Ic2491f04880ff66abc3b2d3aaee6168e18f6d68a
(clean cherry-pick from internal branch)

Change-Id: Iebfb3e01c5d2480e84edcfc76cf489520bd60237
2021-02-26 19:36:06 +09:00
Junyu Lai
239c23c9dc Merge "Fix CTS test failed on R device" am: 75d28bee27 am: 3ec8882370
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1602480

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I856c51aa30da6d9e5097aee2a65fb99f8c6fb8aa
2021-02-26 10:07:11 +00:00
Remi NGUYEN VAN
af4b10e326 Merge "Add flag to force choosing upstreams automatically" am: e43c960d50 am: a474b9edfa
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1596352

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib53feb1dce0a6f2c84d493fc5cbfa248320ecea1
2021-02-26 10:02:30 +00:00
Junyu Lai
3ec8882370 Merge "Fix CTS test failed on R device" am: 75d28bee27
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1602480

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I76b422a0f86a5ca63021d1cb88db37089a310280
2021-02-26 09:31:05 +00:00
Remi NGUYEN VAN
a474b9edfa Merge "Add flag to force choosing upstreams automatically" am: e43c960d50
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1596352

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If6b4415a3a3f507101d63b53296925b3572ebf1e
2021-02-26 09:30:57 +00:00
Treehugger Robot
c6551d73b7 Merge "ebpf offload: bump size of ipv4 tethering maps" am: fcd5ec1971 am: f1a420808c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1608893

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I325505e6f5431134e6b5dc336a5e120479157d29
2021-02-26 09:15:06 +00:00
Treehugger Robot
ff55bbf0f4 Merge "ebpf offload: mark as critical for tethering not netd" am: 4945772ba7 am: 9ea87036a8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1607252

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie672e82b07825833a1417f0ca67dd0e8e413eabf
2021-02-26 09:14:53 +00:00
Junyu Lai
75d28bee27 Merge "Fix CTS test failed on R device" 2021-02-26 07:17:47 +00:00
Remi NGUYEN VAN
e43c960d50 Merge "Add flag to force choosing upstreams automatically" 2021-02-26 06:42:00 +00:00
Treehugger Robot
f1a420808c Merge "ebpf offload: bump size of ipv4 tethering maps" am: fcd5ec1971
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1608893

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iccd3542628882fdaa25ed0a5b2c073f596ea198b
2021-02-26 06:05:10 +00:00
Treehugger Robot
9ea87036a8 Merge "ebpf offload: mark as critical for tethering not netd" am: 4945772ba7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1607252

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8d58bccf80be1fa6346922abd769c1b96e4274be
2021-02-26 06:04:04 +00:00
Treehugger Robot
fcd5ec1971 Merge "ebpf offload: bump size of ipv4 tethering maps" 2021-02-26 05:43:07 +00:00
Treehugger Robot
4945772ba7 Merge "ebpf offload: mark as critical for tethering not netd" 2021-02-26 05:39:07 +00:00
Maciej Żenczykowski
8549af9f17 ebpf offload: bump size of ipv4 tethering maps
For ipv6 we need 1 entry per client, so 64 seems like plenty,
while for ipv4 we need 1 entry per flow, so even 1024 seems
like it might not be enough, but it's much better than 64.

Nucca says:
  # cat proc/sys/net/netfilter/nf_conntrack_buckets
  65536
  # cat proc/sys/net/netfilter/nf_conntrack_max
  262144

  per https://www.kernel.org/doc/Documentation/networking/nf_conntrack-sysctl.txt
  the default “nf_conntrack_max” is “nf_conntrack_buckets * 4”.

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib7d1d8c19bc688c442d842cf5c9f45cdf1241754
2021-02-25 19:11:39 -08:00
Maciej Żenczykowski
607d6dda0d ebpf offload: mark as critical for tethering not netd
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I5bccfcbababb09a412ac1093513ad93c254b349b
2021-02-25 19:10:01 -08:00
Junyu Lai
5e92915fa0 Merge "[VCN07.1] Add test for bypassing VCN for non-internet request" am: 3f134a3805 am: b209d3a2a7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1597477

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie52bba30ff711c91ef36cb2add9167fbfc80e005
2021-02-25 12:48:07 +00:00
Junyu Lai
b209d3a2a7 Merge "[VCN07.1] Add test for bypassing VCN for non-internet request" am: 3f134a3805
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1597477

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idfe60822e28968c52514497e43537cb6e9c0fae3
2021-02-25 11:03:33 +00:00