Commit graph android_packages_modules_Co.../Tethering
Message SHA1
Merge "Wrap some IpServer commands"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-12-02 21:48:05 +00:00
767e5b6df6
Merge "Remove usages of java_api_finder"
Cole Faust   authored and   Gerrit Code Review   commited 2022-12-02 19:31:31 +00:00
65b2ec8855
Merge changes I9bccc558,Ifd855571
* changes:
  Test: separate common variables to EthernetTetheringTestBase
  Test: decouple the tests which access class member variables directly

Treehugger Robot   authored and   Gerrit Code Review   commited 2022-12-02 09:15:42 +00:00
fbef749cda
Test: separate common variables to EthernetTetheringTestBase
This is a preparation for breaking down EthernetTetheringTest into
CTS and MTS tests.

Changes:
1. Separate common variables from EthernetTetheringTest
   to EthernetTetheringTestBase.
Before:
  EthernetTetheringTest

After:
  [base class]                   [derived class]

  EthernetTetheringTestBase +--+ EthernetTetheringTest

2. Separate EthernetTetheringTest from aosp/2319857

Bug: 250552545
Bug: 258637850
Test atest EthernetTetheringTest

Change-Id: I9bccc558dc8b955055a2927a1a600afd399b264f

Hungming Chen   authored and   Nucca Chen   commited 2022-12-02 07:18:43 +00:00
21308b5b2d
Wrap some IpServer commands
This is no-op change. Preparing for refactor.

Test: atest TetheringTests
Change-Id: I8fb67cbc95074e990074f08b5fe6afe7dfd28382

Mark   authored and   Mark Chien   commited 2022-12-02 04:48:00 +00:00
a542458c16
Test: decouple the tests which access class member variables directly
This is a preparation for breaking down EthernetTetheringTest into
CTS and MTS tests.

EthernetTetheringTest is going to separate test base class and
derived class. In order to encapsulate base class better, decouple
the following tests which access member variables directly.
- testStaticIpv4
- testLocalOnlyTethering
- testPhysicalEthernet
- testVirtualEthernet
- testVirtualEthernetAlreadyExists

Above tests change to use local veriables instead of class member
variables: mDownstreamReader, mDownstreamIface,
mTetheringEventCallback, mTetheredInterfaceRequester.

This can help to decouple the tests with class member variables and
these class member variables can be private in the
base class EthernetTetheringTestBase since the following commit.

Bug: 250552545
Bug: 258637850
Test atest EthernetTetheringTest

Change-Id: Ifd855571337b34c1dfee5cb2791369de754bc94d

Hungming Chen   commited 2022-12-01 18:54:23 +08:00
1dbc674e13
Merge "Remove dead code: updateUpstreamIPv6LinkProperties in InitialState"
Mark Chien   authored and   Gerrit Code Review   commited 2022-11-25 01:07:15 +00:00
6ed83a43c8
Merge "Add ConfigInfrastructure lib to Android.bp"
Hassan Ali   authored and   Gerrit Code Review   commited 2022-11-24 13:33:28 +00:00
bfb0cdfa51
Remove usages of java_api_finder
This errorprone checker is no longer used.

Bug: 260268418
Test: Presubmits
Change-Id: I055bce5957ae05faef683e3d515332bd119fb720

Cole Faust   commited 2022-11-23 15:10:11 -08:00
417c1d9c3a
Add ConfigInfrastructure lib to Android.bp
As part of moving DeviceConfig.java to
packages/modules/ConfigInfrastructure, We need to add
ConfigInfrastructure lib dependency to Android.bp as DeviceConfig APIs
will not be part of the non-updatable part and will not be part of the
base module_current SDK so we have to add an explicit dependency.

Test: m
bug: 253019048
Change-Id: I29f993342e1baf4e75b30c8d99de10bc087a582b

Hassan Ali   commited 2022-11-23 11:41:43 +00:00
c4f63fa973
Remove dead code: updateUpstreamIPv6LinkProperties in InitialState
mRaemon only be created at BaseServingState#enter() and set to null at
BaseServingState#exit(). Thus, updateUpstreamIPv6LinkProperties just be
no-op in InitialState.

