Commit Graph

8210 Commits

Author SHA1 Message Date
Treehugger Robot
99d1eeebff Merge "merge Tether{Down,Up}stream6Value -> Tether6Value" am: 33848955b0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1561296

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If041c4a7e87d7b33fa192f1e11abf986ace7df3f
2021-01-27 08:00:18 +00:00
Remi NGUYEN VAN
9014776664 Merge "Move connectivity-sources to frameworks/base" am: f0be057728
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1552319

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3a369158ac3754c47966fa94cb040043573ee2d4
2021-01-27 07:50:14 +00:00
Treehugger Robot
33848955b0 Merge "merge Tether{Down,Up}stream6Value -> Tether6Value" 2021-01-27 07:18:35 +00:00
Remi NGUYEN VAN
f0be057728 Merge "Move connectivity-sources to frameworks/base" 2021-01-27 07:15:05 +00:00
Maciej Żenczykowski
7dfbcf58d2 merge Tether{Down,Up}stream6Value -> Tether6Value
Test: atest TetheringTests TetheringCoverageTests
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ibdbba9ef6652dd11bb18eba316045dff440fcf9e
2021-01-27 06:41:59 +00:00
Lorenzo Colitti
51875f6043 Merge changes Iaac422d7,Ia7638b31 am: 0913a7a415
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560403

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I747667f004d2b13fe25789beaf9d6c9101c39692
2021-01-27 03:38:36 +00:00
Lorenzo Colitti
0913a7a415 Merge changes Iaac422d7,Ia7638b31
* changes:
  Remove IpServer.Dependencies#getIfIndex.
  Address comments on aosp/1559686.
2021-01-27 03:04:23 +00:00
Maciej Żenczykowski
ec92651a11 fix comments am: cff64c8561
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1561295

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I638c660af1b79ef7bec03601f07ef0c336fdcc0b
2021-01-27 01:15:15 +00:00
Lorenzo Colitti
63585e9630 Add an isEmpty convenience method to BpfMap. am: 77262cea76
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560402

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I41ee1a37f33950d725c3349a149eaa6c6ce2c355
2021-01-27 01:15:03 +00:00
Lorenzo Colitti
b62a70bcd2 Address a TODO in BpfMapTest. am: 7bf39e56e1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560401

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I67a0daacefa9b648a6ba5d18726c60efecf4e215
2021-01-27 01:15:02 +00:00
Lorenzo Colitti
e9eb340e3e Program the upstream IPv6 map in BpfCoordinator. am: 5b1ed508cf
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557099

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I39f2b2a1863e8fab3deb7756d9301a1cf1754353
2021-01-27 01:15:00 +00:00
Lorenzo Colitti
6482088003 Rename TetherDownstream6Value to Tether6Value. am: d69a886235
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560395

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8a15cf070e2faa159e66577df5de3dc6aa171df8
2021-01-27 01:14:57 +00:00
Maciej Żenczykowski
cff64c8561 fix comments
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ic217e08484c39077bcc408195daa3311ed93ad28
2021-01-26 16:45:21 -08:00
Lorenzo Colitti
f3b201f819 Remove IpServer.Dependencies#getIfIndex.
This code is unused.

Test: atest TetheringTests
Change-Id: Iaac422d72e8538b67798cb3ae3737deb7b426401
2021-01-27 00:53:59 +09:00
Lorenzo Colitti
51c1a95c82 Address comments on aosp/1559686.
Also remove some unnecessary line wrapping.

Test: atest TetheringTests
Change-Id: Ia7638b3198d7811cdbb34e959c50608cf1a656bf
2021-01-27 00:53:59 +09:00
Lorenzo Colitti
77262cea76 Add an isEmpty convenience method to BpfMap.
Test: new unit test
Change-Id: Ibec09f328e24111aee4760af2f75ea5a80ba84c3
2021-01-27 00:53:56 +09:00
Lorenzo Colitti
7bf39e56e1 Address a TODO in BpfMapTest.
Test: test-only change
Change-Id: I9a47234979cbb161dfcd0c97c54c0476aa753c5e
2021-01-27 00:53:02 +09:00
Lorenzo Colitti
5b1ed508cf Program the upstream IPv6 map in BpfCoordinator.
- Add methods to start and stop IPv6 forwarding upstream
- Populate the upstream IPv6 map when the first rule for any
  upstream/downstream pair is created.
