1*325ce30bSDavid van Moolenbroek#!/bin/sh 2*325ce30bSDavid van Moolenbroek# 3*325ce30bSDavid van Moolenbroek# $NetBSD: npf,v 1.3 2012/11/01 06:06:14 mrg Exp $ 4*325ce30bSDavid van Moolenbroek# 5*325ce30bSDavid van Moolenbroek# Public Domain. 6*325ce30bSDavid van Moolenbroek# 7*325ce30bSDavid van Moolenbroek 8*325ce30bSDavid van Moolenbroek# PROVIDE: npf 9*325ce30bSDavid van Moolenbroek# REQUIRE: root bootconf mountcritlocal tty network 10*325ce30bSDavid van Moolenbroek# BEFORE: NETWORKING 11*325ce30bSDavid van Moolenbroek 12*325ce30bSDavid van Moolenbroek$_rc_subr_loaded . /etc/rc.subr 13*325ce30bSDavid van Moolenbroek 14*325ce30bSDavid van Moolenbroekname="npf" 15*325ce30bSDavid van Moolenbroekrcvar=$name 16*325ce30bSDavid van Moolenbroek 17*325ce30bSDavid van Moolenbroekconfig="/etc/npf.conf" 18*325ce30bSDavid van Moolenbroek 19*325ce30bSDavid van Moolenbroekstart_cmd="npf_start" 20*325ce30bSDavid van Moolenbroekstop_cmd="npf_stop" 21*325ce30bSDavid van Moolenbroek 22*325ce30bSDavid van Moolenbroekreload_cmd="npf_reload" 23*325ce30bSDavid van Moolenbroekstatus_cmd="npf_status" 24*325ce30bSDavid van Moolenbroekextra_commands="reload status" 25*325ce30bSDavid van Moolenbroek 26*325ce30bSDavid van Moolenbroeknpf_cfg_check() 27*325ce30bSDavid van Moolenbroek{ 28*325ce30bSDavid van Moolenbroek if [ ! -f ${config} ]; then 29*325ce30bSDavid van Moolenbroek warn "${config} is not readable; failed." 30*325ce30bSDavid van Moolenbroek exit 1 31*325ce30bSDavid van Moolenbroek fi 32*325ce30bSDavid van Moolenbroek} 33*325ce30bSDavid van Moolenbroek 34*325ce30bSDavid van Moolenbroeknpf_start() 35*325ce30bSDavid van Moolenbroek{ 36*325ce30bSDavid van Moolenbroek echo "Enabling NPF." 37*325ce30bSDavid van Moolenbroek npf_cfg_check 38*325ce30bSDavid van Moolenbroek /sbin/npfctl reload 39*325ce30bSDavid van Moolenbroek /sbin/npfctl start 40*325ce30bSDavid van Moolenbroek} 41*325ce30bSDavid van Moolenbroek 42*325ce30bSDavid van Moolenbroeknpf_stop() 43*325ce30bSDavid van Moolenbroek{ 44*325ce30bSDavid van Moolenbroek echo "Disabling NPF." 45*325ce30bSDavid van Moolenbroek /sbin/npfctl stop 46*325ce30bSDavid van Moolenbroek /sbin/npfctl flush 47*325ce30bSDavid van Moolenbroek} 48*325ce30bSDavid van Moolenbroek 49*325ce30bSDavid van Moolenbroeknpf_reload() 50*325ce30bSDavid van Moolenbroek{ 51*325ce30bSDavid van Moolenbroek echo "Reloading NPF ruleset." 52*325ce30bSDavid van Moolenbroek npf_cfg_check 53*325ce30bSDavid van Moolenbroek /sbin/npfctl reload 54*325ce30bSDavid van Moolenbroek} 55*325ce30bSDavid van Moolenbroek 56*325ce30bSDavid van Moolenbroeknpf_status() 57*325ce30bSDavid van Moolenbroek{ 58*325ce30bSDavid van Moolenbroek : 59*325ce30bSDavid van Moolenbroek} 60*325ce30bSDavid van Moolenbroek 61*325ce30bSDavid van Moolenbroekload_rc_config $name 62*325ce30bSDavid van Moolenbroekrun_rc_command "$1" 63