summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/natd
diff options
context:
space:
mode:
Diffstat (limited to 'etc/rc.d/natd')
-rw-r--r--etc/rc.d/natd42
1 files changed, 42 insertions, 0 deletions
diff --git a/etc/rc.d/natd b/etc/rc.d/natd
new file mode 100644
index 0000000..53a370d
--- /dev/null
+++ b/etc/rc.d/natd
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: natd
+# KEYWORD: FreeBSD nostart nojail
+
+. /etc/rc.subr
+. /etc/network.subr
+
+name="natd"
+rcvar=`set_rcvar`
+command="/sbin/${name}"
+start_cmd="natd_start"
+
+natd_start()
+{
+ dhcp_list="`list_net_interfaces dhcp`"
+ for ifn in ${dhcp_list}; do
+ case ${natd_interface} in
+ ${ifn})
+ natd_flags="$natd_flags -dynamic"
+ ;;
+ *)
+ ;;
+ esac
+ done
+ if [ -n "${natd_interface}" ]; then
+ if echo ${natd_interface} | \
+ grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then
+ natd_flags="$natd_flags -a ${natd_interface}"
+ else
+ natd_flags="$natd_flags -n ${natd_interface}"
+ fi
+ fi
+ echo -n ' natd'
+ ${natd_program:-/sbin/natd} ${natd_flags} ${natd_ifarg}
+}
+
+load_rc_config $name
+run_rc_command "$1"
OpenPOWER on IntegriCloud