Commit graph android_packages_modules_Co.../staticlibs/device
Message SHA1
Merge "Create CommonConnectivityJni to share between modules" into main
Patrick Rohr   authored and   Android (Google) Code Review   commited 2025-07-24 09:56:39 -07:00
0e5defc1e9
Create CommonConnectivityJni to share between modules
Flag: EXEMPT mainline
Test: TH
Change-Id: Ia85dfd3d979803baca9e971d1083f54dff46de53

Jimi Chen   commited 2025-07-23 05:47:12 +00:00
e5a4e6b0ba
Use Log.e for procfs file read errors
Log.wtf implies a catastrophic, unrecoverable failure. Failures to read
procfs files (e.g., due to permissions or non-existence) are better
represented by Log.e as they are often recoverable or expected under
certain conditions, and not always indicative of a fatal application state.

Flag: EXEMPT mainline
Bug: 429012888
Test: TH
Change-Id: I717d46d4c3802ac478e80d2a9dd28c79a9ebc5f7

Jimi Chen   commited 2025-07-18 06:11:15 +00:00
83298a7b5d
Ignore RtNetlinkMessage with null or empty interface names
This patch checks if interface name is null or empty for
RtNetlinkMessage and ignores the message if it is.

Bug: 429497348
Test: build
Flag: EXEMPT bugfix
Change-Id: I6000f5442f341f152b7fbd235affded0fa56fe50

Chuwei He   commited 2025-07-15 18:43:07 -07:00
16c8fd1166
Merge "Pass bluetoothUseRandomAddress via RoutingCoordinator constructor" into main
Motomu Utsumi   authored and   Android (Google) Code Review   commited 2025-07-14 22:47:19 -07:00
1cdb0a5609
Pass bluetoothUseRandomAddress via RoutingCoordinator constructor
This refactoring changes how the bluetoothUseRandomAddress flag is
accessed.

PrivateAddressCoordinator is in a library used by multiple mainline
modules(Tethering, NetworkStack, CaptivePortal, WiFi) and cannot
directly read a Tethering mainline beta flag.

To fix this, the flag's value is now passed down through constructors.

An alternative solution would be to split the Java library for each module,
but with this solution, a single utility class cannot be shared.

This commit is a no-op as the passed value is hardcoded to false.

Test: TH
Flag: EXEMPT refactor
Bug: 287177081
Change-Id: I5f2174ee94b55e7a7298b9742221d6e6c3c5cac5

Motomu Utsumi   commited 2025-07-15 11:20:01 +09:00
323d22a497
Remove wrong comment
Test: TH
Flag: EXEMPT comment only change
Change-Id: Ifba2528aaa9bfb1ecdd982462f451d92bbd85cf2

Yuyang Huang   commited 2025-07-14 08:56:35 -07:00
75cf08972f
Merge "Optionally remove legacy bluetooth tethering address cache on T+" into main
Lorenzo Colitti   authored and   Android (Google) Code Review   commited 2025-06-26 03:33:56 -07:00
5eaf3aab02
Optionally remove legacy bluetooth tethering address cache on T+
After T, Bluetooth tethering could use a random address. But if we keep
putting the legacy Bluetooth address in the cache, the coordinator will
always assign the legacy address first until it runs into a conflict.

This change in itself does not do anything. Once we have a
trunk-stable namespace for mainline beta, we will add a flag for
this change, and check the flag in PrivateAddressCoordinator.

Bug: 287177081
Test: new unit tests
Flag: EXEMPT no behaviour changes
Change-Id: I56810b5b0e1098a5f89cbb1ad665d2b8652e860c

Yuyang Huang   authored and   Lorenzo Colitti   commited 2025-06-26 15:14:47 +09:00
acd7366b65
DHCPv6 addr reg: remove the mAddrRegEnable member.
For the current implementation we don't use the addr reg option yet, so
remove it.

Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: I91a6a81010f11ad2e7db48ed10e777bc42d002d5

