Lorenzo Colitti
bb226600c1
Add an isEmpty convenience method to BpfMap. am: 77262cea76 am: 63585e9630
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560402
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I61adb34e62da8862b50a56c27dfee5cd78b705b6
2021-01-27 01:36:07 +00:00
Lorenzo Colitti
a350221089
Address a TODO in BpfMapTest. am: 7bf39e56e1 am: b62a70bcd2
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560401
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: If988eb90c7be8176ffa13f0be425428ce4ae7e8a
2021-01-27 01:36:06 +00:00
Lorenzo Colitti
8c49368ee2
Program the upstream IPv6 map in BpfCoordinator. am: 5b1ed508cf am: e9eb340e3e
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557099
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I563a8f0d7013a0d6572f90f0dd6c9c165ba89207
2021-01-27 01:36:05 +00:00
Lorenzo Colitti
80ede0e4d9
Rename TetherDownstream6Value to Tether6Value. am: d69a886235 am: 6482088003
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560395
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I4a949d07a8a1e353030c0957462f20ee3a38ab7b
2021-01-27 01:36:04 +00: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
177975f25b
Merge changes from topic "bpf_tether4_rename" am: 3c35666892 am: 7d0693f6dc
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559687
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I056bdd8ef3117a89ff0f4f28a87978f703a325a2
2021-01-26 14:23:58 +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
8688028150
Mark the EntitlementManager PendingIntents as immutable. am: a36d65da0a am: ec93812466
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557108
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ieb900d82e5b8a67ae2be1e448966f6199986539d
2021-01-26 12:03:36 +00:00
Lorenzo Colitti
9d829044e9
Fix a WTF in IpServerTest. am: ae27ecf5ad am: 595a330cc6
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557107
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ie29e806685ee0930ec00ad85f8f9c15ace3e6cf6
2021-01-26 12:03:33 +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
4158939871
Merge changes I8cd6e49b,Ibb52c7b7 am: dc4189f0e4 am: 3b0f7f1d6e
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557658
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Iebb3cd0581e7262708b825747b990336f87de72a
2021-01-26 01:45:16 +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
5ccabb7880
offload - begin ipv4 tethering implementation am: c2b0146045 am: 7c3ecd4aee
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559293
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I801205435f7617cfe0d49d8c459a538650a5eff4
2021-01-25 20:35:27 +00:00
Maciej Żenczykowski
be68e49daa
offload - ignore ethernet packets not destined for us am: 18552e8fb3 am: 258660ccff
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559389
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Iceb78013e560cb4550fe7dac5e0619dc11074e90
2021-01-25 19:50:21 +00:00
Maciej Żenczykowski
6588fd6a86
rename do_forward to do_forward6 am: bf8ec1a21d am: 6b48c492c2
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559388
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Iea4767add4bbf877e2fe79d6578b4ebb82f6a8a7
2021-01-25 19:49:30 +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
Nucca Chen
d98f2b685f
Merge changes I73f30477,I84db13ac am: 2f1c2b25cd am: 2b82a04b56
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1534829
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I5cc251fb9b525ca3762e12f6d5ce4d935a4fa04a
2021-01-23 14:13:07 +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
664081beb9
bpf tether offload - do not offload TCP SYN/FIN/RST packets am: fc4f6540be am: d4fb2bcf13
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1558667
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I442286cce3b115921175d363d7134f67d73af85d
2021-01-23 11:01:53 +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
Nucca Chen
4ad3fc7c39
Merge "[NFCT.TETHER.1] Add conntrack monitor to BpfCoordinator" am: 168a96643d am: 3efbe8414f
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1488522
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ic86dba0c3c7e205271841b5f66f2034873ee55d6
2021-01-22 12:32:12 +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
Maciej Żenczykowski
cc123a310d
adjust to changes in map location am: 30a2d8232b am: 21b466f290
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557274
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ie28928a967344de4d10aa4cbf48974b4adab7b4d
2021-01-22 05:38:59 +00:00
Maciej Żenczykowski
30a2d8232b
adjust to changes in map location
...
Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com >
Change-Id: Idaaa1ede7c239655f5ec489532533c363d297864
2021-01-21 17:51:20 -08:00
Hungming Chen
46c30b1fd4
[NFCT.TETHER.1] Add conntrack monitor to BpfCoordinator
...
A preparation for starting monitoring conntrack event which is required
by IPv4 tethering offload.
Test: atest TetheringCoverageTests
Change-Id: Ied46aeca193554f52a90889dfdf92827e94845d6
2021-01-21 21:25:18 +08:00
Maciej Żenczykowski
6abaa6c504
add placeholder ebpf programs for XDP tethering am: b199742d73 am: ffc65b4880
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1553913
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I8fcb0bd8e0765686e582e5f70864163343dbfe47
2021-01-21 12:10:43 +00:00
Maciej Żenczykowski
101e74b2b6
add placeholder ipv4 ebpf tethering offload programs am: 088fe1983b am: f67811878a
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1553912
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ia82181ca3cdc82bf1f810cef09436a9bfebfdee0
2021-01-21 12:10:40 +00:00
Maciej Żenczykowski
b199742d73
add placeholder ebpf programs for XDP tethering
...
Test: atest, TreeHugger, the programs load
Signed-off-by: Maciej Żenczykowski <maze@google.com >
Change-Id: Idcacf0502719336c1b6a959fe6b782f2bce9d6b5
2021-01-21 05:12:35 +00:00
Maciej Żenczykowski
088fe1983b
add placeholder ipv4 ebpf tethering offload programs
...
Additionally better document tether stats/limit keys/value.
Test: atest, TreeHugger, the programs load
Signed-off-by: Maciej Żenczykowski <maze@google.com >
Change-Id: I1e1832fc4f5a6704e00ea99ca377988c52a82eb1
2021-01-21 05:12:21 +00:00
Maciej Żenczykowski
fbf8c09a0f
Merge changes from topic "v6_tether" am: 73dc23c4ea am: 18414d85d0
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554638
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I68b0ee054e4ea54644bd1ebc67a26a9a20f046a6
2021-01-21 02:10:29 +00:00
Maciej Żenczykowski
73dc23c4ea
Merge changes from topic "v6_tether"
...
* changes:
switch bpf programs to group network_stack
Add tethering programs for upstream.
2021-01-21 00:50:47 +00:00
Maciej Żenczykowski
5b00fbd618
switch bpf programs to group network_stack
...
Test: atest, TreeHugger, the programs load
Signed-off-by: Maciej Żenczykowski <maze@google.com >
Change-Id: I3ab4383978acb2681a0fd5aee2700d12c62c2769
2021-01-20 18:09:32 +00:00
Maciej Żenczykowski
bca0c85822
Add tethering programs for upstream.
...
Test: atest, TreeHugger, the programs load
Signed-off-by: Maciej Żenczykowski <maze@google.com >
Change-Id: I26bc60c1066ed7317bda48ec3fa701c36e0b46dd
2021-01-20 18:05:52 +00:00
Maciej Żenczykowski
0c931c6c54
refactor: continued am: a0e2c0445d am: 009cd35124
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1553320
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I36014e42844a2ca7608354742adc4a0e05001205
2021-01-20 16:20:35 +00:00
Maciej Żenczykowski
7a38a7d727
refactor: TetherIngress becomes TetherDownstream6 (and friends) am: 770e0a7a8f am: 14583198a0
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554238
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I377e4c9f63f28f5b4918da29a36719f566359e2a
2021-01-20 11:54:03 +00:00
Maciej Żenczykowski
a0e2c0445d
refactor: continued
...
Test: builds, atest, TreeHugger
git grep 'makeIngressKey|makeIngressValue|BpfIngressMap|TETHER_INGRESS_FS_PATH'
no longer finds anything
Signed-off-by: Maciej Żenczykowski <maze@google.com >
Change-Id: I27200d33cbc4ea2094b18e05bf93ab54c564da0b
2021-01-20 11:34:48 +00:00
Maciej Żenczykowski
78f0d11054
Merge "BpfMapTest - adjust paths for bpfloader change" am: 3bf519f279 am: 36b406bbfc
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1554235
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I7eca325098b8132d34e904e08ce3a9a95bee4689
2021-01-20 07:55:00 +00:00