Commit Graph

793 Commits

Author SHA1 Message Date
Motomu Utsumi
e441f7025c Merge "Move cookie tag bpf map dump to NetworkStatsService" 2022-08-03 07:43:13 +00:00
Aaron Huang
28a690dc79 Merge "Fix flaky testNotifyNoInternetAsDialogWhenHighPriority" 2022-08-03 02:22:55 +00:00
Treehugger Robot
7dce599f42 Merge "Update VpnTest to use VpnNetworkAgentWrapper" 2022-08-02 12:08:13 +00:00
Motomu Utsumi
cedfab91c6 Move cookie tag bpf map dump to NetworkStatsService
Map status dump will do access check if map is null.
This could show different message from the current dump output.

Information in map content dump does not change
$ dumpsys connectivity trafficcontroller
....
      mCookieTagMap:
      cookie=1398 tag=0x0 uid=1029
      cookie=1433 tag=0xffffff82 uid=1051
      cookie=1166 tag=0xfffffe01 uid=1073

$ dumpsys netstats
....
  mCookieTagMap:
    cookie=1144 tag=0xfffffe01 uid=1073
    cookie=1376 tag=0x0 uid=1029
    cookie=1408 tag=0xffffff82 uid=1051

Bug: 217624062
Test: dumpsys netstats, dumpstate, atest NetworkStatsServiceTest
Change-Id: I14dd6f969a0b5eb24ace62361ce2484cf18b7470
2022-08-02 09:41:03 +00:00
Treehugger Robot
2719dc8682 Merge changes I6fff65eb,Ie49d2319,Ief974217
* changes:
  Make all ConnectivityService#doTestXyz methods private.
  Expect creating the DNS event listener in setUp, not in tests.
  Rename testPreferenceForUserNetworkUpDownForGivenPreference.
2022-08-02 06:49:46 +00:00
Junyu Lai
2dba76105c Merge changes Id2a6bfdf,I5cab2b78
* changes:
  Remove qtaguid support in NetworkStatsFactory
  Refactor NetworkStatsFactoryTest
2022-08-02 05:32:45 +00:00
Lorenzo Colitti
db04c60658 Make all ConnectivityService#doTestXyz methods private.
They are not tests so there is no need for them to be public.

Test: TH
Bug: 143158421
Change-Id: I6fff65eb62b1689432dc1c9c7347261433317fac
2022-08-02 09:52:51 +09:00
Lorenzo Colitti
410d4e18b0 Expect creating the DNS event listener in setUp, not in tests.
This simplifies the code a bit.

Also remove an unnecessary reset(mMockNetd) call.

Bug: 143158421
Test: test-only change
Change-Id: Ie49d23193ef8d9dcb3f724a7dff249755c67a971
2022-08-02 09:52:51 +09:00
Lorenzo Colitti
b82e25c51b Rename testPreferenceForUserNetworkUpDownForGivenPreference.
This method name is confusing because it is not a test, and
convention in this file is that only test methods are called
testXyz. Rename it to doTestXyz.

Bug: 143158421
Test: test-only change
Change-Id: Ief9742174a7fc9966ade29d9a32a13277ce747ac
2022-08-01 18:42:24 +09:00
Aaron Huang
7fcbc2ecbd Fix flaky testNotifyNoInternetAsDialogWhenHighPriority
If the notification shade was swiped down, the activity that
this test wants to verify will be behind the notification
shade, and this causes the test failed. Thus, this change
makes the screen back to home before starting the test to
avoid the activity being hidden by the notification shade.

Bug: 240891836
Test: NetworkNotificationManagerTest#testNotifyNoInternetAsDialogWhenHighPriority
Change-Id: I4d903d2623c462fca4ec07eb0a0231ef527a200b
2022-08-01 08:20:35 +00:00
Remi NGUYEN VAN
a39d54bf43 Merge "Add back compat config for NSD" 2022-07-29 08:09:54 +00:00
Junyu Lai
e9f8d8516c Remove qtaguid support in NetworkStatsFactory
All devices shipped with S+ release would have 4.9+ kernel
with bpf enabled. And for older devices qtag uid is
already broken for a long time. Hence, it is safe to
remove the related code.

Bug: 234315786
Test: atest FrameworksNetTests CtsNetTestCases \
      ConnectivityCoverageTests
