Commit Graph

1581 Commits

Author SHA1 Message Date
Motomu Utsumi
a20f760cd6 Use InetDiagMessage.destroyLiveTcpSocket instead of netd.socketDestroy
Netd is not updatable since it's not mainlined.
To make socket destroy code updatable, the code was re-implemented in
java and moved to Connectivity.

Bug: 270298713
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:93a2218e41384d106f1c14c239e1bf4795af43d5)
Merged-In: I5439c0c76c42a9f738a1b25a1f62e701755cbd05
Change-Id: I5439c0c76c42a9f738a1b25a1f62e701755cbd05
2023-05-10 03:15:45 +00:00
Yuyang Huang
5572568b81 [automerge] Avoid going over max service name length when renaming NSD services 2p: 34b5eeae9f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/23023746

Bug: 265865456
Change-Id: I2bb115cb4712e6aaf0a082785ec272061dc68cf0
Merged-In: I077d8abdb91071db62b9618d9918e3a12682aaf4
2023-05-08 08:22:43 +00:00
Yuyang Huang
34b5eeae9f Avoid going over max service name length when renaming NSD services
As per  RFC 1034/1035, the max size of the label is 63 bytes. It should
also be guaranteed when the serviceName is renamed due to the conflict.

Bug: 265865456
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:de802c8dc4f59735730fc24b0ca05a73f92e4bb5)
Merged-In: I077d8abdb91071db62b9618d9918e3a12682aaf4
Change-Id: I077d8abdb91071db62b9618d9918e3a12682aaf4
2023-05-08 08:22:34 +00:00
TreeHugger Robot
6ad488296a Merge "Test the encap/timeout for the VCN" into udc-dev 2023-05-02 06:08:40 +00:00
Yuyang Huang
961b0dd155 Merge "Refactor the ISocketNetLinkMonitor to AbstractSocketNetlink" into tm-mainline-prod 2023-05-02 03:02:58 +00:00
Yuyang Huang
050b246600 Merge changes from topic "cherrypicker-L55500000960281927:N08100001362972784" into udc-dev
* changes:
  [automerge] Refactor the ISocketNetLinkMonitor to AbstractSocketNetlink 2p: 46ab01cce9
  Refactor the ISocketNetLinkMonitor to AbstractSocketNetlink
2023-05-02 03:02:58 +00:00
Chalard Jean
121ea1cc68 Test the encap/timeout for the VCN
Bug: 269715746
Test: VpnTest
(cherry picked from https://android-review.googlesource.com/q/commit:12740c9ff0ec53da1613f5949ab37d93d6e4ff88)
Merged-In: I8e5e7a7eb09ee4d2e0a88193c5a6b1f0580d5eb8
Change-Id: I8e5e7a7eb09ee4d2e0a88193c5a6b1f0580d5eb8
2023-05-01 09:55:56 +00:00
TreeHugger Robot
227c350807 Merge changes from topic "empty-mac-onwakeupEvent" into udc-dev
* changes:
  Add some tests for packet wakeup logging changes
  Enable wakeup marking for Cellular transport
2023-04-28 21:06:43 +00:00
Suprabh Shukla
619549f37c Add some tests for packet wakeup logging changes
Cellular networks are now supported for marking wakeup packets. As a
result onWakeupEvent now also reports data relevant to the cell
transport.

These unit tests should add coverage for these new behaviors.

Test: atest FrameworksNetTests

Bug: 276498460
Change-Id: I0b8a03fff6255e067b736f3dbfb53de56420f90b
Merged-In: I0b8a03fff6255e067b736f3dbfb53de56420f90b
2023-04-27 19:25:13 -07:00
Yuyang Huang
46ab01cce9 Refactor the ISocketNetLinkMonitor to AbstractSocketNetlink
Test: atest CtsNetTestCases FrameworksNetTests
Bug: 279692201
(cherry picked from https://android-review.googlesource.com/q/commit:508e508ca63ce5449929343f28a99788fe7cfb0e)
Merged-In: Ie07603ea51dda1ffdeb15f753bda7892d9137766
Change-Id: Ie07603ea51dda1ffdeb15f753bda7892d9137766
2023-04-28 02:10:24 +00:00
Paul Hu
9d9ae4d2a1 Add MdnsServiceCache
Currently, the mDns discovery services will clear if no listener
registers to that MdnsServiceTypeClient. If an app does discover,
stop discover, resolve, at this point the listener was
unregistered, so the MdnsServiceTypeClient was deleted, and the
service is gone from cache. So this will actually restart
discovery without returning previous results from cache. Thus,
add MdnsServiceCache to store all services and reduce the
duplicated queries.

Bug: 265787401
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:ade3f459561f7dd2e1e66f82111c4e0e33fd3a4a)
Merged-In: If3d4eb4e3dc5455f6f97cb782aa1b99b2a00f6e0
Change-Id: If3d4eb4e3dc5455f6f97cb782aa1b99b2a00f6e0
2023-04-27 08:14:17 +00:00
Treehugger Robot
47b95be1c9 Merge "Make lingering delay 2000ms in testMultipleLingering" 2023-04-25 09:11:42 +00:00
Chalard Jean
aeadd47abc Make lingering delay 2000ms in testMultipleLingering
Phenotype is updating the flags while this test is running
and this DoS'es the device to such an extent that the test
process doesn't get the CPU for more that 300ms. That lets
the lingering timeout run its course and fails the test.

This won't necessarily fix all flakes (after all, if
Phenotype hogs the CPU for 2 seconds the same issue will
continue to happen), but it should help.