Test: atest TetheringTests MtsTetheringTestLatestSdk CtsTetheringTest
Change-Id: I0b8403a2acffb1aa0f40d2ad8721d4eff7c63ff0

Mark   commited 2022-11-23 08:22:32 +00:00
0e38307b4b
EthernetTetheringTest: remove isEthernetTetheringSupported
isEthernetTetheringSupported() has been not used since
using TetheringManager#isTetheringSupported in aosp/2143272.

Bug: 258637850
Test: EthernetTetheringTest
Change-Id: Ifc560613301393eeadb6df11688944b2dc629c35

Hungming Chen   commited 2022-11-17 10:59:33 +08:00
e28d70804d
TetheringConfiguration: force to select upstream automatically on U+
Simply the upstream selection since U+ device for tethering refactor.

Changes:
1. Support automatic mode only on U+ device.

2. Add two tethering tests to make sure that the resource config can't
   control automatic mode anymore. Expect that always automatic mode
   on U+ device. Also limit some existing tethering tests for R, S,
   or T.
   Changes of TetheringTest:
   - testAutomaticUpstreamSelectionWithConfigDisabled (U+) [new]
   - testLegacyUpstreamSelection (T-)
   - testChooseDunUpstreamByLegacyMode (T-)
   - testChooseDunUpstreamByAutomaticModeWithConfigDisabled (U+) [new]

3. Add two tethering configuration tests to make sure that automatic
   mode is always enabled no mater what the resource config or flag
   are on U+ device. Also limit some existing tethering tests for R,
   S, or T.
   Changes of TetheringConfiguration:
   - testChooseUpstreamAutomatically (T-)
   - testChooseUpstreamAutomaticallyAfterT (U+) [new]
   - testChooseUpstreamAutomatically_FlagOverride (R)
   - testChooseUpstreamAutomatically_FlagOverrideOnSAndT (S, T)
     (Renamed from testChooseUpstreamAutomatically_FlagOverrideAfterR)
   - testChooseUpstreamAutomatically_FlagOverrideAfterT (U+) [new]

Bug: 257941865
Bug: 257408654
Test: atest TetheringTest
Change-Id: I7ace317a1529177a84557741dc07d732b7f8cf89

Hungming Chen   commited 2022-11-15 22:14:21 +08:00
d15eb88619
Merge "Remove try/catch of UnsupportedOperationException"
Mark Chien   authored and   Gerrit Code Review   commited 2022-11-15 12:15:31 +00:00
3074dd6cd5
Merge "Add isTetheringFeatureEnabled which use tethering namespace"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-11-15 08:58:23 +00:00
6660d2375f
Add isTetheringFeatureEnabled which use tethering namespace
This is no-op change. Tethering shouldn't use connectivity namespace
because it already be used for NetworkStack module. The new feature
should check isTetheringFeatureEnabled instead.

Bug: 238274852
Test: atest TetheringTests
Change-Id: I009f654d0bf8df7051b822e666e3206dd70a5523

Mark   authored and   Mark Chien   commited 2022-11-14 15:51:55 +00:00
25d3ac54fe
Merge "Add not exported flag to receiver in EntitlementManager"
Michael Groover   authored and   Gerrit Code Review   commited 2022-11-11 15:32:07 +00:00
a49c13f7e8
Add not exported flag to receiver in EntitlementManager
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting a future
platform release and registering a receiver for non-system
broadcasts must specify either the exported or not exported flag
when invoking #registerReceiver; if one of these flags is not
provided, the platform will throw a SecurityException. This commit
adds the RECEIVER_NOT_EXPORTED flag to the receiver in
EntitlementManager since this broadcast is sent as a PendingIntent
alarm.

Bug: 234659204
Test: atest com.android.networkstack.tethering.EntitlementManagerTest
Change-Id: I46c2df038ccf7669636166f50fe0331efcc42e4b

