]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - etc/rc.d/natd
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / etc / rc.d / natd
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: natd
7 # KEYWORD: nostart nojail
8
9 . /etc/rc.subr
10 . /etc/network.subr
11
12 name="natd"
13 rcvar="natd_enable"
14 command="/sbin/${name}"
15 pidfile="/var/run/${name}.pid"
16 start_precmd="natd_precmd"
17 required_modules="ipdivert"
18
19 natd_precmd()
20 {
21         if [ -n "${natd_interface}" ]; then
22                 dhcp_list="`list_net_interfaces dhcp`"
23                 for ifn in ${dhcp_list}; do
24                         case "${natd_interface}" in
25                         ${ifn})
26                                 rc_flags="$rc_flags -dynamic"
27                                 ;;
28                         esac
29                 done
30
31                 if echo "${natd_interface}" | \
32                     grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then
33                         rc_flags="$rc_flags -a ${natd_interface}"
34                 else
35                         rc_flags="$rc_flags -n ${natd_interface}"
36                 fi
37         fi
38
39         return 0
40 }
41
42 load_rc_config $name
43 run_rc_command "$1"