--- /dev/null
+#!/bin/sh
+#
+# ipfw init the emulation service
+#
+# chkconfig: 2345 09 91
+# description: ipfw init and shutdown
+#
+
+# Source function library.
+. /etc/init.d/functions
+
+IPFW=ipfw
+IPFW_BACKEND=/vsys/ipfw-be
+IPFW_MOD=ipfw_mod
+
+if [ ! -x /sbin/$IPFW ] || [ ! -x ${IPFW_BACKEND} ]; then
+ echo -n "/sbin/$IPFW does not exist."; warning; echo
+ exit 0
+fi
+
+# Load the ipfw module, and initialize netconfig
+start() {
+ # load the module
+ modprobe $IPFW_MOD > /dev/null 2> /dev/null
+ let ret=$?;
+ [ $ret -eq 0 ] && success || failure
+
+ # init netconfig
+ echo "super dbcleanup" | ${IPFW_BACKEND} root > /dev/null 2> /dev/null
+ echo "super init" | ${IPFW_BACKEND} root > /dev/null 2> /dev/null
+
+ return $ret
+}
+
+stop() {
+ # clean netconfig stuff
+ echo "super dbcleanup" | ${IPFW_BACKEND} root > /dev/null 2> /dev/null
+ echo "Unloading $IPFW_MOD module: "
+
+ # unload the ipfw module
+ rmmod ${IPFW_MOD}
+ let ret=$?;
+ [ $ret -eq 0 ] && success || failure
+
+ return $ret
+}
+
+# echo the ipfw status
+status() {
+ # check for module presence
+ LOADED=`cat /proc/modules | grep ^ipfw_mod`
+ [ ! -n "$LOADED" ] && echo "ipfw not loaded" && return 0
+
+ # Show active users
+ USERS=`cat /tmp/ff | grep BLOCK | wc -l`
+ echo "ipfw is loaded and there are currently ${USERS} with active emulation."
+ return 0
+}
+
+# main
+case "$1" in
+ start)
+ start
+ RETVAL=$?
+ ;;
+ stop)
+ stop
+ RETVAL=$?
+ ;;
+ restart)
+ stop
+ start
+ RETVAL=$?
+ ;;
+ status)
+ status
+ RETVAL=$?
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|restart|status}"
+ exit 1
+ ;;
+esac
+
+exit $RETVAL
install -D -m 755 dummynet2/ipfw_mod.ko $RPM_BUILD_ROOT/lib/modules/%{kernel_id}/net/netfilter/ipfw_mod.ko
install -D -m 755 ipfw/ipfw $RPM_BUILD_ROOT/sbin/ipfw
install -D -m 644 planetlab/ipfw.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/ipfw.cron
+install -D -m 755 planetlab/ipfw $RPM_BUILD_ROOT/etc/rc.d/init.d/ipfw
%post
# load the module
# clean the old database and initialize the firewall
echo "super dbcleanup" | /vsys/ipfw-be root
echo "super init" | /vsys/ipfw-be root
+# add ipfw to chkconfig
+/sbin/chkconfig --add ipfw
%clean
rm -rf $RPM_BUILD_ROOT
* Wed Mar 03 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - ipfw-0.9-10
- - Load module at installation - Marta
-* Mon Mar 01 2010 Marta Carbone <marta.carbone@iet.unipi.it>
-- Load the module at installation time
-
* Mon Jan 11 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - ipfw-0.9-9
- consistent with vsys-scripts-0.95-13