- Clear the upstream IPv6 map when the last rule for any
  upstream/downstream pair is deleted.

Test: Added coverage to IpServerTest and BpfCoordinatorTest
Change-Id: Ib041081e95f5f449489ab63138de034222ffac8f
2021-01-27 00:52:09 +09:00
Lorenzo Colitti
d69a886235 Rename TetherDownstream6Value to Tether6Value.
The two value types are identical so there is no need to have
separate classes for them.

Test: atest TetheringTests
Change-Id: Ia622b082d0a44373d21f51222f5e675e5bde08e0
2021-01-27 00:52:09 +09:00
Lorenzo Colitti
7d0693f6dc Merge changes from topic "bpf_tether4_rename" am: 3c35666892
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559687

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0addb9a731cdedfb97db001b8e09cb3409f82008
2021-01-26 14:06:50 +00:00
Lorenzo Colitti
3c35666892 Merge changes from topic "bpf_tether4_rename"
* changes:
  merge Tether{Down,Up}stream4{Key,Value} - part 3 - fixups
  merge Tether{Down,Up}stream4{Key,Value} - part 2 - java
  merge Tether{Down,Up}stream4{Key,Value} - part 1 - C portion
2021-01-26 13:01:22 +00:00
Lorenzo Colitti
ec93812466 Mark the EntitlementManager PendingIntents as immutable. am: a36d65da0a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557108

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I592fb8876e2c51c5c7c2a043d1a313fe1523ac6a
2021-01-26 11:20:13 +00:00
Lorenzo Colitti
595a330cc6 Fix a WTF in IpServerTest. am: ae27ecf5ad
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557107

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3da0e7ad36002361287e63a8724e25dcd940bd0c
2021-01-26 11:20:10 +00:00
Lorenzo Colitti
a36d65da0a Mark the EntitlementManager PendingIntents as immutable.
These are read-only intents and should not be mutated by any
app receiving them.

Bug: 178324405
Bug: 178249531
Test: atest TetheringTests TetheringCoverageTests GtsTetheringTestCases
Change-Id: I5395e7c19e6453640ad790f2b9a9ba22bbcefa88
2021-01-26 15:14:26 +09:00
Lorenzo Colitti
ae27ecf5ad Fix a WTF in IpServerTest.
Bug: 178324405
Test: atest TetheringTests
Change-Id: I2069ea79f982e6bb197388edd7820a05d1e651f1
2021-01-26 15:14:26 +09:00
Maciej Żenczykowski
911a7267f5 merge Tether{Down,Up}stream4{Key,Value} - part 3 - fixups
Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia7840698e80ded33d8e0b59efe1ca7267254b892
2021-01-25 20:32:10 -08:00
Maciej Żenczykowski
32874eb6bc merge Tether{Down,Up}stream4{Key,Value} - part 2 - java
Generated via:
  git grep 'Tether(Down|Up)stream4(Key|Value)' | cut -d: -f1 | sort -u | while read i; do
    sed -r -i 's@TetherUpstream4Value@Tether4Value@g' "$i"
    sed -r -i 's@TetherDownstream4Value@Tether4Value@g' "$i"
    sed -r -i 's@TetherDownstream4Key@Tether4Key@g' "$i"
    sed -r -i 's@TetherUpstream4Key@Tether4Key@g' "$i"
  done

  cd Tethering/src/com/android/networkstack/tethering
  git mv TetherUpstream4Key.java Tether4Key.java
  git mv TetherUpstream4Value.java Tether4Value.java

  git diff TetherDownstream4Key.java Tether4Key.java
  git diff TetherDownstream4Value.java Tether4Value.java
  git rm TetherDownstream4Key.java
  git rm TetherDownstream4Value.java