Xiao Ma   commited 2025-06-19 11:16:49 +09:00
a915249504
DHCPv6 addr reg: get the DHCPv6 message type.
Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: If072a5bce0c8516af3fa4f7f9b63137de86b7500

Xiao Ma   commited 2025-06-19 11:15:29 +09:00
307112f889
DHCPv6 addr reg: add a function helper to create ADDR_REG_REPLY message.
Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: I1c48ebba71bd49d0164442929d3c5eb9fa96ac90

Xiao Ma   commited 2025-06-19 11:15:29 +09:00
cfa1f11bad
DHCPv6 addr reg: add ADDR_REG_REPLY packet class.
Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: I389fe6c54da3d4443d85b6fa87f915aa6809d21e

Xiao Ma   commited 2025-06-19 11:15:24 +09:00
64baf9aba5
DHCPv6 addr reg: add a function helper to create ADDR_REG_INFORM message.
Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: I6699b1479eec0958610b533af135f163681438df

Xiao Ma   commited 2025-06-19 11:12:59 +09:00
270672310e
DHCPv6 addr reg: build an IA Address option inside Dhcp6AddrRegInform.
Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: Ia16ba2b5ca9af3810506548085c995eed172b772

Xiao Ma   commited 2025-06-19 11:12:46 +09:00
8b1f9c1772
Merge "Remove the unused param id from the IaAddressOption#build API." into main
Patrick Rohr   authored and   Android (Google) Code Review   commited 2025-06-12 17:05:50 -07:00
b75ee7c26a
Remove the unused param id from the IaAddressOption#build API.
Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: I524011cafd2bd97c0064b09d2bb80cb59b709bb1

Xiao Ma   commited 2025-06-12 11:47:53 +09:00
4e68970347
Merge "Add getInterfaceMtu method in ProcfsParsingUtils" into main
Jimi Chen   authored and   Android (Google) Code Review   commited 2025-06-10 00:31:57 -07:00
b91b3afcd0
Merge "Replace String.split() with precompiled regex" into main
Treehugger Robot   authored and   Android (Google) Code Review   commited 2025-06-09 21:15:55 -07:00
8f93c27ff9
Add getInterfaceMtu method in ProcfsParsingUtils
Flag: EXEMPT mainline
Bug: 406085682
Test: atest NetworkStackTests:com.android.networkstack.util.ProcfsParsingUtilsTest
Change-Id: I62e129c3903e0c432f4a4d84c7024cfb4e140dd5

Jimi Chen   commited 2025-06-10 03:07:10 +00:00
991a628dfe
Add native call to retrieve driver name via ethtool API
This adds a JNI function to retrieve an interface's driver name via
ethtool API, which will be used to identify USB NCM interfaces.

Unfortunately, SIOCETHTOOL (ETHTOOL_GDRVINFO in particular) does not
allow passing in the interface index, meaning that this operation is
racy, i.e. the interface might have been replaced when
getDriverNameForInterface() is called.

SICOETHTOOL is slowly being replaced by a netlink alternative that
allows querying by interface index but, unfortunately, does not support
ETHTOOL_GDRVINFO yet.

Test: verified manually; automated test will be added shortly.
Flag: EXEMPT mainline
Bug: 1000001
Change-Id: I8bec47e36a607e7d8fe2fac2eebcd8dff0360a02

Patrick Rohr   commited 2025-06-09 14:54:38 -07:00
0eaec731ec
Replace String.split() with precompiled regex
String.split() will allocate and compile the given regex on every call.
The networkstack process spends 2.8% of cycles doing this.

https://pprof.corp.google.com/?id=%2Fcns%2Fpf-d%2Fhome%2Fandroid-telemetry-pitot-pprof-prod-data-owner%2Fstack_sampling_pprof%2F2025-06-07%2Fstack-sampling-pprof-6187fab4-56da-4842-b9c3-9d8db45801d1.pb.gz&metric=samples&filter=hide:%255Enterp_helper%2524,focus:regex%257Csplit&pivot=com.android.networkstack.com.android.net.module.util.ProcfsParsingUtils

