| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Both EthernetManager#getAvailableInterfaces() and the no-arg
version of EthernetManager#isAvailable() end up calling
EthernetServiceImpl#getAvailableInterfaces. This method attempts
to filter out restricted interfaces if the caller does not have
the CONNECTIVITY_USE_RESTRICTED_NETWORKS permission.
Unfortunately EthernetNetworkFactory's notion of a restricted
interface is the opposite of what it should be. This means that
while privileged callers can see all interfaces, unprivileged
callers can only see restricted interfaces which they cannot use.
Fix this by correcting NetworkInterfaceState#isRestricted(), so
that unprivileged callers can see only unrestricted interfaces.
Privileged callers are unaffected.
This bug probably went unnoticed because restricted Ethernet
interfaces are rare (likely used only on auto devices) and
because the callers that care about those restricted interfaces
are generally privileged.
Bug: 148824036
Test: atest android.net.EthernetTetheringTest#testPhysicalEthernet
Change-Id: Idff3b05a193a80c581d80d0e4fe9c2d3fc0d8a25
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 150644681
Test: atest TetheringIntegrationTests:EthernetTetheringTest --rerun-until-failure 100
Change-Id: Ia2cb265f8d4de96210f1462339c10ad2947eec65
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently, callbacks for tethered interface availability are sent
based on interface link state. This is incorrect:
- It is acceptable and expected to be able to enable tethering on
an interface that does not yet have link up.
- It doesn't seem useful to disable Ethernet tethering if link
temporarily goes down.
Instead, only base the callbacks on whether an interface exists
or not.
Bug: 150644681
Test: WIP tests in aosp/1260100 pass
Change-Id: I015219cbd03626c38fb5156d0cb2991ba7d7def7
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently, the default interface can only ever go from null to
non-null. This is correct for fixed interfaces (because they
don't get unplugged) and it's generally correct for USB
interfaces that use ethX as their device name (because when
they are unplugged and plugged in again, the device name won't
change). But it is not correct if, for example, the default
interface is a test interface. So, allow mDefaultInterface to go
back to null.
This CL also fixes a crash if a tethered interface request is
added and removed when there is no default interface.
Also, make dump() report tethered interface requests.
Also remove an unused variable that I missed in the previous CL.
Bug: 150644681
Test: tested by EthernetTetheringTest in same topic
Change-Id: I5109d8da3aeb6c1f6523291d9e2ec92c64b5ad2d
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This CL adds a setIncludeTestInterfaces method to EthernetManager
that, when called, causes the Ethernet service to recognize and
manage test interfaces created by TestNetworkManager.
Bug: 150644681
Test: Tested by EthernetTetheringTest in same topic
Change-Id: I86eef7a93267f800dbfc8eafd307effa76a344ca
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 130840861
Test: build, boot
atest EthernetTrackerTest
manual test (using Ethernet)
Change-Id: I935ea2e5f214aced67fb60f4aec2744077177545
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently, Ethernet only supports interfaces in client mode
(e.g., to connect to the Internet). Add minimal support to
Ethernet to support interfaces in server mode. This simple
implementation only works on the default interface, which is the
first interface that is detected on boot (even if the interface
is later removed).
This also provides (but does not yet unhide) a simple API for
Tethering to request that the next-plugged-in interface to be
placed into server mode.
Test: Enabling tethering with change on top
Bug: 130840861
Merged-In: I78f85bc36aaceb62ce274003a75ea99d0b6bc8b7
Change-Id: I78f85bc36aaceb62ce274003a75ea99d0b6bc8b7
(clean cherry-pick from internal branch)
|
| | | | |\ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This change avoids calling start() on needNetworkFor() if ethernet
cable is unplugged. Fixed by adding isLinkUp validation.
Test: ./cts-tradefed run cts-dev -d -m CtsSecurityTestCases -t \
android.security.cts.ListeningPortsTest#testNoRemotelyAccessibleListeningUdpPorts
adb shell netstat -lnup
Change-Id: I2debd7367a20b665249f9c19d2d8a61737435803
|
| | | | |/ /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When releaseNetworkFor is called, refCount should be equal to 1 for
network.stop() to be called. This is the same logic that is followed by
WifiNetworkFactory also.
In the current code, when refCount is 2 and releaseNetworkFor() is called,
network.stop() will be executed and will stop Ethernet
Bug: 146089778
Test: build and boot OK
Change-Id: Ib7d1b488a2943364a8ba4a89eec5de4c33cf1d5a
|
| | | | |\ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
A number of connectivity checks that protect system-only methods
check for CONNECTIVITY_INTERNAL, but CONNECTIVITY_INTERNAL is a
signature|privileged permission. We should audit the permissions
checks, and convert checks that protect code that should not be
called outside the system to a signature permission. So replace
the permission to NETWORK_STACK.
Bug: 32963470
Test: atest EthernetServiceTests
Change-Id: I2a88d04bbdcd7e7e624b9065372a6603d2bb45a2
|
| | | | |/ /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
See aosp/708790
Bug: 18637384
Bug: 29030667
Test: manual
cts
runtest framework-net
atest frameworks/opt/net/ethernet/tests
Change-Id: I5caa4cb89ca1441f3c84b5675ceede6ecacfd132
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When this.mIpConfig is not initialized, it will cause a
java.lang.NullPointerException and put the device in a boot
loop with the following error:
FATAL EXCEPTION IN SYSTEM PROCESS: EthernetServiceThread
Test: passed pre-submit boot test.
Change-Id: I47df68071b4c07a4136c0abcbe69ee7ada7090e0
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 119085164
Test: manual, test with AndroidTV device
Partner gerrit review CL:
https://partner-android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1215654
[Analysis]
APP called EthernetManager.setConfiguration API for switch DHCP to
Static,
setConfiguration’s flow just only update IpConfig finally but have not
trigger EthernetNetworkFactory.start().
So Static IP Setting just only take effect when unplug/plug Ethernet
Cable or AC Off&On.
[Repeat Steps]
1. Connect Ethernet with DHCP and Network access is normal
2. Change IP settings from DHCP to Static and set Static IP.
3. After setting, you can not automatically obtain Static IP.
[Recovery Method]
Unplug the Ethernet and insert it or AC OFF / ON
Change-Id: Idbb6a24ccfa360582f48e4f9369def7fc729fb9f
Bug: 112171349
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: b/112588045
Test: atest EthernetServiceTests --verbose
Test: kitchensink, dumpsys ethernet, with RPi devices and USB to
ethernet adapters.
Change-Id: Iaa260aabbbd7aa4b7864eba32ecff7e3f84123c3
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Test: atest EthernetServiceTests
Bug: b/112869080
Change-Id: I54f32d3031e63c7dea78936b6fe5e83e5b293c33
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: b/112588045
Test: atest EthernetServiceTests --verbose
Test: kitchensink with RPi devices connected by USB -> Ethernet
adapters. Edit config.xml to try different tranport
overrides manually. Use dumpsys ethernet to show final
final network scores.
Change-Id: I482e78a76d06c9c090aa6816db14bb346eb6528b
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These should not affect network refcount and thus should not be
passed to the network transport.
Bug: 116034205
Test: successfully established a VPN when connected to USB ethernet
Change-Id: I66517d86f35b8cfc1e211cb189127187d2744b60
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 111326363
Test: Manual + atest frameworks-net
Change-Id: Id262df4e41de5c74784637ae4a5459c3fab9fb74
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Test: none needed
Change-Id: Ic6cfedf9cfe60984ce7fbd59bdaec55b0bba3001
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In addition to IP address, OEMs should be able to set gateway, DNS and
domains.
Bug: 80090920
Test: runtest -x frameworks/opt/net/ethernet/tests
Change-Id: I4e3d51a6955d7bfe5ca4e8079936ea10c28832e4
|
| | | | |\ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
EthernetConfigStore should return 'null' for default interface if the
default interface hasn't been configured otherwise it would be hard to
distinguish not-configured vs configured with default values.
Bug: 79415136
Test: verified w/o .xml overlay Ethernet continues to work
Test: verified that ip config from overlay is not getting overriden
Change-Id: I4eb914923f3664b12b6af0ae05f45b60c5312b02
|
| | | | |/ /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Handle the case when IpClient wasn't created for network interface which
may happen for virtual device
Bug: 78482534
Test: dumpsys ethernet
Change-Id: I3405dd4f72d4a6444448f0d6ec0497aead07bade
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 79160437
Test: builds, boots
Change-Id: Iff726805a3c6b7cf2a4b741dbba93552c378a6e1
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This makes sure that we never accidentally have two IpClients vying
for control of the same interface.
Test: as follows
- built
- flashed
- booted
Bug: 62476366
Change-Id: Iab4ca7c2445e70b6f8beaf5dc6921cb0c6cd56ed
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This change avoids calling start() on needNetworkFor() if an IpClient
object has already been created. This is the case when the interface is
connected from boot, as is the case in Chrome OS.
Bug: 73396557
Test: Networking is 100% stable in Chrome OS
Change-Id: Iaa073d6477aadca2e4e5233b333d717ad82c1f3d
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- reworked EthernetNetworkFactory to support multiple active Ethernet
interfaces
- allow vendors to specify network capabilities + ip config through XML
config overlay
Test: manual using hikey960 + multiple usb->eth adapters
Change-Id: Ie39bcb0d2a3f960f497222159c7bd5797accaa68
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Can be used by a network to indicate when it's congested, meaning that
apps should defer network traffic that could be done at a later time.
Test: bit FrameworksNetTests:android.net.,com.android.server.net.,com.android.server.connectivity.VpnTest,com.android.server.ConnectivityServiceTest
Bug: 64133169
Change-Id: I97664d041920c8d6e3f9fb7c9e8638925b15c30e
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The "roaming" state of a network really belongs on NetworkCapabilities
instead of being published through NetworkInfo.isRoaming(). One major
reason is to support developers creating NetworkRequests for a
non-roaming network.
Test: bit FrameworksNetTests:android.net.,com.android.server.net.,com.android.server.connectivity.
Bug: 68397798, 16207332
Change-Id: I0722d7b38d0478de3834b869552f48403af9d553
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Ethernet interface.
add different logic to handle static ip configuration.
Bug: b/64914694 <http://b/issue?id=64914694&query=64914694>
Test: follow the following steps to switch ethernet config
1.Plug Ethernet cable ,Ethernet succeed to access internet with DHCP mode
2.Change Ethernet IP settings to Static
3.Input correct ip , gateway, prefix length, DNS
4.UI show Connected, but failed to access Internet.
Change-Id: I223bca85814e94745fbb8b50ca677eb7032e9bb3
(cherry picked from commit 44a107bc8f058c6ac1aab6fbfbf60bf8f3474711)
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If the interface disappears between interfaceAdded() and
setInterfaceUp, we'll crash with an IllegalStateException in
NetworkManagementService#setInterfaceConfig.
Ignore the error instead. This should be safe because we don't
modify any state unless our calls succeed.
Bug: 62870779
Test: builds aosp_bullhead-eng
Change-Id: If8c2375f7fffe25a9fa79dc4f1981c745384a276
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
1. Remove the IP provisioning thread and just attempt
provisioning indefinitely whenever we have an interface.
2. Make all methods run on the passed-in handler thread. This
makes it easier to verify correctness by code inspection.
3. Remove the code that changes the factory score depending on
whether we're tracking an interface and have link. This is
unnecessary complexity, as there is no penalty to accepting a
request even if we don't have an interface.
4. Remove code duplication and only have one codepath for
stopping layer 3.
Tested the following are tested with this CL:
- Booting with an interface connected.
- Disconnecting/reconnecting the Ethernet cable repeatedly,
particularly at inconvenient times (e.g., during provisioning).
- Similarly, disconnecting/reconnecting USB Ethernet interfaces.
- Falling back to another Ethernet interface if the currently
tracked Ethernet interface is unplugged.
- Disconnecting and restarting provisioning when provisioning is
lost (e.g., if the default route is deleted).
- Crashing the system server causes Ethernet to reconnect on
restart.
- The above while running watch -n 0.1 adb shell dumpsys ethernet
(cherry picked from commit 9effed6f9ef2609a94c34699b7e2000fc1811993)
Bug: 62308954
Test: tested on marlin with USB ethernet adapters, as described
Test: smoketested on aosp_bullhead
Change-Id: Ie3041f1d453d15c81eee81adfc8593269c499d79
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This fixes a longstanding bug where after a DHCP timeout, we
would never restart the DHCP client and get an IP address until
the link bounced.
Also, two minor improvements:
1. Dump IpManager info when dump() is called.
2. When onLinkPropertiesChange is called, also update
mLinkProperties. We were already sending the updated
LinkProperties to the NetworkAgent, so this is really only
useful for dump(), but it's just one line and safe because
onLinkPropertiesChange already grabs the lock.
Bug: 17733693
Change-Id: I42c3319cb4bc151c547ed721baf5e83f97e23862
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- WaitForProvisioningCallback
- setHttpProxy
- setTcpBufferSizes
Bug: 26991160
Change-Id: I5e02039a35006f0466fb40c43805f0443cd758c2
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 17733693
Bug: 26991160
Change-Id: Idaee8c64bf452e58b93031d8d7ad666edb0c82ae
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Requiring CHANGE_NETWORK_STATE is pointless, since immediately
after doing that we require CONNECTIVITY_INTERNAL, which is
a system-only permission.
Bug: 23597341
Change-Id: If4c8ecbb319e547c2c81d2dcc3c7bbb63e0bc2af
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The intent of the code was to catch exceptions, but it wasn't
actually doing that because when a netd command fails we get an
IllegalStateException, not a RemoteException.
Bug: 23581852
Change-Id: I66c7c33bdc7b0d0de4fa5cd92dff054797cf860f
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Replaced the method where we used to enforce static permission
CHANGE_NETWORK_STATE to method calls that also check for WRITE_SETTINGS.
This is due to the merging of CHANGE_NETWORK_STATE permission with
WRITE_SETTINGS in M.
Change-Id: I104ac41733663b4f6b5cd30e7314574ec4acdc07
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This was not necessary in L, but it is necessary after
https://partner-android-review.googlesource.com/#/c/205415/ .
Bug: 22936203
Change-Id: I24a96c33e5bb375f36217a1c2cec2076eb5ac8b4
|
| | | | |\ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* commit '566e12ad11445a4b90d615fd823b53a2c1eba9be':
eth: make sure dhcp is stopped before bringing up interface.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
Signed-off-by: Blair Prescott <blairp@broadcom.com>
|
| | | | |/ /
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 18045481
Change-Id: I3fb517c3e7fa807e2937fda92026301e312be986
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously we did not stop DHCP or try to force a disconnect.
This made it impossible to reconnect by unplugging and
replugging an USB Ethernet adapter.
Bug: 17736828
Change-Id: Idd8576a96b063b5ca726ee9149800bdcb0f62bd1
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Network Factories are allowed to go below, but networks need to be
constrained. Allowing the network to go below 0 meant that -1 could
sometimes leak through and foul the logic.
bug:17361330
Change-Id: Ife34ca0f9c233dd3c3df80f6fea580af43afcdeb
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
bug:16549611
Change-Id: I48426f6b746e4bd9729bdd529d81b163ff5112a9
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 17133859
Change-Id: Ic8424004e48712e4dd906d5bb6a48ce7d38ff9d8
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also make static IP configuration more robust (e.g., tear down
our NetworkAgent when we switch between static and DHCP).
Bug: 16114392
Bug: 16893413
Change-Id: Ib33f35c004e30b6067bb20235ffa43c247d174df
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
bug: 16549611
Change-Id: I61d29bb88b9e58c50e03c39570f3ebb7712e4f37
|