Michael Groover   commited 2022-11-10 12:20:35 -06:00
3d6b8c83ce
Merge "Add libconnectivity_native"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2022-11-07 02:07:45 +00:00
5033f855ff
Add libconnectivity_native
The library provides an interface to interface with the
ConnectivityNative service, and implement port blocking APIs.

Bug: 179733303
Test: atest connectivity_native_test
Change-Id: Iad1c84b5eeab835aca14a2db72a900e099aa3c1c

Remi NGUYEN VAN   authored and   Tyler Wear   commited 2022-11-03 21:01:26 -07:00
fb70eba6bf
Merge "Fix errorprone warnings that should be errors"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-11-02 19:38:39 +00:00
edceea23f4
Fix errorprone warnings that should be errors
This commit is part of a large scale change to fix errorprone
errors that have been downgraded to warnings in the android
source tree, so that they can be promoted to errors again.
The full list of changes include the following, but not all
will be present in any one individual commit:

BadAnnotationImplementation
BadShiftAmount
BanJNDI
BoxedPrimitiveEquality
ComparableType
ComplexBooleanConstant
CollectionToArraySafeParameter
ConditionalExpressionNumericPromotion
DangerousLiteralNull
DoubleBraceInitialization
DurationFrom
DurationTemporalUnit
EmptyTopLevelDeclaration
EqualsNull
EqualsReference
FormatString
FromTemporalAccessor
GetClassOnAnnotation
GetClassOnClass
HashtableContains
IdentityBinaryExpression
IdentityHashMapBoxing
InstantTemporalUnit
InvalidTimeZoneID
InvalidZoneId
IsInstanceIncompatibleType
JUnitParameterMethodNotFound
LockOnBoxedPrimitive
MathRoundIntLong
MislabeledAndroidString
MisusedDayOfYear
MissingSuperCall
MisusedWeekYear
ModifyingCollectionWithItself
NoCanIgnoreReturnValueOnClasses
NonRuntimeAnnotation
NullableOnContainingClass
NullTernary
OverridesJavaxInjectableMethod
ParcelableCreator
PeriodFrom
PreconditionsInvalidPlaceholder
ProtoBuilderReturnValueIgnored
ProtoFieldNullComparison
RandomModInteger
RectIntersectReturnValueIgnored
ReturnValueIgnored
SelfAssignment
SelfComparison
SelfEquals
SizeGreaterThanOrEqualsZero
StringBuilderInitWithChar
TreeToString
TryFailThrowable
UnnecessaryCheckNotNull
UnusedCollectionModifiedInPlace
XorPower

See https://errorprone.info/bugpatterns for more
information on the checks.

Bug: 253827323
Test: m RUN_ERROR_PRONE=true javac-check
Change-Id: I7625fa386afe93823b97cb2ecb8fd09a5856c05b

Cole Faust   commited 2022-11-02 10:13:14 -07:00
22f05839f5
Merge changes from topic "cronet_in_tethering"
* changes:
  Rename org.chromium.net.cronet to framework-cronet
  Add Cronet .so and .jar to tethering apex

Motomu Utsumi   authored and   Gerrit Code Review   commited 2022-11-02 08:18:36 +00:00
c146d8753b
Merge "[TetheringGoogle] Remove explicit targetSdkVersion"
Harshit Mahajan   authored and   Gerrit Code Review   commited 2022-10-28 09:17:18 +00:00
956300ff15
Merge "Revert "Use r launch defaults for dcla for com.android.tethering.""
Victor Liu   authored and   Gerrit Code Review   commited 2022-10-27 19:24:52 +00:00
702a2ab49c
Revert "Use r launch defaults for dcla for com.android.tethering."
This reverts commit d44b293171.

Reason for revert: b/255986188

Change-Id: Ida999c15203b77aae1420be96dece22396c4ede1

Brad Hinegardner   commited 2022-10-27 19:16:26 +00:00
b40444a07a
Merge "Use r launch defaults for dcla for com.android.tethering."
Nada Hussein   authored and   Gerrit Code Review   commited 2022-10-27 16:21:42 +00:00
b4c9d59b86
Add Cronet .so and .jar to tethering apex
Also remove cronet apex related modules and files

