| # Copyright 2018 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| description "Run the shill network connection manager" |
| author "chromium-os-dev@chromium.org" |
| |
| # shill termination may take more than 5s (the default kill timeout) in some |
| # cases (e.g. it needs to disconnect a cellular modem from the network). A |
| # longer kill timeout is used to ensure that shill terminates properly in most |
| # cases. Also, stop shill on "starting pre-shutdown" so its exiting blocks the |
| # chromeos_shutdown script from running (jobs that "stop on stopping |
| # boot-services" may still be running in parallel with chromeos_shutdown if |
| # they do not exit quickly). |
| start on @expected_started_services@ |
| stop on starting pre-shutdown |
| kill timeout 10 |
| respawn |
| expect fork |
| |
| # Default parameters to be overridden by upstart configuration. |
| env SHILL_LOG_LEVEL=0 |
| env SHILL_LOG_SCOPES= |
| # Disable noisy libchrome and libbrillo VLOGs by default |
| env SHILL_LOG_VMODULES="object_proxy=0,dbus_object=0,bus=0" |
| env SHILL_PASSIVE_MODE= |
| env SHILL_PREPEND_DNS_SERVERS= |
| env SHILL_ACCEPT_HOSTNAME_FROM= |
| env SHILL_MINIMUM_MTU= |
| env BLACKLISTED_DEVICES= |
| env DHCPV6_ENABLED_DEVICES= |
| env ARC_DEVICE=arcbr0 |
| |
| # Hook for mod_for_test_scripts/100setupTestingInterface. |
| env SHILL_TEST_DEVICES="" |
| |
| # Allow the parameters to be overridden by upstart commands and events. |
| import ARC_DEVICE |
| import BLACKLISTED_DEVICES |
| import DHCPV6_ENABLED_DEVICES |
| import SHILL_ACCEPT_HOSTNAME_FROM |
| import SHILL_LOG_LEVEL |
| import SHILL_LOG_SCOPES |
| import SHILL_LOG_VMODULES |
| import SHILL_MINIMUM_MTU |
| import SHILL_PASSIVE_MODE |
| import SHILL_PREPEND_DNS_SERVERS |
| import SHILL_TEST_DEVICES |
| |
| # Make shill killable, because if it has a leak it's better to |
| # restart it than to OOM-panic. |
| oom score -100 |
| # Let the daemon crash if it grows too much. "as" is "address space" (vm |
| # size). We expect a typical VM size of about 40MB for the daemon. |
| limit as 200000000 unlimited |
| |
| pre-start exec /usr/share/cros/init/shill-pre-start.sh |
| |
| post-stop exec bootstat shill-stop |
| |
| exec /usr/share/cros/init/shill.sh |