Change-Id: Id2a6bfdf32793e5f48eb74da3b662906e5ed380e
2022-07-29 16:00:29 +08:00
junyulai
8c77e385bd Refactor NetworkStatsFactoryTest
This patch changes the way of mocking samples in the tests, and
enabling use bpf stats flag, testing through the code path
that is not running in the production code does not make any
sense.

This change also copied methods from NetworkStatsFactory
as we want to continue parsing the golden files to test the
464xlat adjustment which historically has been prone to errors.
And deleting tests that does not execrise NetworkStatsFactory
code or rely on monotonic accumulative readings from native
layer, which is not happening today.

Bug: 234315786
Test: atest FrameworksNetTests CtsNetTestCases \
      ConnectivityCoverageTests
Change-Id: I5cab2b78651f1da628705c191e42857c8b59d826
2022-07-29 15:46:18 +08:00
Motomu Utsumi
f688eeb10a Add flag to test BpfNetMaps refactoring
Following CLs will switch previous codepath (JNI) and new codepath
(Java) for bpf map operations based on this flag.

Bug: 217624062
Test: atest BpfNetMapsTest
Change-Id: I74f10d5c97390993acea110f6528ef8980bb2aa4
2022-07-28 02:32:41 +00:00
Yan Yan
bbb586d7f1 Update VpnTest to use VpnNetworkAgentWrapper
Bug: 192077544
Test: atest VpnTest
Change-Id: Id0be4c4f2c9eba6cb7445d5c5ea4889165971317
2022-07-28 00:40:02 +00:00
Motomu Utsumi
6bcb3c290c Merge "Use java BpfMap in BpfNetMaps#replaceUidChain" 2022-07-27 13:21:50 +00:00
Remi NGUYEN VAN
348bbb0231 Add back compat config for NSD
Add back compat config for RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS, which was
lost when moving NsdManager to framework-connectivity-t.

This causes NsdManager to start mdnsresponder again when used by apps
with target SDK < 31.

The change also changes the compat ID used, to make sure it does not
conflict with the ID already in use in S and below, when the module is
installed on such a platform. This is the only ChangeId used by
framework-t.

Also add a CtsNetTestCasesMaxTargetSdk30 test to verify that behavior.

Bug: 235355681
Test: atest CtsNetTestCasesMaxTargetSdk30
Change-Id: I7ca6051d0a4ba5aff3e44bece2cbac22eb1be32d
2022-07-27 19:53:25 +09:00
Motomu Utsumi
9be2ea0080 Use java BpfMap in BpfNetMaps#replaceUidChain
Bug: 217624062
Test: atest BpfNetMapsTest
Change-Id: Ib2a2c2646834110a3eeeb786a4ea7a3f85718be8
2022-07-27 06:01:47 +00:00
Maciej Żenczykowski
a1b3378285 Merge changes Ic18521b6,Ibede8137
* changes:
  Move tag/untag socket BPF map access from JNI to Java
  Move struct CookieTagMap{Key, Value} to Connectivity/common
2022-07-26 08:35:58 +00:00
Aaron Huang
c37d806dfd Merge "Migrate buildTemplate* to use NetworkTemplate.Builder" 2022-07-26 07:40:49 +00:00
James Mattis
fce2777a9b Changing EthernetNetworkFactoryTest assert order
Changing multiple instances where the assert order for an assert.equals
was (actual, expected) to the more widely (and suggested) ordering of
(expected, actual).

Bug: 235605892
Test: atest FrameworksNetTests
:com.android.server.ethernet.EthernetNetworkFactoryTest

Change-Id: I6e9459d34d6cc7f43a2bfe346d2c2ca9551d46da
2022-07-25 12:36:49 -07:00
Aaron Huang
1c14fa9b08 Migrate buildTemplate* to use NetworkTemplate.Builder
Use new Builder API which was introduced in Android T.

Bug: 238843364
Test: FrameworksNetTests
      dumpsys netstats --checkin and check the output
Change-Id: Ieb0a2ee04056a1cedb71274ea710ff5153e2d68c
2022-07-25 11:30:13 +08:00
Hungming Chen
913507f150 Move tag/untag socket BPF map access from JNI to Java
Tag socket as uid AID_CLAT to avoid duplicated data usage counting by
bpf program.