Bug: 251054736
Test: atest CronetApiTest
Change-Id: Idd41785fd2f74a153c5bb03f4c00c7cccdb50e7a

Motomu Utsumi   commited 2022-10-27 19:12:29 +09:00
402b18d56d
[TetheringGoogle] Remove explicit targetSdkVersion
Going forward targetSdkVersion would be set by build system.
It would be by default set to 10000 before SDK finalization,
and updated to the new API level after finalization.

Effectively it would mean:
1. '10000' in aosp and internal master
2. Finalized number in development branches like "33" in "tm-dev"
3. As sdk hasn't been finalised in "udc-dev", it would be "10000"
which would be automatically updated to finalized version after sdk finalization.

Removing the target sdk version declaration from the blueprint and manifest files.
More details can be found here go/mainline-modules-target-sdk-version-fix

Bug: b/242296003
Test: croot; sdks=`find ./out -name 'TetheringGoogle.apk' | grep -v .intermediates`; echo $sdks; for sdk in $sdks;do aapt2 dump badging `echo $sdk` | grep targetSdkVersion:; done
1. outputs 33 in tm-mainline-prod
2. outputs 10000 in master

Change-Id: I2657901f066a5220ae0f807846b32b9c41afcce9

Harshit Mahajan   commited 2022-10-27 09:47:16 +00:00
e210c27140
Merge changes I63467371,Id4405b70
* changes:
  BpfCoordinatorTest: add testDumpDoesNotCrash
  Move error count BPF map initialization into class Dependencies

Treehugger Robot   authored and   Gerrit Code Review   commited 2022-10-27 07:27:08 +00:00
319c97705f
Merge "IpServerTest: add test addRemoveTetherClient"
Nucca Chen   authored and   Gerrit Code Review   commited 2022-10-26 06:49:22 +00:00
db4ac8ea40
BpfCoordinatorTest: add testDumpDoesNotCrash
Simple dump test for improving tethering test coverage.

Bug: 255466740
Test: atest BpfCoordinatorTest
Test: dump the content of testDump

Output:
mIsBpfEnabled: true
Polling not started
Stats provider registered
Upstream quota: {}
Polling interval: 5000 ms
Bpf shim: mBpfDownstream6Map{OK}, mBpfUpstream6Map{OK}, mBpfDownstream4Map{OK}, mBpfUpstream4Map{OK}, mBpfStatsMap{OK}, mBpfLimitMap{OK}, mBpfDevMap{OK}
Forwarding stats:
 <empty>
BPF stats:
 ifindex: 1001: rxPackets: 0, rxBytes: 0, rxErrors: 0, txPackets: 0, txBytes: 0, txErrors: 0

Forwarding rules:
 IPv6 Forwarding rules by downstream interface:
  [null]: iif(iface) oif(iface) v6addr [srcmac] [dstmac]
   1001(rmnet0) 1003(1003) 2001:db8::1 [12:34:56:78:90:ab] [00:00:00:00:00:0a]
 IPv6 Upstream: iif(iface) [inDstMac] -> oif(iface) etherType [outSrcMac] [outDstMac]
  1003(1003) [12:34:56:78:90:ab] -> 1001(rmnet0) 86dd [00:00:00:00:00:00] [00:00:00:00:00:00]
 IPv6 Downstream: iif(iface) [inDstMac] neigh6 -> oif(iface) etherType [outSrcMac] [outDstMac]
  1001(rmnet0) [00:00:00:00:00:00] 2001:db8::1 -> 1003(1003) 86dd [12:34:56:78:90:ab] [00:00:00:00:00:0a]
 IPv4 Upstream: proto [inDstMac] iif(iface) src -> nat -> dst [outDstMac] age
  tcp [12:34:56:78:90:ab] 1003(1003) 192.168.80.12:-3087 -> 1001(rmnet0) 1.0.0.1:-3087 -> 140.112.8.116:443 [00:00:00:00:00:00] -
 IPv4 Downstream: proto [inDstMac] iif(iface) src -> nat -> dst [outDstMac] age
  tcp [00:00:00:00:00:00] 1001(rmnet0) 140.112.8.116:443 -> 1003(1003) 1.0.0.1:-3087 -> 192.168.80.12:-3087 [00:00:00:00:00:0a] -