I randomly noticed this while looking at CPU profiles.

Flag: EXEMPT refactor
Test: ApfFilterTest and any others that may be exercising the code
Change-Id: I811c0e8982a87d10fedcda93379b08e8ab38a11b

Shai Barack   commited 2025-06-07 19:46:06 -07:00
7c0faeeb68
DHCPv6 addr reg: parse IA Address option.
Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: I29d201a69af220af00deb9e1b1d0c1253faa6200

Xiao Ma   commited 2025-06-06 14:37:50 +09:00
a129f4c5cd
Merge "DHCPv6 addr reg: add ADDR_REG_INFORM packet class." into main
Patrick Rohr   authored and   Android (Google) Code Review   commited 2025-06-04 19:56:10 -07:00
d5bb7759e4
Merge changes I5405d71d,I0d3173a6,I1e6e17fa,I94540b6e,I635031bb into main
* changes:
  Pass EthernetPort into maybeTrackInterface
  Move trackAvailableInterfaces into EthernetNetlinkMonitor
  Change trackAvailable to trigger GETLINK dump
  Remove tests which are covered by EthernetManagerTest
  Test EthernetTracker#trackAvailableInterfaces

Treehugger Robot   authored and   Android (Google) Code Review   commited 2025-06-04 13:35:09 -07:00
8ca981193d
Change trackAvailable to trigger GETLINK dump
Instead of calling NetworkInterface#getNetworkInterfaces() (which calls
getifaddrs() and triggers an RTM_GETLINK dump request), trigger the
RTM_GETLINK dump request in EthernetTracker directly. The resulting
RTM_NEWLINK messages will be processed by the NetlinkMonitor callback.

This means that there will be a single entry point for link tracking
which contains all required information (ifindex, ifname, mac).

This change also makes the behavior of EthernetTracker more correct.
Previously, the interface list was retrieved out-of-band from
EthernetNetlinkMonitor. This means that it was possible for an
RTM_NEWLINK to be queued at the same time as #getNetworkInterfaces() was
called. In that case, #getNetworkInterfaces() returns up-to-date
information and is processed before the queued RTM_NEWLINK event with
the now outdated information.

The new code retrieves all information on a single netlink socket and
processes them in order on the same handler thread.

Test: TH
Flag: EXEMPT mainline
Bug: 1000001
Change-Id: I1e6e17fa4eb3dd8fe308fd54c2bb16a8ad36dc43

Patrick Rohr   commited 2025-06-04 11:17:10 -07:00
5fd68b6785
DHCPv6 addr reg: add ADDR_REG_INFORM packet class.
Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: I74c3412238377454d914c1b550f000621be411e7

Xiao Ma   commited 2025-06-04 11:43:26 +09:00
e3ac6c4c95
DHCPv6 addr reg: add IA Address option id (5).
ADDR_REG_INFORM and ADDR_REG_REPLY message will take this option to
represent the IPv6 address to be registered.

Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: Ib4b86069dfb504cee948ef3880ccf1ee8ea5d5b9

Xiao Ma   commited 2025-06-04 11:36:25 +09:00
816ad97d61
Merge "DHCPv6 addr reg: add ADDR_REG_INFORM and ADDR_REG_REPLY message types." into main
Xiao Ma   authored and   Android (Google) Code Review   commited 2025-06-01 17:23:12 -07:00
bb47bc9433
DHCPv6 addr reg: add ADDR_REG_INFORM and ADDR_REG_REPLY message types.
Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: If2b30265c45e3a57c867fd7ba1df5f4245a37b35

Xiao Ma   commited 2025-05-30 16:51:55 +09:00
eb1cc9441c
Add socket destroying methods to InetDiagMessage.
Add socket destroying methods by address and permission to InetDiagMessage
to move that functions to ConnectivityService from Netd.

