forked from extern/shorewall_code
Streamline module processing
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@4545 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
2f1fcbb558
commit
090f19f02a
@ -172,54 +172,31 @@ deleteallchains() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Load a Kernel Module
|
# Reload the Modules
|
||||||
#
|
#
|
||||||
loadmodule() # $1 = module name, $2 - * arguments
|
reload_kernel_modules() {
|
||||||
{
|
|
||||||
local modulename=$1
|
local save_modules_dir=$MODULESDIR
|
||||||
local modulefile
|
local directory
|
||||||
local suffix
|
local moduledirectories=
|
||||||
moduleloader=modprobe
|
local moduleloader=modprobe
|
||||||
|
|
||||||
if ! qt mywhich modprobe; then
|
if ! qt mywhich modprobe; then
|
||||||
moduleloader=insmod
|
moduleloader=insmod
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! list_search $modulename $MODULES ; then
|
[ -z "$MODULESDIR" ] && MODULESDIR=/lib/modules/$(uname -r)/kernel/net/ipv4/netfilter:/lib/modules/$(uname -r)/kernel/net/netfilter
|
||||||
shift
|
|
||||||
|
|
||||||
for suffix in $MODULE_SUFFIX ; do
|
|
||||||
modulefile=$MODULESDIR/${modulename}.${suffix}
|
|
||||||
|
|
||||||
if [ -f $modulefile ]; then
|
|
||||||
case $moduleloader in
|
|
||||||
insmod)
|
|
||||||
insmod $modulefile $*
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
modprobe $modulename $*
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
MODULES=$(lsmod | cut -d ' ' -f1)
|
MODULES=$(lsmod | cut -d ' ' -f1)
|
||||||
break
|
|
||||||
fi
|
for directory in $(split $MODULESDIR); do
|
||||||
|
[ -d $directory ] && moduledirectories="$moduledirectories $directory"
|
||||||
done
|
done
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# Reload the Modules
|
|
||||||
#
|
|
||||||
reload_kernel_modules() {
|
|
||||||
|
|
||||||
[ -z "$MODULESDIR" ] && MODULESDIR=/lib/modules/$(uname -r)/kernel/net/ipv4/netfilter
|
|
||||||
MODULES=$(lsmod | cut -d ' ' -f1)
|
|
||||||
|
|
||||||
while read command; do
|
while read command; do
|
||||||
eval $command
|
eval $command
|
||||||
done
|
done
|
||||||
|
|
||||||
|
MODULESDIR=$save_modules_dir
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -227,14 +204,25 @@ reload_kernel_modules() {
|
|||||||
#
|
#
|
||||||
load_kernel_modules()
|
load_kernel_modules()
|
||||||
{
|
{
|
||||||
save_modules_dir=$MODULESDIR
|
local save_modules_dir=$MODULESDIR
|
||||||
|
local directory
|
||||||
|
local moduledirectories=
|
||||||
|
local moduleloader=modprobe
|
||||||
|
|
||||||
|
if ! qt mywhich modprobe; then
|
||||||
|
moduleloader=insmod
|
||||||
|
fi
|
||||||
|
|
||||||
[ -z "$MODULESDIR" ] && \
|
[ -z "$MODULESDIR" ] && \
|
||||||
MODULESDIR=/lib/modules/$(uname -r)/kernel/net/ipv4/netfilter
|
MODULESDIR=/lib/modules/$(uname -r)/kernel/net/ipv4/netfilter:/lib/modules/$(uname -r)/kernel/net/netfilter
|
||||||
|
|
||||||
|
for directory in $(split $MODULESDIR); do
|
||||||
|
[ -d $directory ] && moduledirectories="$moduledirectories $directory"
|
||||||
|
done
|
||||||
|
|
||||||
modules=$(find_file modules)
|
modules=$(find_file modules)
|
||||||
|
|
||||||
if [ -f $modules -a -d $MODULESDIR ]; then
|
if [ -f $modules -a -n "$moduledirectories" ]; then
|
||||||
MODULES=$(lsmod | cut -d ' ' -f1)
|
MODULES=$(lsmod | cut -d ' ' -f1)
|
||||||
progress_message "Loading Modules..."
|
progress_message "Loading Modules..."
|
||||||
. $modules
|
. $modules
|
||||||
|
Loading…
x
Reference in New Issue
Block a user