Device map:
 ifindex (iface) -> ifindex (iface)
  1001 (rmnet0) -> 1001 (rmnet0)
Client Information:
 <empty>
IPv4 Upstream Indices:
 <empty>

Forwarding counters:
 INVALID_IPV4_VERSION: 1000

Change-Id: I6346737157936cff7e164bbfe78d9a98dab3395a

Hungming Chen   authored and   Nucca Chen   commited 2022-10-26 05:48:03 +00:00
df57abfd4b
Move error count BPF map initialization into class Dependencies
The preparation for testing BpfCoordinator#dump().
Used to wrap error count BPF map access to avoid SYS_SECCOMP on some
test device. Ex: cuttlefish.
https://android-build.googleplex.com/builds/tests/view?invocationId=I01200010101524265&testResultId=TR03228338750686157

Bug: 255466740
Test: atest BpfCoordinatorTest

Change-Id: Id4405b70bc6d500b35943b4f81b88e7515fff3b0

Hungming Chen   commited 2022-10-26 13:47:19 +08:00
771bc597b6
Merge "Remove unused TetheringConfigurationParcel fileds"
Mark Chien   authored and   Gerrit Code Review   commited 2022-10-21 07:50:23 +00:00
381e339647
Merge "Add toString() to Ipv6ForwardingRule"
Nucca Chen   authored and   Gerrit Code Review   commited 2022-10-14 07:27:03 +00:00
df46aeb098
Merge "Add new fields - |upstream_events| and |duration_millis| in stats.proto"
Wayne Ma   authored and   Gerrit Code Review   commited 2022-10-14 02:23:31 +00:00
a0824ead07
Remove try/catch of UnsupportedOperationException
registerLocalOnlyHotspotSoftApCallback implementation is availble in
AOSP, remove unnecessary UnsupportedOperationException catch.

Bug: 240113156
Test: device can boot sucessfully
Change-Id: If010879ddc58285cf01cc8794b4c3ded7d0b0316

Mark   commited 2022-10-13 07:43:05 +00:00
0fd561386a
Keep primitive members used by MessageUtils.
This includes in particular {Full,Network}Score.POLICY_* members
which were removed recently.

Before :
  Policies : 55&62&63
After :
  Policies : EVER_EVALUATED&EVER_VALIDATED&IS_VALIDATED

This patch also unifies the directives under Tethering/ for
simplicity.

Test: adb logcat & dumpsys connectivity & dumpsys tethering
Change-Id: I3d231fbaaebe233b2633da8bb880b5ad1613a32f

Chalard Jean   commited 2022-10-13 13:11:53 +09:00
88edc35da6
Use r launch defaults for dcla for com.android.tethering.
DCLA (Dynamic Common Library Apex) is a mechanism used by Mainline, which places shared c++ libraries into a separate apex in order to de-duplicate them, with the goal of reducing the overall size of a train.

This change results in two packages being built:
If the APEX_BUILD_FOR_PRE_S_DEVICES=1 is set, the apex will have min_sdk set to 30 as before, and this will deliver to Android 11.
If the flag is not set, the second package will have min_sdk set to 31, and will deliver to Android 12 and beyond.

If developers intend to build an apex for use in R as before, they must set the flag APEX_BUILD_FOR_PRE_S_DEVICES=1, which will set the min_sdk to 30 as before. If not set, the new default behavior will set the min_sdk to 31.

This new variant will be post-processed and trimmed by Mainline infrastructure, and the resulting trimmed module can only be installed on S+ devices, requiring that we set the min_sdk to 31.

Test: APEX_BUILD_FOR_PRE_S_DEVICES=1 m com.android.tethering & verify
      sdk_version = 30
