This change declares underlying networks for the VCN for the purposes of
app data accounting
Bug: 190620024
Test: atest FrameworksVcnTests
Change-Id: Ida2cd5975250604064b0baed00bc7c201ea97c5e
This change fixes the potential for a networkAgent to be left dangling,
due to a situation where a VcnGatewayConnection shuts down, but fails to
unregister it's NetworkAgent.
The root cause was that the NetworkAgent was not unregistered when
moving to the DisconnectedState from the RetryTimeoutState, and the new
state assumed that there was no NetworkAgent, and thus failed to close
it when disconnecting.
Thus, this change ensures that the NetworkAgent is closed before moving
to the DisconnectedState. Additionally, it adds safety-checks to
onQuitting(), ensuring that if all else fails, these fields are cleaned
up.
Lastly, this change adds the specific gateway reference to facilitate
future debugging of issues such as this where there is potential for
duplicate networks, or gateway connections.
Bug: 191707296
Test: atest FrameworksVcnTests
Change-Id: I84cd43a0c136662f5c2d229650f1f5f889e6f144
This CL ensures that Vcn instances refresh their mobile data state
when they receive a new TelephonySubscriptionSnapshot. A new snapshot
may contain different subId -> subGroup mappings, which can affect
whether a Vcn instance's subGroup has mobile data enabled or not. This
in turn can change which VcnGatewayConnections are brought up by the
Vcn.
Bug: 191394092
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: Ib59b4ed7900a177b17ed4a6e197e271b10937f65
This change brings VcnNetworkProvider to full functionality in the new
NetworkProvider paradigm, where NetworkProviders offer networks, and are
notified based on NetworkOfferCallbacks.
Bug: 185204197
Test: atest FrameworksVcnTests
Change-Id: I88c69c0be9f6fd81839fb1595ed00341001694a5
Merged-In: I88c69c0be9f6fd81839fb1595ed00341001694a5
This CL updates VcnManagementService to allow permission
MANAGE_TEST_NETWORKS to register/unregister VCN policy listers as
well as apply VCN policies. Previously, only permission
NETWORK_FACTORY was allowed to perform this operations.
Bug: 189125789
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: I6ad3a58f4ef87d931917fbd772a810af81b27da1
This change copies the relevant pieces of information used to tune the
system for performance
Bug: 188943592
Test: atest FrameworksVcnTests
Change-Id: I2d5dc5b9000fa9d0da9d34772b3704110694c526
Merged-In: I2d5dc5b9000fa9d0da9d34772b3704110694c526
(cherry picked from commit 9d92b77ad7)
This change adds a basic prioritization framework in the VCN, and signal
strength thresholds for WiFi.
Bug: 188104094
Test: atest FrameworksVcnTests
Change-Id: Iee4e3dbecf1102ddc127a8c8daf08a00b6fccbbd
* changes:
Request Test Networks for VCNs when in Test Mode.
Specify if a VCN is in 'test-mode' in VcnContext.
Create test-mode for VcnConfig.
Require MOBIKE for IkeSessionParams in VCN configs.
This CL restructures the NetworkRequests used for TestNetworks
in UnderlyingNetworkTracker to clearly show that they only require
TRANSPORT_TEST and the relevant subIds.
Bug: 182291467
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: I4b135749fdde9f91c66b87b1ded921700e6440fd
This CL updates UnderlyingNetworkTracker to request Test
Networks for route selection when the VCN it is tracking
for is in test-mode.
Bug: 182291467
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: Icb59b15df61ec43fe76e250977a985caa6a1dffc
This CL updates VcnContext to include whether the VCN instance
it is created for is in test-mode (as specified by the VcnConfig).
This also changes the lifetime of VcnContext to be created uniquely
for each VCN instance (as opposed to a single VcnContext created in
VcnManagementService and used for all VCNs).
Bug: 182291467
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: I6fc6a266bf67ab2aa64202153c3c109ee98a16ca
This CL creates a test-mode for VcnConfig so that they will only
match with Test Networks. This is necessary for CTS testing so
that VCNs can run on test networks and IKE negotiations can be
injected over the Test Networks.
Bug: 182291467
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: I5cc340e5aaa34c5de8efafa52de49185a18d4bd3
This change allows the VCN to trigger the application of IpSecTransforms
as in the FWD path, ensuring that tethering works across interfaces
Bug: 185495453
Test: atest FrameworksVcnTests
Test: manual testing with cross-device tethering
Change-Id: I90fc77226ca971dbd8ac549b96a4828da1079cd5
This CL updates VcnManagementService to notify policy listeners
when the subIds for any VCN instances change. This is necessary to
ensure that NetworkFactories properly update their Networks in the
event that a Network comes up under an existing VCN are properly
marked as VCN-managed.
Bug: 187112989
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: Iecab1226119c8fd876131c381647267f18339db2
This change ensures mobile data state changes result in the reevaluation
of all NetworkRequests; ensuring that any requests that can be fulfilled
as a result of the mobile data state change start the relevant
GatewayConnections
Test: atest FrameworksVcnTests
Change-Id: I442ca2ee0fc8b9ad962a2491ddc3818535d9e042
Use the more generic object TunnelConnectionParams in VCN.
TunnelConnectionParams may also be used in VPN in the future.
Test: atest FrameworksVcnTests
Bug: 180664474
Change-Id: Ie433f9df614e1f51cdff200d915b68b61e5ca35e
This change adds support for retrieval of a list of subscription groups
that have a VCN configured.
Bug: 184612525
Test: atest FrameworksVcnTests
Change-Id: I40553a7bb45d9b1f948c7d0a791f1b22a422d55c
Per API feedback, the get/set methods for retry intervals are renamed to
be plural, and have time units
Bug: 184612525
Test: atest FrameworksVcnTests
Test: atest CtsVcnTestCases
Change-Id: I51b3ffcfa44f72805f359e56b263da2558325372
This change switches the VcnNetworkAgent from using the legacy score
integer, and switches to using the new NetworkScore, using the legacy
integer as a internal representation.
Bug: 185204197
Test: FrameworksVcnTests
Merged-In: Ib0690243f176a2f074358fcc8430f1fd7c3d0d3c
Change-Id: Ib0690243f176a2f074358fcc8430f1fd7c3d0d3c
(cherry picked from commit ffc912dace)
This change updates the VcnNetworkProvider and associated
requestListeners to no longer use the network score and provider IDs, in
order to match the new NetworkProvider APIs.
Bug: 185204197
Test: atest FrameworksVcnTests
Merged-In: I0cabce702cfd8457fd1a152af07a847b87d67028
Change-Id: I0cabce702cfd8457fd1a152af07a847b87d67028
(cherry picked from commit fff0f8ba33)
This change disables INTERNET and DUN capabilities once the mobile data
toggle is turned off. Additionally, when the toggle is flipped, any
existing networks advertising either of those two capabilities will be
restarted in order to remove the capabilities.
Bug: 184864726
Test: atest FrameworksVcnTests
Merged-In: I81efeaa4b129443b08a597ff45e0037ddefeb414
Change-Id: I81efeaa4b129443b08a597ff45e0037ddefeb414
(cherry picked from commit fcacb06752)
Due to connectivity modularization work, hidden connectivity
methods and members are not accessible outside the module.
Remove the corresponding usage.
The test case in VcnNetworkProviderTest are not able to create
NetworkRequests with request id assigned. The loop to create
different request is removed. After that, the test does not
provide more test coverage than other tests. Thus, Remove the
test case directly.
Bug: 182859030
Test: atest FrameworksVcnTests
Merged-In: I488f62089d1dbe93c232f892885d944bef896df6
Change-Id: I488f62089d1dbe93c232f892885d944bef896df6
(cherry picked from commit 18f3a26efa)
This pacth changes VCN to call #setNetwork and #getNetwork instead
of #setConfiguredNetwork and #getConfiguredNetwork because the
later two methods will not be APIs.
This patch also changes VCN unit tests to build an IkeSessionParams
without a Context because the constructor requring a Context
is deprecated.
Bug: 180521384
Test: FrameworksVcnTests, CtsVcnTestCases
Change-Id: I971d0d1b6824890c58263a1960f3b8d0e66fe7d1
AuthenticationFailedException and TemporaryFailureException
will not be System APIs. This patch changes VCN to use
IkeProtocolException#getErrorType to identify a specific
protocol error.
Test: atest FrameworksVcnTests
Bug: 175091931
Change-Id: Iaf3c1c9bd34957b0efdbfd7595c2838b56449308
This change adds the relevant utilities and plumbing to ensure that MTUs
are set dynamically based on the underlying network's MTU.
Bug: 184697651
Test: atest FrameworksVcnTests
Change-Id: I77e34a92eb4e81e83d20fe6019b38ea5f1af4765
This CL updates VcnManagementService to not require location permissions
for receiving VcnStatusCallback invocations. This change is safe to make
because these callbacks are not capable of leaking any location-related
information.
Bug: 180556279
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: I38600aeb2489f139b3479b07de77facc2ae838c5
This change adds a proxy NetworkAgent to facilitate testing, adding the
ability to test final methods such as sendNetworkCapabilities() and
sendLinkProperties(), which would otherwise call a real implementation,
and throw a null pointer while trying to access internal fields.
Bug: 184579891
Bug: 184697651
Test: atest FrameworksVcnTests
Change-Id: I8f13159bd266bf488f095a13d6ffe444bec65f38
This change ensures that teardown() is only ever triggered when the
NetworkAgent matches the one that the unwanted() callback is triggered
on. This ensures that in cases where the unwanted() is called as a
result of unregister(), or even after a new NetworkAgent is created (and
stored in the mNetworkAgent field), the teardown does not occur.
Bug: 184304972
Test: atest FrameworksVcnTests
Change-Id: Ic8ab66ff1e48d43be784974cda7574d0191e557f
In cases where the NetworkAgent is unregistered (eg. Safe mode), but the
VCN is not shut down, the NetworkAgent.unwanted() call should not
trigger a teardown.
Test: atest FrameworksVcnTests
Change-Id: Icf32cb464bce2aae2846448d5a6a53a97f558398
This change corrects a bug where IpSecTunnelInterface was not removing
old addresses, and resulted in EEXIST when trying to re-add an address
to a given interface.
Test: atest FrameworksVcnTests
Change-Id: I43434c801354483a7c7d0092891799bf86da23eb
This change ensures that the VCN populates the legacy type field,
otherwise ConnectivityService crashes on an unknown legacy type.
Bug: 184304972
Test: atest FrameworksVcnTests
Change-Id: I59dc46dc34d2812a6c8f73c72d208fa735791d74
This change adds the CELLULAR transport to the filter used by the Vcn to
determine if a configuration can satisfy a given NetworkRequest
Bug: 184101137
Test: atest FrameworksVcnTests
Change-Id: I7df3f14b5ef66551728b398fd4a9e233d1df4706
This change adds support for opportunistic safe mode, where the VCN will
continue to provide networks, but not restrict underlying networks.
Similarly, this change allows for soft-starting of the VCN, where VCN
underlying networks can be selected without restricting them directly.
Additionally, this change ensures networks are torn down when
VcnGatewayConnections enter safe mode. This change is required due to
changes in the lifecycle of the VcnGatwayConnection, where in safe mode
they are NOT torn down, but allowed to continue retrying. During these
broken-connectivity windows, the VCN network should be torn down to
prevent blackholing traffic.
Bug: 183174340
Test: atest FrameworksVcnTests
Change-Id: I50f2c0e92552281731c843db89e9a9a1ccff5346
This change prevents carrier wifi from having changes to the RESTRICTED
network capability, which is an immutable capability.
Bug: 184101137
Test: atest FrameworksVcnTests
Change-Id: I802d36a754d961c9928a2e642e25f1b25b8be12d