ntpd couldn't resolve host name on system boot
Paul Schenkeveld
freebsd at psconsult.nl
Tue Oct 25 09:53:45 UTC 2011
On Mon, Oct 24, 2011 at 06:03:27PM -0700, Jeremy Chadwick wrote:
> The one shortcoming of netwait is that it doesn't support waiting for
> multiple NICs. Some people have dual-homed environments where they
> really would like to wait for both, say, em0 and em1, to come up and be
> functional before any more scripts are started. I left that as a
> project for someone else, but it's something that should be added given
> its importance.
How would you like to see multiple interfaces implemented:
- All interfaces must be up at the same time
- Probe interfaces one by one, proceed to the next when an interface
up or bail out when any interface stays down until the loop times
out
Another shortcoming: ipv6 support...
The patch below adds ipv6.
One caveat, ping6 is used if a word in netwait_ip contains at least a
colon so hostnames in netwait_ip are always pinged using ipv4.
Paul Schenkeveld
--- src/etc/rc.d/netwait.orig 2011-06-22 08:27:32.000000000 +0200
+++ src/etc/rc.d/netwait 2011-10-25 11:09:16.000000000 +0200
@@ -21,7 +21,7 @@
netwait_start()
{
- local ip rc count output link
+ local ip rc count output link ping_cmd
if [ -z "${netwait_ip}" ]; then
err 1 "You must define one or more IP addresses in netwait_ip"
@@ -72,7 +72,13 @@
count=1
while [ ${count} -le ${netwait_timeout} ]; do
- /sbin/ping -t 1 -c 1 -o ${ip} >/dev/null 2>&1
+ case ${ip} in
+ *:*)
+ ping_cmd="/sbin/ping6 -c 1 -o";;
+ *)
+ ping_cmd="/sbin/ping -t 1 -c 1 -o";;
+ esac
+ ${ping_cmd} ${ip} >/dev/null 2>&1
rc=$?
if [ $rc -eq 0 ]; then
More information about the freebsd-stable
mailing list