1127897Sfjoe#!/bin/sh 2127897Sfjoe# 3127897Sfjoe# $FreeBSD: releng/10.3/etc/rc.d/natd 230099 2012-01-14 02:18:41Z dougb $ 4127897Sfjoe# 5127897Sfjoe 6127897Sfjoe# PROVIDE: natd 7136224Smtm# KEYWORD: nostart nojail 8127897Sfjoe 9127897Sfjoe. /etc/rc.subr 10127897Sfjoe. /etc/network.subr 11127897Sfjoe 12127897Sfjoename="natd" 13230099Sdougbrcvar="natd_enable" 14127897Sfjoecommand="/sbin/${name}" 15160671Syarpidfile="/var/run/${name}.pid" 16136791Sandrestart_precmd="natd_precmd" 17165683Syarrequired_modules="ipdivert" 18127897Sfjoe 19136791Sandrenatd_precmd() 20136791Sandre{ 21160671Syar if [ -n "${natd_interface}" ]; then 22160671Syar dhcp_list="`list_net_interfaces dhcp`" 23160671Syar for ifn in ${dhcp_list}; do 24160671Syar case "${natd_interface}" in 25160671Syar ${ifn}) 26160671Syar rc_flags="$rc_flags -dynamic" 27160671Syar ;; 28160671Syar esac 29160671Syar done 30136791Sandre 31160671Syar if echo "${natd_interface}" | \ 32160671Syar grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then 33160671Syar rc_flags="$rc_flags -a ${natd_interface}" 34127897Sfjoe else 35160671Syar rc_flags="$rc_flags -n ${natd_interface}" 36127897Sfjoe fi 37127897Sfjoe fi 38160671Syar 39160671Syar return 0 40127897Sfjoe} 41127897Sfjoe 42127897Sfjoeload_rc_config $name 43127897Sfjoerun_rc_command "$1" 44