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
Cherry picked without conflicts.
Merged-in: I4e3d51a6955d7bfe5ca4e8079936ea10c28832e4
(cherry picked from commit e28118d0c3)
Change-Id: Ia8f095fbbcd414c070be4d5ce79dbc70bb9b1937
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
Merged-In: I82933a83a7d13903bbce9a85d6e8dae1a492bf24
Merged-In: I98133ad41229b93f51ea3976d311f9896456a56c
Change-Id: I4eb914923f3664b12b6af0ae05f45b60c5312b02
(cherry picked from commit a8f3c01be9)
Handle the case when IpClient wasn't created for network interface which
may happen for virtual device
Bug: 78482534
Test: dumpsys ethernet
Merged-In: I374a91265660e814b4f0f033b3970fd98921ca84
Merged-In: Id4ab7c9a8a5238491c8405ae260862e76a7671c1
Change-Id: I3405dd4f72d4a6444448f0d6ec0497aead07bade
(cherry picked from commit 97446b8978)
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
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.
(cherry picked from commit 17f4e4a027)
Bug: 62870779
Test: builds aosp_bullhead-eng
Test: builds marlin-eng
Test: exception is logged and device doesn't crash when unplugging USB ethernet adapter while it's being initialized
Change-Id: If8c2375f7fffe25a9fa79dc4f1981c745384a276
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 9effed6f9e)
Bug: 62308954
Test: tested on marlin with USB ethernet adapters, as described
Test: smoketested on aosp_bullhead
Change-Id: Ie3041f1d453d15c81eee81adfc8593269c499d79
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
Bug: 62308954
Test: tested on marlin with USB ethernet adapters, as described
Change-Id: Iad12a52a903bfaccf7e245dfe499652c752c31e9