Bug: 237369591
Test: ClatCoordinatorTest
Change-Id: Ic18521b63b3feadd53d77d7f4f0b44ab983e5fbf
2022-07-23 03:19:13 +08:00
Hungming Chen
ef0280288e Move struct CookieTagMap{Key, Value} to Connectivity/common
Need to share struct CookieTagMap{Key, Value} with:
service/src/com/android/server/connectivity/ClatCoordinator.java
service-t/src/com/android/server/net/NetworkStatsService.java
tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java
tests/unit/java/com/android/server/net/NetworkStatsServiceTest.java

These files only have different package name as expected.

$ diff common/src/com/android/net/module/util/bpf/CookieTagMapKey.java service-t/src/com/android/server/net/CookieTagMapKey.java
  17c17
  <- package com.android.net.module.util.bpf;
  ---
  -> package com.android.server.net;

$ diff common/src/com/android/net/module/util/bpf/CookieTagMapValue.java service-t/src/com/android/server/net/CookieTagMapValue.java
  17c17
  <- package com.android.net.module.util.bpf;
  ---
  -> package com.android.server.net;

Bug: 237369591
Test: atest ConnectivityCoverageTests
Change-Id: Ibede81376382f0dd7a032c8c988dd84c7422eece
2022-07-23 03:18:55 +08:00
Patrick Rohr
df9fbd37c6 Merge changes If13254d4,I2424bd4f
* changes:
  Sendcallback when setting eth interface up
  ethernet: add test for enable/disable interface
2022-07-22 14:44:34 +00:00
James Mattis
a199735a88 Sendcallback when setting eth interface up
Fix so callbacks are sent when changing the interface link state for an
ethernet interface from down -> up.

Bug: 235605892
Test: atest FrameworksNetTests
:com.android.server.ethernet.EthernetNetworkFactoryTest

Change-Id: If13254d4882aa2f0021f6443f31ef173b3867727
2022-07-21 21:39:52 -07:00
Paul Hu
9c8cda2335 Merge "Add more NsdService tests" 2022-07-22 01:40:30 +00:00
Lucas Lin
95f801a104 Merge "Test if VpnManager event will be sent to Settings VPN or not" 2022-07-21 11:05:42 +00:00
lucaslin
6baebebbe1 Test if VpnManager event will be sent to Settings VPN or not
Bug: 236315805
Test: atest FrameworksNetTests:VpnTest
Change-Id: I0ee4a70ded4937a1573d34cddab552f762e4fc18
2022-07-21 00:58:38 +00:00
Lucas Lin
4887b5f98f Merge "Test if VPN app can grant ACTIVATE_PLATFORM_VPN with CONTROL_VPN" 2022-07-20 13:28:43 +00:00
Paul Hu
64f36446c7 Add more NsdService tests
This is a no-op and test only change. Test the scenarios below:
- Registration service successful and failed.
- Discovery service failed.
- Resolution service failed.
- Getting an address failed.

Bug: 236788977
Test: atest FrameworksNetTests
Change-Id: I533d0be2abfa5c1832a060b4b2d4d1dd382c5b71
2022-07-20 10:11:18 +00:00
Aaron Huang
1ba1febf2b Merge "Replace buildTemplate* with NetworkTemplate.Builder" 2022-07-20 02:56:33 +00:00
Patrick Rohr
b916ff898b Merge "ethernet: fix receiving NetworkOffer callbacks on stale object" 2022-07-18 15:50:14 +00:00
Aaron Huang
a4fcb8b4cf Replace buildTemplate* with NetworkTemplate.Builder
Use Builder API which was provided in Android T to
build a template.

Bug: 238843364
Test: build, FrameworksNetTests:NetworkStatsManagerTest
Change-Id: Ibf1ac16541d6f3ddaf9b241e2f47ae04acbedf93
2022-07-18 17:16:49 +08:00
Patrick Rohr
7c4e2a918c ethernet: fix receiving NetworkOffer callbacks on stale object
unregisterNetworkOffer() does not execute synchronously, so it is
possible that NetworkOffer callbacks are received after the offer was
unregistered.

Test: atest EthernetManagerTest && atest EthernetNetworkFactoryTest
Bug: 171872016
Change-Id: I2c50b01176e4968c31f83148f1831b55f8b06908
2022-07-15 10:32:25 -07:00
Motomu Utsumi
fe72021c06 Merge "Use java BpfMap in BpfNetMaps#setUidRule" 2022-07-15 01:06:48 +00:00
Paul Hu
0ce40ac75d Merge "Add common parameters to reduce duplicated code" 2022-07-14 08:00:16 +00:00
Paul Hu
601644c8a7 Add common parameters to reduce duplicated code
This is a no-op and test only change. Some parameters use many
times, so add common parameters to reduce duplicated code.