Bug: 277555492
Test: FrameworksNetTests
Change-Id: I78ab1573974427b10dd557c011fbbf64942fd09f
2023-04-25 16:16:48 +09:00
Hansen Kurli
22a0120260 Merge changes I727849fa,If31ccbc7
* changes:
  Refactor buildKeepaliveMetrics to return DailyKeepaliveInfoReported
  Create KeepaliveStatsTracker for Duration metrics.
2023-04-24 04:03:09 +00:00
Paul Hu
700de306ef Merge changes from topic "revert-2542434-revert-2535219-TAMNEZLAHT-VPTOBCYDEB"
* changes:
  Revert^2 "Put client logs into SharedLog and dump more logs"
  Revert^2 "Record Advertiser history logs for better debugging"
  Revert "Revert "Record SocketProvider history logs for better de..."
  Revert "Revert "Record DiscoveryManager history logs for better ..."
2023-04-21 14:35:45 +00:00
chiachangwang
3dcfdd0642 Remove unnecessary mocking in tearDown
The setup for the mocking object will be reset when each test
finishs the test. Reset the mocking value is actually no-op
but cause possible threading issue in Mokito.

Bug: 278979735
Test: atest com.android.server.connectivity.VpnTest \
      --rerun-until-failure 100
Change-Id: Ib8c3813e5dbcc9b7432a5548766d63e400b4ed0e
2023-04-20 09:43:40 +00:00
Paul Hu
51ff70d98e Revert^2 "Record Advertiser history logs for better debugging"
5f558683b3

Change-Id: I4292f3b8ecdfbcf90978cb2d27392802701c36c1
2023-04-18 14:52:19 +08:00
Paul Hu
24913d0e80 Revert "Revert "Record DiscoveryManager history logs for better ..."
Revert submission 2542434-revert-2535219-TAMNEZLAHT

Reason for revert: Prepare a fix for the original topic

Reverted changes: /q/submissionid:2542434-revert-2535219-TAMNEZLAHT

Change-Id: I718418e4499784255b177622e3c08a82d0b24640
2023-04-18 14:50:31 +08:00
Paul Hu
f0f83b6fc3 Merge changes from topic "revert-2535219-TAMNEZLAHT"
* changes:
  Revert "Record DiscoveryManager history logs for better debugging"
  Revert "Record SocketProvider history logs for better debugging"
  Revert "Record Advertiser history logs for better debugging"
  Revert "Put client logs into SharedLog and dump more logs"
