freebsd-skq/etc/rc.d
ian d1bbd87d0b Enhance rc.d/netwait script to wait for late-attaching interfaces such as
USB NICs.

USB network hardware may not be enumerated and available when the rc.d
networking scripts run. Eventually the USB attachment completes and devd
events cause the network initialization to happen, but by then other rc.d
scripts have already failed, because services which depend on NETWORKING
(such as mountcritremote) may end up running before the network is actually
ready.

There is an existing netwait script, but because it is dependent on
NETWORKING it runs too late to prevent failure of some other rc
scripts. This change flips the order so that NETWORKING depends on netwait,
and netwait now depends on devd and routing (the former is needed to make
interfaces appear, and the latter is needed to run the ping tests in
netwait).

The netwait script used to be oriented primarily towards "as soon as any
host is reachable the network is fully functional", so you gave it a list of
IPs to try and you could optionally name an interface and it would wait for
carrier on that interface. That functionality still works the same, but now
you can provide a list of interfaces to wait for and it waits until each one
of them is available. The ping logic still completes as soon as the first IP
on the list responds.

These changes were submitted by Brenden Molloy <brendan+freebsd@bbqsrc.net>
in PR 205186, and lightly modified by me to allow a list of interfaces
instead of just one.

PR:		205186
Differential Revision:	https://reviews.freebsd.org/D4608 (timeout w/o review)
2015-12-26 18:21:32 +00:00
..
abi
accounting - Don't log messages saying that accounting is being disabled and enabled 2012-05-02 14:25:39 +00:00
addswap - Add vnode-backed swap space specification support. This is enabled when 2013-06-27 18:28:45 +00:00
adjkerntz Get rid of the postrandom script. It was born in a time when the 2014-11-02 01:47:27 +00:00
amd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
apm Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
apmd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
archdep
atm1
atm2
atm3
auditd Add 'nojail' keyword as auditd(8) can't really do anything useful when 2012-01-06 14:00:31 +00:00
auditdistd Fix the location of auditdistd configuration file. 2012-12-13 09:41:32 +00:00
automount The "automount" rc script should depend on "automountd", not the other 2015-09-18 06:54:52 +00:00
automountd The "automount" rc script should depend on "automountd", not the other 2015-09-18 06:54:52 +00:00
autounmountd The "automount" rc script should depend on "automountd", not the other 2015-09-18 06:54:52 +00:00
bgfsck - Add uid check. 2015-09-10 06:55:28 +00:00
bluetooth
bootparams Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
bridge Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
bsnmpd Pass pidfile to bsnmpd if it's been changed (parts cut/pasted from 2013-08-19 05:37:49 +00:00
bthidd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
casperd Start-up script for casperd daemon. 2013-12-16 11:03:59 +00:00
ccd
cleanvar Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
cleartmp Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
cron Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
ctld Bring in the new iSCSI target and initiator. 2013-09-14 15:29:06 +00:00
DAEMON
ddb Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
defaultroute Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
devd Require "ldconfig" for "devd". It is possible that user puts into 2015-04-28 13:13:23 +00:00
devfs As it stands right now, the default devfs rulesets are only loaded as a 2012-02-08 08:52:40 +00:00
dhclient dhclient: don't use syslog for logging non-DHCP interface errors 2012-01-20 17:19:50 +00:00
dmesg Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
dumpon
FILESYSTEMS Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
fsck Fix indentation in etc/rc.d/fsck. 2015-10-12 14:23:10 +00:00
ftp-proxy Add support for multiple instances of ftp-proxy 2013-11-13 03:50:31 +00:00
ftpd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
gbde
geli rc.d/geli should not depend on random, as the attach functionality 2014-10-31 22:20:27 +00:00
geli2 Allow - be used in the name of a provider. Without this change it's not 2012-08-22 22:17:35 +00:00
gptboot Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
growfs remove comment about the bug... I don't remeber what it was... 2014-11-06 07:27:14 +00:00
gssd Fix rc.d/gssd script to define the default values in a standard way. 2014-08-29 06:23:00 +00:00
hastd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
hcsecd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
hostapd Implement ifconfig_wlanX="HOSTAP". 2013-06-26 04:00:52 +00:00
hostid Revert r282672. 2015-05-11 00:16:32 +00:00
hostid_save Verify if the saved hostid is still the same and update if 2015-04-15 21:48:06 +00:00
hostname etc/rc.d/hostname: permit setting hostname if already set 2015-08-12 16:22:10 +00:00
inetd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
iovctl Use correct flag in iovctl_start(). 2015-06-27 18:01:50 +00:00
ip6addrctl Use ipv6_prefer when at least one ifconfig_IF_ipv6 is configured. 2014-08-30 07:08:10 +00:00
ipfilter ipfilter 5.1.2 (vs 4.1.28 in previous releases of FreeBSD) stores IPv4 2015-01-28 21:01:55 +00:00
ipfs ipfilter 5.1.2 no longer supports sysctl. Use ipf -V to determine if 2013-09-10 13:48:33 +00:00
ipfw Refine the "nojail" rc keyword, adding "nojailvnet" for files that don't 2013-05-19 04:10:34 +00:00
ipmon Remove duplicate FILESYSTEMS REQUIRE from etc/rc.d/ipmon and etc/rc.d/pflog 2014-11-30 12:34:48 +00:00
ipnat Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
ipropd_master Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
ipropd_slave Fix a typo; master server for iprop service should be singular. 2014-09-16 05:45:38 +00:00
ipsec Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
iscsictl Bring in the new iSCSI target and initiator. 2013-09-14 15:29:06 +00:00
iscsid Bring in the new iSCSI target and initiator. 2013-09-14 15:29:06 +00:00
jail Allow osreldate and osrelease to be set per jail 2015-10-20 12:49:38 +00:00
kadmind Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
kdc Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
keyserv Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
kfd Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
kld Ensure kldxref is run first. Currently both 'kldxref' and 'kld' depend 2011-12-01 22:50:10 +00:00
kldxref Whitespace nit 2012-07-13 06:46:09 +00:00
kpasswdd Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
ldconfig Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
local
local_unbound Load our configuration before setting defaults, so local_unbound_workdir 2015-12-01 13:20:21 +00:00
localpkg
lockd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
LOGIN Unbreak rcorder when MK_UTX == no by moving utx from REQUIRE: in LOGIN to 2015-02-13 20:52:23 +00:00
lpd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
Makefile Move all test integration pieces for etc/ from etc/ to tests/ 2015-05-18 11:02:43 +00:00
mdconfig Ignore per-mdN settings in mdconfig[2] startup 2015-10-29 21:12:57 +00:00
mdconfig2 Ignore per-mdN settings in mdconfig[2] startup 2015-10-29 21:12:57 +00:00
mixer Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
motd
mountcritlocal After r290196, the kernel won't wait for stuff like gmirror nodes 2015-10-30 15:52:10 +00:00
mountcritremote Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
mountd Remove some oldnfs remnants. 2015-04-18 16:08:06 +00:00
mountlate Introduce and use new flag -L to mount for mounting only late filesystems. 2013-05-04 14:00:16 +00:00
moused Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
mroute6d Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
msgs
natd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
netif Update only static routes when an interface is specified. This fixed 2015-09-10 06:47:23 +00:00
netoptions Add $ipv6_cpe_wanif to enable functionality required for IPv6 CPE 2011-09-13 00:06:11 +00:00
netwait Enhance rc.d/netwait script to wait for late-attaching interfaces such as 2015-12-26 18:21:32 +00:00
NETWORKING Enhance rc.d/netwait script to wait for late-attaching interfaces such as 2015-12-26 18:21:32 +00:00
newsyslog Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
nfscbd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
nfsclient Make three one line changes to the rc scripts so that 2011-06-11 21:14:22 +00:00
nfsd Add support for the new "-manage-gids" option for the nfsuserd daemon 2015-11-30 22:29:11 +00:00
nfsuserd Add support for the new "-manage-gids" option for the nfsuserd daemon 2015-11-30 22:29:11 +00:00
nisdomain
nscd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
nsswitch
ntpd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
ntpdate Remove remnants of BIND from /etc, since there is no BIND in base now. 2013-11-05 09:30:06 +00:00
opensm
othermta Since r275359, there is no need to provide a bogus service name. 2015-10-26 15:16:27 +00:00
pf Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
pflog Typo fix in comment 2015-04-06 19:23:45 +00:00
pfsync When stopping pfsync, remove the pfsync interface's syncpeer setting. 2013-07-15 08:48:45 +00:00
power_profile rc.d/power_profile: use recently added Cmax for cx_lowest 2012-09-11 06:25:10 +00:00
powerd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
ppp Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
pppoed Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
pwcheck
quota Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
random Address review. 2015-07-08 18:46:44 +00:00
rarpd Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
rctl Modify the rctl rc script to add multiple rules in a single run. 2015-12-01 16:42:39 +00:00
resolv Simply things so that "#REQUIRE: FILESYSTEMS" means the file 2012-09-11 05:04:59 +00:00
rfcomm_pppd_server Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
root
route6d Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
routed Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
routing Don't add static IPv6 routes when to all FIBs when net.add_addr_allfibs is 0. 2015-02-06 00:02:00 +00:00
rpcbind Remove remnants of BIND from /etc, since there is no BIND in base now. 2013-11-05 09:30:06 +00:00
rtadvd Add a reload command. 2013-10-22 07:44:26 +00:00
rtsold Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
rwho Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
savecore After writing a kernel core dump into /var/crash, call sync(8). 2013-08-28 15:12:15 +00:00
sdpd Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
securelevel Add dependencies based on security(7). 2012-08-22 18:35:17 +00:00
sendmail Enable the automatic creation of a certificate (if one does not exists) 2013-10-19 18:51:06 +00:00
serial
SERVERS Restructure rc.d scripts for kerberos5 daemons: 2014-08-29 07:51:47 +00:00
sppp
sshd Upgrade to OpenSSH 6.5p1. 2014-01-31 13:12:02 +00:00
statd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
static_arp
static_ndp Correctly reassign copyright of etc/rc.d/static_ndp back to delphij@ 2011-10-23 10:17:42 +00:00
stf
swap - Add vnode-backed swap space specification support. This is enabled when 2013-06-27 18:28:45 +00:00
swaplate - Add vnode-backed swap space specification support. This is enabled when 2013-06-27 18:28:45 +00:00
syscons use tab instead of spaces like the rest of the file.. 2014-11-03 19:23:49 +00:00
sysctl Do not exit with non-zero return code if sysctl.conf or sysctl.conf.local files 2014-01-21 18:57:49 +00:00
syslogd Do not try to create a /dev/log symlink in a jail. 2014-11-03 00:37:39 +00:00
timed Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
tmp MFP4 214344: 2012-07-13 20:10:59 +00:00
ubthidhci Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
ugidfw When stopping ugidfw, it is not enough to just try unloading the module. If 2015-09-29 18:51:56 +00:00
utx Unbreak rcorder when MK_UTX == no by moving utx from REQUIRE: in LOGIN to 2015-02-13 20:52:23 +00:00
var When extracting mtrees, pass -i so schg/sappnd are respected. 2015-11-09 23:37:01 +00:00
virecover Prepare for the removal of set_rcvar() by changing the rcvar= 2012-01-14 02:18:41 +00:00
watchdogd when watchdogd is asked to exit nicely (via SIGTERM) it will 2014-04-16 22:26:42 +00:00
wpa_supplicant
ypbind Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
yppasswdd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
ypserv Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
ypset Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
ypupdated Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
ypxfrd Fix various issues with the NFS and RPC related scripts: 2012-02-14 10:51:24 +00:00
zfs rc.d/zfs: pass -v option to zfs mount 2013-07-09 08:59:39 +00:00
zvol