Bug: 373280981
Bug: 331139818
Flag: android.net.platform.flags.connectivity_service_destroy_socket
Test: atest NetworkStaticLibTests
Test: device test
Change-Id: I3c2136df5dfd618d1c757c07bce2b4211b807237

Sewook Seo   commited 2025-05-27 01:35:49 +00:00
45163857b2
NetlinkUtils: bump dump socket recv buffer size to 1MiB
Bump up buffer to 1M to avoid overflow.

Bug: 409212357
Test: TreeHugger
Flag: EXEMPT mainline/trivial
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I6ccca6c577fda080067a9cf8a8efae064ed6df51

Maciej Å»enczykowski   commited 2025-05-19 10:49:03 -07:00
d9b2cf9be0
Merge "DHCPv6 addr reg: parse OPTION_ADDR_REG_ENABLE option." into main
Treehugger Robot   authored and   Android (Google) Code Review   commited 2025-05-14 19:16:54 -07:00
1b2f537953
Merge "DHCPv6 addr reg: add OPTION_ADDR_REG_ENABLE option code." into main
Xiao Ma   authored and   Android (Google) Code Review   commited 2025-05-14 19:12:51 -07:00
a2aaa0bd87
DHCPv6 addr reg: parse OPTION_ADDR_REG_ENABLE option.
Check if the received DHCPv6 message has included this option, if so,
that indicates the DHCPv6 server supports the address registration.

Flag: EXEMPT guarded by an legacy experiment flag
Bug: 293393743
Test: TH
Change-Id: I04370b58e26c09ef764d92d3e211b9619b528cf0

Xiao Ma   commited 2025-05-14 17:32:01 -07:00
f3aa20f112
Merge "Change creation methods in RtNetlinkLinkMessage to take index(1/2)" into main
Chuwei He   authored and   Android (Google) Code Review   commited 2025-05-14 00:15:03 -07:00
38f66bdf9b
DHCPv6 addr reg: add OPTION_ADDR_REG_ENABLE option code.
Flag: EXEMPT define an option code constant
Bug: 293393743
Test: TH
Change-Id: Ib8b33b3c8ef9c568e1e0ef3b7f84d716ae53f130

Xiao Ma   commited 2025-05-14 15:46:19 +09:00
9ace2bc8d1
Change creation methods in RtNetlinkLinkMessage to take index(1/2)
Currently methods to create netlink message in RtNetlinkLinkMessage
take interface name, while interface index is a more deterministic way
to define an interface.

This patch changes these methods from taking interface name to taking
interface index.

Bug: 404378068
Test: NetworkStaticLibTests
Flag: EXEMPT mainline
Change-Id: I0754ee53eb0160e67f24e36340abf91b1e87d0e7

Chuwei He   commited 2025-05-13 12:06:54 +09:00
b1110454bb
Merge "Require DnsResolver M-2025-07 for DDR" into main
Treehugger Robot   authored and   Android (Google) Code Review   commited 2025-05-08 17:40:37 -07:00
72f502bbe9
s/IaId/Iaid/ for consistency
rfc8415 calls it IAID, not IA_ID.

Test: TH
Flag: EXEMPT mainline
Bug: 1000001
Change-Id: I449ef74e279a832f974d1780e10f3636e7bdaf34

Patrick Rohr   commited 2025-05-05 12:42:51 -07:00
297945d661
Remove spurious VisibleForTesting annotation
Test: TH
Flag: EXEMPT mainline
Bug: 1000001
Change-Id: I5104b4875159bb9df6a380c846ec01be67a82d2c

Patrick Rohr   commited 2025-05-02 09:07:03 -07:00
9796d817a8
Expose a getter for mStatusCode
So it is accessible by the test.

Test: TH
Flag: EXEMPT mainline
Bug: 1000001
Change-Id: Ibc30ede2e6a21e33ad3b4d7f21d03aba54a121ba

