]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/natd
Merge branch 'releng/11.3' into releng-CDN/11.3
[FreeBSD/FreeBSD.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 desc="Network Address Translation daemon"
14 rcvar="natd_enable"
15 command="/sbin/${name}"
16 pidfile="/var/run/${name}.pid"
17 start_precmd="natd_precmd"
18 required_modules="ipdivert"
19
20 natd_precmd()
21 {
22         if [ -n "${natd_interface}" ]; then
23                 dhcp_list="`list_net_interfaces dhcp`"
24                 for ifn in ${dhcp_list}; do
25                         case "${natd_interface}" in
26                         ${ifn})
27                                 rc_flags="$rc_flags -dynamic"
28                                 ;;
29                         esac
30                 done
31
32                 if echo "${natd_interface}" | \
33                     grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then
34                         rc_flags="$rc_flags -a ${natd_interface}"
35                 else
36                         rc_flags="$rc_flags -n ${natd_interface}"
37                 fi
38         fi
39
40         return 0
41 }
42
43 load_rc_config $name
44 run_rc_command "$1"