Add the netwait rc.d script. It waits for the specified period for the

network to become active.

PR:		conf/151063
Submitted by:	Jeremy Chadwick <freebsd@jdc.parodius.com>
This commit is contained in:
Doug Barton 2011-06-19 22:48:40 +00:00
parent 7e7fd7d177
commit d732b516ea
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=223310
4 changed files with 66 additions and 3 deletions

View File

@ -444,6 +444,13 @@ ubthidhci_enable="NO" # Switch an USB BT controller present on
#ubthidhci_addr="2" # Check usbconfig list to find the correct #ubthidhci_addr="2" # Check usbconfig list to find the correct
# numbers for your system. # numbers for your system.
### Network link/usability verification options
netwait_enable="NO" # Enable rc.d/netwait (or NO)
#netwait_ip="" # IP addresses to be pinged by netwait.
netwait_timeout="60" # Total number of seconds to perform pings.
#netwait_if="" # Interface name to watch link state on.
netwait_if_timeout="30" # Total number of seconds to monitor link state.
### Miscellaneous network options: ### ### Miscellaneous network options: ###
icmp_bmcastecho="NO" # respond to broadcast ping packets icmp_bmcastecho="NO" # respond to broadcast ping packets

View File

@ -22,7 +22,7 @@ FILES= DAEMON FILESYSTEMS LOGIN NETWORKING SERVERS \
ldconfig local localpkg lockd lpd \ ldconfig local localpkg lockd lpd \
mixer motd mountcritlocal mountcritremote mountlate \ mixer motd mountcritlocal mountcritremote mountlate \
mdconfig mdconfig2 mountd moused mroute6d mrouted msgs \ mdconfig mdconfig2 mountd moused mroute6d mrouted msgs \
named natd netif netoptions \ named natd netif netoptions netwait \
newsyslog nfsclient nfscbd nfsd \ newsyslog nfsclient nfscbd nfsd \
nfsserver nfsuserd nisdomain nsswitch ntpd ntpdate \ nfsserver nfsuserd nisdomain nsswitch ntpd ntpdate \
othermta \ othermta \

View File

@ -4,7 +4,7 @@
# #
# PROVIDE: mountcritremote # PROVIDE: mountcritremote
# REQUIRE: NETWORKING FILESYSTEMS cleanvar ipsec # REQUIRE: NETWORKING FILESYSTEMS cleanvar ipsec netwait
# KEYWORD: nojail # KEYWORD: nojail
. /etc/rc.subr . /etc/rc.subr

View File

@ -24,7 +24,7 @@
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\" .\"
.Dd June 18, 2011 .Dd June 19, 2011
.Dt RC.CONF 5 .Dt RC.CONF 5
.Os .Os
.Sh NAME .Sh NAME
@ -4293,6 +4293,61 @@ Bus address of the USB Bluetooth controller.
Check the output of Check the output of
.Xr usbconfig 8 .Xr usbconfig 8
on your system to find this information. on your system to find this information.
.It Va netwait_enable
.Pq Vt bool
If set to
.Dq Li YES ,
delays the start of network-reliant services until
.Va netwait_if
is up and ICMP packets to a destination defined in
.Va netwait_ip
are flowing.
Link state is examined first, followed by
.Dq Li pinging
an IP address to verify network usability.
If no destination can be reached or timeouts are exceeded,
network services are started anyway with no guarantee that
the network is usable.
Use of this variable requires both
.Va netwait_ip
and
.Va netwait_if
to be set.
.It Va netwait_ip
.Pq Vt str
Empty by default.
This variable contains a space-delimited list of IP addresses to
.Xr ping 8 .
DNS hostnames should not be used as resolution is not guaranteed
to be functional at this point.
If multiple IP addresses are specified,
each will be tried until one is successful or the list is exhausted.
.It Va netwait_timeout
.Pq Vt int
Indicates the total number of seconds to perform a
.Dq Li ping
against each IP address in
.Va netwait_ip ,
at a rate of one ping per second.
If any of the pings are successful,
full network connectivity is considered reliable.
The default is 60.
.It Va netwait_if
.Pq Vt str
Empty by default.
Defines the name of the network interface on which watch for link.
.Xr ifconfig 8
is used to monitor the interface, looking for
.Dq Li status: no carrier .
Once gone, the link is considered up.
This can be a
.Xr vlan 4
interface if desired.
.It Va netwait_if_timeout
.Pq Vt int
Defines the total number of seconds to wait for link to become usable,
polled at a 1-second interval.
The default is 30.
.El .El
.Sh FILES .Sh FILES
.Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact .Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact
@ -4364,6 +4419,7 @@ on your system to find this information.
.Xr ntpdate 8 , .Xr ntpdate 8 ,
.Xr pfctl 8 , .Xr pfctl 8 ,
.Xr pflogd 8 , .Xr pflogd 8 ,
.Xr ping 8 ,
.Xr powerd 8 , .Xr powerd 8 ,
.Xr quotacheck 8 , .Xr quotacheck 8 ,
.Xr quotaon 8 , .Xr quotaon 8 ,