On FreeBSD we put the following file in /usr/local/etc/rc.d/opnatt.sh
it's been working great!
in /etc/rc.conf:
### Network link/usability verification options
synchronous_dhclient="YES"
# i added this to hopefully prevent the need to restart ipfw after boot
netwait_enable="YES" # Enable rc.d/netwait to wait for static ip to be up
#netwait_ip="123.123.199.129" # Wait for ping response from any IP in this list.
netwait_timeout="10" # Total number of seconds to perform pings.
netwait_if="ngeth0" # Wait for active link on each intf in this list.
netwait_if_timeout="10" # Total number of seconds to monitor link state.
On FreeBSD we put the following file in /usr/local/etc/rc.d/opnatt.sh it's been working great!
in /etc/rc.conf:
/usr/local/etc/rc.d/opnatt.sh