Bug: 236788977
Test: atest FrameworksNetTests
Change-Id: I94370817ea87d1da5c30ea2ed467c1746edecba3
2022-07-14 02:21:41 +00:00
Motomu Utsumi
40230beb5f Use java BpfMap in BpfNetMaps#setUidRule
Bug: 217624062
Test: atest BpfNetMapsTest
android.net.cts.ConnectivityManagerTest#testFirewallBlocking

Change-Id: I79745231edac77d07571fa1909da5b9e811a69c4
2022-07-14 02:12:34 +00:00
Motomu Utsumi
599c4e5cf4 Use java BpfMap in removeUidInterfaceRules
Bug: 217624062
Test: atest BpfNetMapsTest HostsideVpnTests#testBlockIncomingPacket
Change-Id: I253c75aaeabe138a4f9d57c226744f5766ef1006
2022-07-13 11:12:19 +00:00
Motomu Utsumi
5f52f4f2fb Use java BpfMap in BpfNetMaps#addUidInterfaceRules
Bug: 217624062
Test: atest BpfNetMapsTest HostsideVpnTests#testBlockIncomingPacket
Change-Id: I8aeb4712c852167d553eb331f32d770582199b13
2022-07-13 11:11:59 +00:00
Motomu Utsumi
fabb53a881 Merge changes I58cd6145,I32299ce8,I0433459e
* changes:
  Use java BpfMap in updateUidLockdownRule
  Use java BpfMap in BpfNetMaps#addNiceApp
  Use java BpfMap in BpfNetMaps#removeNiceApp
2022-07-12 03:00:28 +00:00
Motomu Utsumi
697b299e3a Use java BpfMap in updateUidLockdownRule
Bug: 217624062
Test: atest BpfNetMapsTest HostsideVpnTests#testBlockIncomingPacket
Change-Id: I58cd614575a98c4b5a8f9c34d47dd2dfff187b26
2022-07-11 07:19:05 +00:00
Motomu Utsumi
9ab777b5d5 Merge changes I69a2970d,Ibfb3ae48,Ie595cf1f
* changes:
  Use java BpfMap in BpfNetMaps#addNaughtyApp
  Use java BpfMap in BpfNetMaps#removeNaughtyApp
  Add bpf map and lock for UidOwnerMap
2022-07-11 07:14:53 +00:00
Motomu Utsumi
f2eca2f13a Merge "Update error handling in BpfNetMaps" 2022-07-11 06:28:50 +00:00
Motomu Utsumi
55630d0dc8 Use java BpfMap in BpfNetMaps#addNiceApp
Bug: 217624062
Test: atest BpfNetMapsTest HostsideRestrictBackgroundNetworkTests
Change-Id: I32299ce8cde34d46999ecb966c3305c966c0509f
2022-07-11 03:14:07 +00:00
Motomu Utsumi
389278ec8b Use java BpfMap in BpfNetMaps#addNaughtyApp
Bug: 217624062
Test: atest BpfNetMapsTest HostsideRestrictBackgroundNetworkTests
Change-Id: I69a2970d20be41431b774273bc0902bd325421f4
2022-07-11 03:14:07 +00:00
Motomu Utsumi
7392eb4f4c Use java BpfMap in BpfNetMaps#removeNiceApp
Bug: 217624062
Test: atest BpfNetMapsTest HostsideRestrictBackgroundNetworkTests
Change-Id: I0433459ec43b6a84c4417152884d10fae5fecee6
2022-07-11 03:14:07 +00:00
Motomu Utsumi
60ed3be43b Use java BpfMap in BpfNetMaps#removeNaughtyApp
Bug: 217624062
Test: atest BpfNetMapsTest HostsideRestrictBackgroundNetworkTests
Change-Id: Ibfb3ae48427b7dc5d06708e63f4a16f7527ce86c
2022-07-11 03:14:07 +00:00
Motomu Utsumi
5a68a21926 Add bpf map and lock for UidOwnerMap
This commit is a preparation for replacing JNI codes that modify
UidOwnerMap by Java.

Bug: 217624062
Test: atest BpfNetMapsTest HostsideRestrictBackgroundNetworkTests
android.net.cts.ConnectivityManagerTest#testFirewallBlocking

Change-Id: Ie595cf1f77a3ed86addbcdaea1a1be972e0265b3
2022-07-11 03:14:05 +00:00