Test: m com.android.tethering & verify sdk_version = 31
Bug: 247762791
Change-Id: I2d6563867e3ca36f678fe0abadbe197946a82094

Nada Hussein   commited 2022-10-12 20:14:08 +00:00
d44b293171
Add new fields - |upstream_events| and |duration_millis| in stats.proto
Revise annotations in previous fields and deprecate |upstream_type|.

Ignore-AOSP-First: Merge conflict if submits in AOSP first.
Bug: 153942334
Test: statsd_testdrive 303
Change-Id: Id4d594f9238e18266dce5bf2ba238c1f86f655db
(cherry picked from commit 71c8495cea)
Merged-In: Id4d594f9238e18266dce5bf2ba238c1f86f655db

Wayne Ma   commited 2022-10-12 05:32:12 +00:00
fe6ecc6333
IpServerTest: add test addRemoveTetherClient
Bug: 250552545
Test: atest IpServerTest
Change-Id: Id8e801ccbf9a958c6b82de6022165d921761a86f

Hungming Chen   commited 2022-10-04 23:14:55 +08:00
afdf104d68
Add toString() to Ipv6ForwardingRule
Needed because default Ipv6ForwardingRule#toString doesn't dump
actual data. It is hard to know why two rule comparison failed
in the test failure.

Bug: 250552545
Test: atest BpfCoordinatorTest
Change-Id: Iaf29c888238573c7c9a0a4e0bd65fbe468084e51

Hungming Chen   commited 2022-10-04 23:14:55 +08:00
de5fb7370b
BpfCoordinator: ignore stopping event monitoring if never started
Ignore stopping monitoring if the monitor has never started
for a given IpServer.

Also fix the related bug in
BpfCoordinator#testStartStopConntrackMonitoring.

Bug: 250552545
Test: atest BpfCoordinatorTest
Change-Id: I7ac71f0ed52bf52244aadaa3c90ca8df239873e4

Hungming Chen   authored and   Nucca Chen   commited 2022-10-03 11:56:38 +00:00
09d163dfa8
Merge "Revert^2 "[ST02.2] Use the getters of DnsHeader""
Junyu Lai   authored and   Gerrit Code Review   commited 2022-09-22 02:39:42 +00:00
3e7778805b
Fix errorprone 2.15.0 errors
Bug: 246761518
Test: RUN_ERROR_PRONE=true m javac-check lint-check dist
Change-Id: I4b81ef161fab5ee80a1713de87b89500a88e625e

Sorin Basca   commited 2022-09-21 13:29:19 +01:00
14343732c3
Merge "EthernetTetheringTest: test testTetherClatTcp on S+ device"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-09-21 02:03:45 +00:00
75a819d9ff
EthernetTetheringTest: test testTetherClatTcp on S+ device
Only test testTetherClatTcp on S+ device because R device test
is blocked on b/234727688.

Bug: 234727688
Test: atest EthernetTetheringTest
Change-Id: I65a4a8c4fe13b8320b036380b9038af094ac95a5

Hungming Chen   authored and   Nucca Chen   commited 2022-09-20 10:24:32 +00:00
c79efc8e8e
Merge "EthernetTetheringTest: add testTetherClatTcp"
Nucca Chen   authored and   Gerrit Code Review   commited 2022-09-19 15:55:13 +00:00
e729389bd2
Merge changes from topic "test-tethering-icmp"
* changes:
  EthernetTetheringTest: add testTetherTcpV6
  EthernetTetheringTest: add testTetherTcpV4
  EthernetTetheringTest: add testIcmpv4Echo
  EthernetTetheringTest: add testTetherClatIcmp

Nucca Chen   authored and   Gerrit Code Review   commited 2022-09-19 15:53:43 +00:00
19adc7adbc
EthernetTetheringTest: add testTetherClatTcp
Bug: 237369591
Test: atest EthernetTetheringTest
Change-Id: Ic66c22040ca8aa29b8399fabed066107a736e842

Hungming Chen   commited 2022-09-19 19:43:34 +08:00
b4f8a08825