Patrick Rohr   commited 2025-05-01 11:16:41 -07:00
a2a1295adc
Add Dhcp6*Packet classes to net-utils-networkstack
Test: TH
Flag: EXEMPT mainline
Bug: 1000001
Change-Id: Ica554c27a648095a23331a9d93cc6bbbcf572cec

Patrick Rohr   commited 2025-05-01 11:16:41 -07:00
f5e80bfb70
Move Dhcp6*Packet.java to staticlibs
For use in tests. This CL won't build by itself

mv NetworkStack/src/android/net/dhcp6/Dhcp6*Packet.java \
Connectivity/staticlibs/device/com/android/net/module/util/dhcp6

Test: TH
Flag: EXEMPT mainline
Bug: 1000001
Change-Id: Ie072f2f20ecfbf23f77606dd064e0f6fbd7c2232

Patrick Rohr   commited 2025-05-01 11:16:41 -07:00
1ff7c3ef71
Adding IpAddress Struct type to store ip v4 and v6 addresses.
IPv4 addresses will be converted as v4-mapped-v6 address while
writting it to byte form. v4-mapped-v6 addresses in byte form will be
parsed to Inet4Address while converting it back.

Bug: 392509494
Test: atest NetworkStaticLibTests:com.android.net.moduletests.util.StructTest
Flag: EXEMPT refactor
Change-Id: Ia906d2cae7bb7402ff937da267c2552431b2d0f7

Sarup Dalwani   commited 2025-04-30 07:42:25 -07:00
746540b874
Require DnsResolver M-2025-07 for DDR
The DnsResolver needs to support FLAG_TRY_ALL_SERVERS, so this limits
the feature to devices having a new enough version of the resolver.

Test: atest
Bug: 240259333
Flag: EXEMPT legacy flag dns_ddr_version
Change-Id: I30fd55c9c2863857ca477b738ace88712ca01be3

Remi NGUYEN VAN   commited 2025-04-30 18:26:55 +09:00
6f04bb0ef4
Replace Message with related arguments in RealtimeScheduler
This change ensures that the Message object is created and
obtained within RealtimeScheduler, preventing modification
by the caller.

Fix: 386274963
Test: atest ConnectivityCoverageTests NetworkStaticLibTests
Flag: EXEMPT bug fix
Change-Id: I4c919857bcaa2d49717859dca9c88a243cbb7a41

Paul Hu   commited 2025-04-22 01:45:13 -07:00
1dea0d630e
Move ProcfsParsingUtils to staticlibs
net-utils-device-common says:

This library shouldn't be used anymore (no class should be added), and
per-user libraries like net-utils-service-connectivity or
net-utils-framework-wifi should be used instead.

Therefore, this patch adds a new net-utils-networkstack.

Test: TH
Flag: EXEMPT mainline
Bug: 1000001
Change-Id: I8073ea019a9c306ce75424303e8a30bb39580b29

Patrick Rohr   commited 2025-04-11 15:11:33 -07:00
259c0b4f66
Enable TETHER_FORCE_RANDOM_PREFIX_BASE_SELECTION by default
Since the feature was fully rolled out via experiment without
regression, this commit replaced with a
kill switch.

Flag: EXEMPT refactor
Test: atest ConnectivityCoverageTests:PrivateAddressCoordinatorTest
Fix: 312647670
Fix: 406955982
Change-Id: I18adcca45fa5f698adc80cea044d8006de097977

Junyu Lai   commited 2025-03-31 02:48:52 -07:00
db75d68801
Revert "Enable TETHER_FORCE_RANDOM_PREFIX_BASE_SELECTION by default on 25Q2+"
This reverts commit 44f2eb6e42.

Reason for revert: Networking mainline release council review feedback at b/406955982

Flag: EXEMPT bugfix
Test: TH
Bug: 406955982
Change-Id: I89bc8f5863c3acb72b5c4af5aadc40d34f2380ce

Junyu Lai   commited 2025-03-31 14:51:42 +08:00
121a4f90ba