2023-04-18 02:53:21 +00:00
Paul Hu
2f0e914375 Revert "Record DiscoveryManager history logs for better debugging"
Revert submission 2535219

Reason for revert: Build break

Reverted changes: /q/submissionid:2535219

Change-Id: I9c8486e95e0b28ec4206d1e69858ab401888895a
2023-04-18 02:45:34 +00:00
Paul Hu
5f558683b3 Revert "Record Advertiser history logs for better debugging"
Revert submission 2535219

Reason for revert: Build break

Reverted changes: /q/submissionid:2535219

Change-Id: I19496223d6f54120c17d690fd760e6743e3877b8
2023-04-18 02:45:34 +00:00
Paul Hu
0b39135e3e Merge changes I41743f47,I22577615,I46f806a8,Icaa1df2e
* changes:
  Put client logs into SharedLog and dump more logs
  Record Advertiser history logs for better debugging
  Record SocketProvider history logs for better debugging
  Record DiscoveryManager history logs for better debugging
2023-04-18 01:14:39 +00:00
Treehugger Robot
8a54f204d6 Merge "Only send resolve callbacks for subscribed service" 2023-04-17 13:16:15 +00:00
Jean Chalard
52c215bbc7 Merge "Cleanup : don't mix seconds and milliseconds in retry delays" 2023-04-17 10:01:56 +00:00
Remi NGUYEN VAN
8a41185ce6 Only send resolve callbacks for subscribed service
Resolve callbacks should only be sent for the service name that was
requested.

Bug: 267570781
Test: atest MdnsServiceTypeClientTests
Change-Id: I3d8eb5c06bcf54312e20a39b8575555d40528bca
2023-04-17 18:55:36 +09:00
Hansen Kurli
c25133a38b Refactor buildKeepaliveMetrics to return DailyKeepaliveInfoReported
This also updates the tests and prepares them to assert the other fields
of DailyKeepaliveInfoReported. Currently, only DurationPerNumOfKeepalive
is asserted.

Bug: 273451360
Test: atest FrameworksNetTests
Change-Id: I727849fa8a08d66fe276909b353a75861c23d775
2023-04-17 08:15:28 +00:00
Hansen Kurli
a27bc2c913 Create KeepaliveStatsTracker for Duration metrics.
Create a new class to store duration metrics of AutomaticOnOffKeepalives
for the DurationPerNumOfKeepalive proto.
This tracks the duration of time that the AutomaticOnOffKeepaliveTracker
contains a given number of concurrent keepalives and the duration of
time that it contains a given number of active concurrent keepalives.

Bug: 273451360
Test: atest FrameworksNetTests
Change-Id: If31ccbc7b02e6ad3ff1646e92e55ca7c8662e47c
2023-04-17 08:14:29 +00:00
Paul Hu
1571df639a Record Advertiser history logs for better debugging
Log:
  2023-04-12T20:00:18.100961 - Removing service with ID 2
  2023-04-12T20:00:17.173904 - [wlan0] Probing finished for service 2
  2023-04-12T20:00:17.147089 - [testtap1] Probing finished for service 2
  2023-04-12T20:00:17.074575 - [testtap0] Probing finished for service 2
  2023-04-12T20:00:16.249636 - Adding service name: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試, type: _nmt950580894._tcp, hostAddresses: , port: 12345, network: null, txtRecord:  with ID 2

Test: atest FrameworksNetTests android.net.cts.NsdManagerTest
Bug: 275004614
Change-Id: I22577615b0b2c212c0a4349a06ef3c75239a5651
2023-04-17 15:38:28 +08:00
Paul Hu
d74697aa96 Record DiscoveryManager history logs for better debugging
Log:
  2023-04-17T15:05:28.428369 - Unregistering listener for serviceType:_nmt274981618._tcp.local
  2023-04-17T15:05:28.228777 - [_nmt274981618._tcp.local-102] onServiceFound: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試
  2023-04-17T15:05:28.227786 - [_nmt274981618._tcp.local-102] onServiceNameDiscovered: ^Nsd.Test|Non-#AsCiI\Characters&\ufffe テスト 測試
  2023-04-17T15:05:27.409364 - createServiceTypeClient for serviceType:_nmt274981618._tcp.local network:103
  2023-04-17T15:05:27.409104 - createServiceTypeClient for serviceType:_nmt274981618._tcp.local network:102
  2023-04-17T15:05:27.407701 - createServiceTypeClient for serviceType:_nmt274981618._tcp.local network:101
  2023-04-17T15:05:27.398075 - Registering listener for serviceType: _nmt274981618._tcp.local