Fixup resulting 'import' duplication
  mcedit Tethering/apishim/31/com/android/networkstack/tethering/apishim/api31/BpfCoordinatorShimImpl.java
  mcedit Tethering/apishim/30/com/android/networkstack/tethering/apishim/api30/BpfCoordinatorShimImpl.java
  mcedit Tethering/apishim/common/com/android/networkstack/tethering/apishim/common/BpfCoordinatorShim.java
  mcedit Tethering/tests/unit/src/android/net/ip/IpServerTest.java

Test: N/A, requires follow up commit
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1dfc3108ca4bbd0cefc3420bc7e421594b62619c
2021-01-25 20:32:05 -08:00
Maciej Żenczykowski
1feb8b4ac8 merge Tether{Down,Up}stream4{Key,Value} - part 1 - C portion
The keys are identical, and the values nearly so, this will make everyone's life easier.

Test: git grep 'Tether(Down|Up)stream4(Key|Value)' finds nothing
  (note this requires follow up commits)
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ifbff2c617ac5834ea80f827eaf89ca81e862baec
2021-01-25 20:31:11 -08:00
Lorenzo Colitti
3b0f7f1d6e Merge changes I8cd6e49b,Ibb52c7b7 am: dc4189f0e4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557658

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibc66bcdefb9ca3f1e8d393923d0ce2031cbba302
2021-01-26 00:57:37 +00:00
Lorenzo Colitti
dc4189f0e4 Merge changes I8cd6e49b,Ibb52c7b7
* changes:
  [NFCT.TETHER.10] Add/delete IPv4 offload BPF rules to/from BPF map
  [NFCT.TETHER.9] Build IPv4 offload BPF rules for raw ip
2021-01-26 00:30:15 +00:00
Maciej Żenczykowski
7c3ecd4aee offload - begin ipv4 tethering implementation am: c2b0146045
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559293

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I74f1e77cc5304c380d82d40578f67448c2eb0559
2021-01-25 20:05:44 +00:00
Maciej Żenczykowski
258660ccff offload - ignore ethernet packets not destined for us am: 18552e8fb3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559389

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If3a038d69bb84c3244258c47c39b214b1b100586
2021-01-25 19:28:13 +00:00
Maciej Żenczykowski
6b48c492c2 rename do_forward to do_forward6 am: bf8ec1a21d
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559388

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia1e1a0219585199f62dff3f69b08fcdc1ed2f55d
2021-01-25 19:25:01 +00:00
Maciej Żenczykowski
c2b0146045 offload - begin ipv4 tethering implementation
Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0ad143be954d55d0ed39853031c7bd364378e1ec
2021-01-25 19:07:40 +00:00
Hungming Chen
dd833dee31 [NFCT.TETHER.10] Add/delete IPv4 offload BPF rules to/from BPF map
Access the IPv4 downstream and upstream BPF map with the built rules.

Test: atest TetheringCoverageTests
Change-Id: I8cd6e49b377c72250988019eea57f93cccd78309
2021-01-25 20:13:47 +08:00
Maciej Żenczykowski
18552e8fb3 offload - ignore ethernet packets not destined for us
Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Icabd1db48a1189425a941384d534c0f18bf20827
2021-01-24 19:59:21 -08:00
Maciej Żenczykowski
bf8ec1a21d rename do_forward to do_forward6
Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I649dc490b1883a1e97f748370a77c956f1315e2e
2021-01-24 19:59:16 -08:00
Remi NGUYEN VAN
36840ee2d3 Move connectivity-sources to frameworks/base
All sources for the connectivity module are being moved to
frameworks/base/packages/Connectivity, so that they can all be moved to
packages/modules/Connectivity in one move keeping history.

