From 6888132b534c097b969f58a0742f9c27607ef0d6 Mon Sep 17 00:00:00 2001 From: Ryan Stone Date: Sun, 1 Mar 2015 00:58:23 +0000 Subject: [PATCH] Add an rc.d script to invoke iovctl(8) during boot Differential Revision: https://reviews.freebsd.org/D88 Reviewed by: wblock, emaste, allanjude MFC after: 1 month Relnotes: yes Sponsored by: Sandvine Inc. --- etc/defaults/rc.conf | 2 ++ etc/rc.d/Makefile | 1 + etc/rc.d/iovctl | 39 +++++++++++++++++++++++++++++++++++++++ etc/rc.d/netif | 2 +- share/man/man5/rc.conf.5 | 6 ++++++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 etc/rc.d/iovctl diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index 4519e87f8458..3499465eccdf 100644 --- a/etc/defaults/rc.conf +++ b/etc/defaults/rc.conf @@ -667,6 +667,8 @@ casperd_enable="YES" # casperd(8) daemon rctl_enable="NO" # Load rctl(8) rules on boot rctl_rules="/etc/rctl.conf" # rctl(8) ruleset. See rctl.conf(5). +iovctl_files="" # Config files for iovctl(8) + ############################################################## ### Jail Configuration (see rc.conf(5) manual page) ########## ############################################################## diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile index a1f879e49a75..1e6e28ffbaa6 100644 --- a/etc/rc.d/Makefile +++ b/etc/rc.d/Makefile @@ -44,6 +44,7 @@ FILES= DAEMON \ hostid \ hostid_save \ hostname \ + iovctl \ ip6addrctl \ ipfilter \ ipfs \ diff --git a/etc/rc.d/iovctl b/etc/rc.d/iovctl new file mode 100644 index 000000000000..f207b084dcc3 --- /dev/null +++ b/etc/rc.d/iovctl @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: iovctl +# REQUIRE: FILESYSTEMS sysctl + +. /etc/rc.subr + +name="iovctl" +command="/usr/sbin/iovctl" +start_cmd="iovctl_start" +stop_cmd="iovctl_stop" + +run_iovctl() +{ + local _f flag + + flag=$1 + for _f in ${iovctl_files} ; do + if [ -r ${_f} ]; then + ${command} ${flag} -f ${_f} > /dev/null + fi + done +} + +iovctl_start() +{ + run_iovctl -E +} + +iovctl_stop() +{ + run_iovctl -D +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/netif b/etc/rc.d/netif index 62ad31f766a4..0915b28e29ed 100755 --- a/etc/rc.d/netif +++ b/etc/rc.d/netif @@ -26,7 +26,7 @@ # # PROVIDE: netif -# REQUIRE: atm1 FILESYSTEMS serial sppp sysctl +# REQUIRE: atm1 FILESYSTEMS iovctl serial sppp sysctl # REQUIRE: ipfilter ipfs # KEYWORD: nojailvnet diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 86ba9107c15e..2eccd7e88949 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -4447,6 +4447,11 @@ This variables contains the .Xr rctl.conf 5 ruleset to load for .Xr rctl 8 . +.It Va iovctl_files +.Pq Vt str +A space-separated list of configuration files used by +.Xr iovctl 8 . +The default value is an empty string. .El .Sh FILES .Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact @@ -4500,6 +4505,7 @@ ruleset to load for .Xr hcsecd 8 , .Xr ifconfig 8 , .Xr inetd 8 , +.Xr iovctl 8 , .Xr ipf 8 , .Xr ipfw 8 , .Xr ipnat 8 ,