Test: atest FrameworksNetTests android.net.cts.NsdManagerTest
Bug: 275004614
Change-Id: Icaa1df2e7019e5cce1b4eca7edcb4a761b7b20cf
2023-04-17 15:30:42 +08:00
Jean Chalard
2c930437e9 Merge "Test that VPN lockdown restarts the VPN agent." 2023-04-17 05:38:54 +00:00
Jean Chalard
ca35653803 Merge "Add test for updating IKE about IP address changes" 2023-04-17 05:36:35 +00:00
Jean Chalard
6213d571a8 Merge "Adjust tests for delay in restarting/migrating IKE" 2023-04-17 05:35:21 +00:00
Chiachang Wang
2cf6b2c4fd Merge "Separate events usage for starting socket keepalives" 2023-04-17 02:32:00 +00:00
Chiachang Wang
baefd61455 Merge "Fix inexact argument type warning" 2023-04-17 01:48:31 +00:00
Yuyang Huang
885854c9ee Merge "Handle downstream tethering interface addresses in MdnsSocketProvider" 2023-04-16 00:52:28 +00:00
Yuyang Huang
700778be70 Handle downstream tethering interface addresses in MdnsSocketProvider
MdnsSocketProvider currently does not fill addresses of downstream
tethering interfaces in its callbacks. The interface addresses should be
properly updated by listening to the Netlink messages.

Test: atest FrameworksNetTests CtsNetTestCases
Bug: 267980538
Change-Id: I753e547a1b092703fe59c6c9e922ee8aca245f67
2023-04-15 21:55:51 +09:00
Junyu Lai
9d25241337 Merge changes from topic "statsaccess"
* changes:
  Check MAINLINE_NETWORK_STACK as well to make GTS can access proper stats
  Move checkAnyPermissionOf to PermissionUtils
2023-04-14 09:54:49 +00:00
chiachangwang
f1b1fb4b7f Separate events usage for starting socket keepalives
This is a clean up commit to correct the javadoc of
NetworkAgent.CMD_START_SOCKET_KEEPALIVE. This event was used
between ConnectivityService/NetworkAgent, and also
ConnectivityService/KeepaliveTracker with different semantics.
This may confuse the developers to update the doc incorrectly,
so also separate the usage to different events.

Also move the event definitions together so that a new event
definition will not mis-use the existing values.

Test: atest FrameworksNetTests
Change-Id: I73ebd8abcc610531da3057da2d643a41befb2099
2023-04-14 07:43:56 +00:00
Chalard Jean
23197121a1 Test that VPN lockdown restarts the VPN agent.
Bug: 246162564
Test: atest FrameworksNetTests:VpnTest
Change-Id: I35f08bf263cec19bbfb1d656d1d89dbb0acf8944
2023-04-14 16:38:19 +09:00
Chalard Jean
7afb623223 Cleanup : don't mix seconds and milliseconds in retry delays
Test: VpnTest
Change-Id: I5ceda621ba96549a514ec98176b799e246e6d9a5
2023-04-14 13:05:34 +09:00
Chalard Jean
2b9bcb7830 Add test for updating IKE about IP address changes
Bug: 269715746
Test: VpnTest
Change-Id: I2c3a7f0f0af193b5497beaff38d54a80020a7aa0
2023-04-14 12:22:46 +09:00
Chalard Jean
9d85c7aa4c Adjust tests for delay in restarting/migrating IKE
This patch only adjusts the existing tests for the change
in the companion patch. Actual tests will come as a followup
because this patch is already big enough.

