Lorenzo Colitti
c785e87cb5
Merge "Load JNI in all classes that have native methods." am: af97e51c01 am: ceafffa6c0 am: 531fa9e0cc
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1581528
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I140bce0fdff60614b246c67ffdcb724389532612
2021-02-12 06:14:22 +00:00
Treehugger Robot
0f8b31c929
Merge "fix TetheringCoverageTests" am: 6fc8229f16 am: 31ce8ad94d am: 55e1cc23c6
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1584755
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ic8d683a42f73acfad318119e34e2e28fa87127ce
2021-02-12 06:14:17 +00:00
Lorenzo Colitti
531fa9e0cc
Merge "Load JNI in all classes that have native methods." am: af97e51c01 am: ceafffa6c0
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1581528
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I21f1af4785d1ee540ba6dea8416c2538e60a9228
2021-02-12 05:49:17 +00:00
Treehugger Robot
55e1cc23c6
Merge "fix TetheringCoverageTests" am: 6fc8229f16 am: 31ce8ad94d
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1584755
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: If61cbbe8729451b53aea976540d388868cdde01a
2021-02-12 05:48:49 +00:00
Lorenzo Colitti
af97e51c01
Merge "Load JNI in all classes that have native methods."
2021-02-12 03:19:00 +00:00
Maciej Żenczykowski
c92e8ce636
fix TetheringCoverageTests
...
Test: atest TetheringCoverageTests now passes, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com >
Change-Id: I0d83de14784f323400a83ce282cae1a3e7b4b396
2021-02-11 16:06:46 -08:00
Lorenzo Colitti
cdde4d0c32
Add IPv4 counters. am: d561b7f67c am: d2956a1964 am: 17b18ca6c2
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1580287
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I56217d9b73e22372e8bdf61e96fa99593b324c24
2021-02-10 07:45:58 +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
6800811597
Load JNI in all classes that have native methods.
...
The tethering module uses JNI in various classes, but only calls
System.loadLibrary in TetheringService#makeTethering. This means
that:
1. Any test that uses a class that uses JNI must load the
library itself.
2. Any code that runs before TetheringService#makeTethering could
potentially crash if it uses JNI. We may never have such code
though.
Instead, make every class that has a native method load the JNI
library itself at static initialization time. This guarantees
that the class will have the JNI code available in any context
(production, test, etc.)
System.loadLibrary is documented not to do anything if called
more than once with the same library name:
https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#loadLibrary(java.lang.String)
and the implementation has a lock so it is safe to call from
multiple threads concurrently.
Test: builds, boots, tethering starts
Test: atest TetheringCoverageTests
Change-Id: I9c0147ae9a28877f416aaff387b426d304ae552d
2021-02-10 15:43:38 +09:00
Lorenzo Colitti
d8f76bb096
Dump counters in "dumpsys tethering bpf". am: 4e92da06fa am: e033a1e543 am: 7081e9f184
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575051
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I7d74c663b554f5f6f1562d4e6dc2a13f67adb9c0
2021-02-10 06:19:33 +00: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
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
6281d65f61
Don't leak map fds in BpfCoordinator#dump. am: 555472a186 am: a6c9626b5d am: a47891732f
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1581523
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I7f92f0c2768775ab51018ec76feef9cab6e273c4
2021-02-09 23:43:52 +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
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
c0cdf4c0dc
Merge "offload - finish ipv4 tethering" am: 4431655a4d am: 76a663683c am: 29f8e3550b
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1562765
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I93b9040903b96f79144cb591677fed22fa9edafc
2021-02-09 13:54:08 +00: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
4431655a4d
Merge "offload - finish ipv4 tethering"
2021-02-09 11:08:06 +00:00
Lorenzo Colitti
e2cecc4349
Improve BPF tethering counters. am: 72ec3ba88a am: 66609d3f3e am: b9b629f273
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1580284
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ic04ac7bf95106f5f1b02ae360f4b90da68fe7e5a
2021-02-09 07:50:47 +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
Maciej Żenczykowski
3e6764900e
Merge changes I3fcd7eb8,I4bf2c762 am: d46b3d8ef8 am: 0681ae3e9a am: 79079db8af
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575050
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I3b105b58eb6d19f6d6b2f2120530ecd16df6a259
2021-02-09 05:02:26 +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
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
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
Martin Stjernholm
423a270abb
Revert "Don't crash Tethering service when WiFi feature is missing" am: 199641d451 am: b329062b20 am: b9e5c3b247
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575305
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I786ef0fee68b2e4310b45b63cd54286f8a168a3f
2021-02-05 15:50:01 +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
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
Tomasz Wasilczyk
dfb58b501b
Don't crash Tethering service when WiFi feature is missing am: f6a1052f4e am: 75c7cb992a am: 86be613c85
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1559422
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib9aa310a0b58b466514c5c73485093dafaa6e883
2021-02-04 15:21:00 +00: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
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
f7a4835001
Merge "Add NetdStaticLibTestsLib into TetheringCoverageTests" am: c0bae3c8c5 am: 09193eba96 am: a4863a3491
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1552317
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I051cda3ccf5b2e5fa75392e75510603575420d99
2021-02-02 05:09:17 +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
c0bae3c8c5
Merge "Add NetdStaticLibTestsLib into TetheringCoverageTests"
2021-02-02 03:38:37 +00:00
Maciej Żenczykowski
ec5f67d97e
offload - finish ipv4 tethering
...
Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com >
Change-Id: I88f14938c7c4f66190a3afa2acd9104284e27927
2021-01-27 17:54:07 -08:00
lucaslin
5dc7de221a
Add NetdStaticLibTestsLib into TetheringCoverageTests
...
Add NetdStaticLibTestsLib into Tethering MTS , so that the tests
under client-libs can also be run when running tethering MTS.
Bug: 170598012
Test: atest TetheringCoverageTests
Change-Id: Idd47becaa4254ab80b74ad5f3ddcdd4b017a5e69
2021-01-27 17:54:56 +00:00
Treehugger Robot
2b03d6d469
Merge "Dump BPF offload rules for upstream IPv4 and IPv6." am: 0f7f9b6e40 am: 959cc0be9f am: 24ee1bb6a0
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560404
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I013f36607aad1c3eab54aee8ed4526e26018129f
2021-01-27 08:50:39 +00:00
Treehugger Robot
8012b42407
Merge "merge Tether{Down,Up}stream6Value -> Tether6Value" am: 33848955b0 am: 99d1eeebff am: b33e05d475
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1561296
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I5556e301146b8fc2a70f535b034f490853a690ea
2021-01-27 08:50:01 +00:00
Treehugger Robot
24ee1bb6a0
Merge "Dump BPF offload rules for upstream IPv4 and IPv6." am: 0f7f9b6e40 am: 959cc0be9f
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560404
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I11f2ca833264943c0bab575c90b6d6ba7aca78e7
2021-01-27 08:28:28 +00:00
Treehugger Robot
b33e05d475
Merge "merge Tether{Down,Up}stream6Value -> Tether6Value" am: 33848955b0 am: 99d1eeebff
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1561296
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ieb398ac4c2eb1dcbd13391b06f6277c1a671e540
2021-01-27 08:28:04 +00:00
Treehugger Robot
0f7f9b6e40
Merge "Dump BPF offload rules for upstream IPv4 and IPv6."
2021-01-27 07:23:55 +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
61976f278f
Dump BPF offload rules for upstream IPv4 and IPv6.
...
Add code to BpfCoordinator to dump upstream IPv4 and IPv6 rules.
For IPv4, currently only the upstream map is printed, because the
downstream map is expected to be symmetrical.
Example output:
=============
21(21) -> 12(rmnet_data2) 86dd 00:00:00:00:00:00 00:00:00:00:00:00
[wlan1]: iif(iface) oif(iface) v6addr srcmac dstmac
12(rmnet_data2) 21(wlan1) /2001:240:2425:b5dc:21a9:995d:bc57:bc37 b2:b5:e0:24:21:c2 ca:06:8d:54:99:ad
[IPv4]: iif(iface) oif(iface) src nat dst
21(21) 12(rmnet_data2) 192.168.16.247:41544 -> 100.101.80.108:41544 -> 216.239.36.135:443
21(21) 12(rmnet_data2) 192.168.16.247:42028 -> 100.101.80.108:42028 -> 8.8.4.4:853
21(21) 12(rmnet_data2) 192.168.16.247:42032 -> 100.101.80.108:42032 -> 8.8.4.4:853
21(21) 12(rmnet_data2) 192.168.16.247:42042 -> 100.101.80.108:42042 -> 8.8.4.4:853
21(21) 12(rmnet_data2) 192.168.16.247:41816 -> 100.101.80.108:41816 -> 8.8.8.8:853
21(21) 12(rmnet_data2) 192.168.16.247:42040 -> 100.101.80.108:42040 -> 8.8.4.4:853
=============
Also make it possible to do "dumpsys tethering bpf" and get only
the BPF dump.
Test: manual
Change-Id: I2aaa2fdda7d724994090c26feff585f24cd3283b
2021-01-27 14:30:51 +09:00
Lorenzo Colitti
1ae9762100
Merge changes Iaac422d7,Ia7638b31 am: 0913a7a415 am: 51875f6043 am: 798f4b0e56
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560403
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I8709e14b191c55f9a650edf6dc87a84a8f5449d6
2021-01-27 04:28:11 +00:00
Maciej Żenczykowski
52c0a7f446
fix comments am: cff64c8561 am: ec92651a11 am: 08a003ab33
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1561295
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I6ed98e10a8873c6b5e86072964783313ba9de7e2
2021-01-27 04:26:17 +00:00
Lorenzo Colitti
eec343935b
Add an isEmpty convenience method to BpfMap. am: 77262cea76 am: 63585e9630 am: bb226600c1
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560402
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I4a5d933ebce3974a10a8c859b964e3f649bdd7c1
2021-01-27 04:14:29 +00:00
Lorenzo Colitti
57553791e8
Address a TODO in BpfMapTest. am: 7bf39e56e1 am: b62a70bcd2 am: a350221089
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1560401
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I867b1d0bc8d64a81c64d1909d5657e2166d1c327
2021-01-27 04:14:24 +00:00
Lorenzo Colitti
b9602938ef
Program the upstream IPv6 map in BpfCoordinator. am: 5b1ed508cf am: e9eb340e3e am: 8c49368ee2
...
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1557099
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ibb815ed4eb9a1d84b4b306aa6ab96d382c816a68
2021-01-27 04:14:23 +00:00