Bug #5711

dpinger fails to start on IPv6 IPs considered "tentative", often breaking IPv6 gateway monitoring

Added by Renato Botelho over 4 years ago. Updated over 4 years ago.

Gateway Monitoring
Target version:
Start date:
Due date:
% Done:


Estimated time:
Affected Version:
Affected Architecture:


For some period of time during boot, IPv6 IPs are considered "tentative" by the OS. For instance, ifconfig output like the following two examples (one static WAN, one gif tunnel).

inet6 2610:160:11:ffff::11 prefixlen 64 tentative
inet6 2001:470:ffff:71::2 --> 2001:470:ffff:71::1 prefixlen 128 tentative

When dpinger starts with ifconfig showing that state (which is every boot in many IPv6 configurations), it immediately exits with no logging. Launching it with truss in shows the following output.

bind(3,{ AF_INET6 [2001:470:1f0e:71::2]:0 },28) ERR#49 'Can't assign requested address'
writev(0x2,0x7fffffffe0c0,0x4) = 37 (0x25)
write(2,"cannot bind send socket\n",24) = 24 (0x18)
process exit, rval = 1

This leaves no dpinger processes running for IPv6 WANs. Running setup_gateways_monitor() after boot starts all dpinger instances correctly, but that doesn't happen without user-intervention.

Aside from fixing the problem at hand here, this type of error condition should really make it to the logs rather than having to change it to launch under truss to figure out the problem.

Associated revisions

Revision 3a335f07 (diff)
Added by Renato Botelho over 4 years ago

Collect dpinger processes that failed to start and try again after 1 second, this should be enough to fix #5711


#1 Updated by Renato Botelho over 4 years ago

This is a copy of #5696, that was accidentally removed

#2 Updated by Renato Botelho over 4 years ago

  • Status changed from Confirmed to Feedback
  • % Done changed from 0 to 100

#3 Updated by Chris Buechler over 4 years ago

  • Status changed from Feedback to Resolved


Also available in: Atom PDF