Test: VpnTest
Bug: 269715746
Change-Id: I65542a8f4151b4857f1b3758b2cae887bfbfe261
2023-04-14 12:22:46 +09:00
chiachangwang
25c74bd250 Fix inexact argument type warning
Assign the corresponding VpnProfileState for the null argument.

The varargs parameter has type "VpnProfileState...".  It needs
to decide whether the implementation want the argument to be
treated as a single-element of type VpnProfileState or no
arguement. Otherwise, it will confuse the compiler and cause
warning.

Test: atest VpnTest
Change-Id: Ic1dee696bb50cd78849de4812fb46fd764b23c6e
2023-04-14 01:58:18 +00:00
Treehugger Robot
5864b59462 Merge "Include/exclude mDNS interfaces based on transport" 2023-04-12 05:28:02 +00:00
Remi NGUYEN VAN
145b16cb5a Include/exclude mDNS interfaces based on transport
Regardless of IFF_MULTICAST (and IFF_BROADCAST), always include wifi
transport interfaces, and always exclude cellular transport interfaces.

Some interfaces do not have the multicast or broadcast flag set
properly. Use the transport to determine whether to use them, rather
than the interface flags.

Bug: 268138840
Test: atest MdnsSocketProviderTest
Change-Id: Idbddfa9d2cc05ce1850786aa634da4c38afd3fc0
2023-04-12 12:43:00 +09:00
Maciej Żenczykowski
b548e191de bpf network stats - remove dead code
only the test code ever passes in anything that isn't
a limit {UID_ALL, INTERFACES_ALL, TAG_ALL} (ie. no limit)

Test: TreeHugger, atest libnetworkstats_test FrameworksNetTests
Bug: 276296921
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ida489f25c4da4b12541c6001b41d9e4b30804eff
2023-04-11 19:24:28 +00:00
Junyu Lai
e68c42b888 Check MAINLINE_NETWORK_STACK as well to make GTS can access proper stats
Follow up from aosp/1933093. The test failed because certain
devices use a flattened apex that lacks the NETWORK_STACK
permission for sharing with the GTS apk.
Additionally, the NetworkStatsAccess does not recognize the
GTS apk, which holds the MAINLINE_NETWORK_STACK permission.

Test: TH
Bug: 275532605
Change-Id: Icce80a3d3dbea4a84fbd369d9b5fbe0029ab463e
2023-04-11 14:56:15 +08:00
Yuyang Huang
cf55b1ba5f Merge "Avoid creating a Network with INetd.LOCAL_NET_ID" 2023-04-05 08:21:56 +00:00
Yuyang Huang
3bee9d4099 Avoid creating a Network with INetd.LOCAL_NET_ID
INetd.LOCAL_NET_ID cannot be referred to by system SDK. To make the
MdnsSocketProvider built with system SDK, the reference to
INetd.LOCAL_NET_ID must be removed.

This network is created in MdnsSocketProvider.java and propagated
through MdnsSocketProvider.java -> MdnsMultinetworkSocketClient.java ->
MdnsDiscoveryManager.java -> MdnsServiceTypeClient.java ->
NsdService.java. In NsdService.java, it was used in
handleMdnsDiscoveryManagerEvent() -> buildNsdServiceInfoFromMdnsEvent()
-> setServiceNetworkForCallback(). The setServiceNetworkForCallback() is
updated to handle the NETID_UNSET the same as LOCAL_NET_ID.

Test: atest CtsNetTestCases FrameworksNetTests
Bug: 272392042
Change-Id: I07c573948e9dc6249325f0733807bb7a7ffc281c
2023-04-05 13:06:13 +09:00
Junyu Lai
2c12f922de Do not crash when passing null into buildTemplateMobileAll
Test: atest FrameworksNetTests:android.net.connectivity.android.net.NetworkTemplateTest
Test: atest FrameworksNetTests:android.net.connectivity.android.net.netstats.NetworkTemplateTest
Bug: 273963543
Change-Id: I0a8f94df124147e92d35cf474b3d69d1dee6902c
2023-03-30 13:59:02 +08:00