INetworkAgent and INetworkAgentRegistry were created in
packages/modules/Connectivity directly, but this makes managing the
sources until the move harder as the module needs to pull sources from
two different locations. Considering that they do not have history to
move, just move them to frameworks/base/packages/Connectivity without
the commit history.

Bug: 171540887
Test: m
Change-Id: I1c7e83267014bff29eb938c002d6441332101248
2021-01-25 11:47:28 +09:00
Nucca Chen
2b82a04b56 Merge changes I73f30477,I84db13ac am: 2f1c2b25cd
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1534829

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If3df71008b8801047660b9ccc15158fb76211b5c
2021-01-23 13:57:32 +00:00
Nucca Chen
2f1c2b25cd Merge changes I73f30477,I84db13ac
* changes:
  [NFCT.TETHER.8] Prepare the upstream information for IPv4 offload rule
  [NFCT.TETHER.7] Prepare the downstream information for IPv4 offload rule
2021-01-23 13:40:30 +00:00
Maciej Żenczykowski
d4fb2bcf13 bpf tether offload - do not offload TCP SYN/FIN/RST packets am: fc4f6540be
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1558667

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5d5fef2e673d96a465a8d8c12a973cf8193089f4
2021-01-23 08:52:06 +00:00
Maciej Żenczykowski
fc4f6540be bpf tether offload - do not offload TCP SYN/FIN/RST packets
We want connection establishment/shutdown to flow through
the kernel code path so connection tracking state is at least
somewhat correct.

Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Iee97baa65750188f3436937b16c9b320f0495a5a
2021-01-23 07:11:07 +00:00
Roland Levillain
564a92f6c4 Merge "Added aidl for qos callback" am: 86654be2d8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1487838

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4c6fcd093580e90bc17b6582797de162fa06f73a
2021-01-22 14:56:33 +00:00
Roland Levillain
86654be2d8 Merge "Added aidl for qos callback" 2021-01-22 14:19:58 +00:00
Daniel Bright
c16bfcc7f7 Added aidl for qos callback
Bug: 155176305
Change-Id: I62958d041a8f544dbd98d5434e97ce89f843c5cb
2021-01-22 14:03:47 +00:00
Nucca Chen
3efbe8414f Merge "[NFCT.TETHER.1] Add conntrack monitor to BpfCoordinator" am: 168a96643d
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1488522

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I838f921dfd8140971af5b2308d9f12e9d4a1d1eb
2021-01-22 12:00:24 +00:00
Hungming Chen
347dd90620 [NFCT.TETHER.9] Build IPv4 offload BPF rules for raw ip
Build the upstream and upstream rules when the conntrack event is
received.

Test: atest TetheringCoverageTests
Change-Id: Ibb52c7b75812bd586091d809e260bc9206c06262
2021-01-22 19:37:37 +08:00
Hungming Chen
8784a60eab [NFCT.TETHER.8] Prepare the upstream information for IPv4 offload rule
Add upstream interface index and its IPv4 address mapping

Required for building IPv4 forwarding rule when a conntrack event is
received.

Test: atest TetheringCoverageTests
Change-Id: I73f304777704f09481b80d18751e0bab5bab2edc
2021-01-22 19:37:31 +08:00
Hungming Chen
d71c06ec71 [NFCT.TETHER.7] Prepare the downstream information for IPv4 offload rule
Add and remove downstream client information to BpfCoordinator

Required for building IPv4 forwarding rule when a conntrack event is
received. The IpServer provides the following elements of a rule which
is not included in conntrack event:
- Downstream interface index
- Downstream Mac address
- Client IP address to Client Mac address

Test: atest TetheringCoverageTests
Change-Id: I84db13acc047ace5730d17f0d3dd99544f516084
2021-01-22 19:37:24 +08:00
Nucca Chen
168a96643d Merge "[NFCT.TETHER.1] Add conntrack monitor to BpfCoordinator" 2021-01-22 11:29:09 +00:00