mirror of
https://gitlab.com/shorewall/code.git
synced 2025-06-20 09:47:51 +02:00
Finish integrating tc4shorewall with save/restore/refresh
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@2620 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
757ebcd164
commit
611e987cfc
@ -3758,6 +3758,12 @@ refresh_tc() {
|
|||||||
done < $TMP_DIR/tcrules
|
done < $TMP_DIR/tcrules
|
||||||
else
|
else
|
||||||
setup_tc1
|
setup_tc1
|
||||||
|
|
||||||
|
f=$(find_file tcstart)
|
||||||
|
|
||||||
|
if [ -x &f ]; then
|
||||||
|
eval $f
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -226,9 +226,11 @@ Migration Considerations:
|
|||||||
ACCEPT them. See http://www.shorewall.net/VPNBasics.html for
|
ACCEPT them. See http://www.shorewall.net/VPNBasics.html for
|
||||||
information on the rules generated by entries in the tunnels file.
|
information on the rules generated by entries in the tunnels file.
|
||||||
|
|
||||||
10) In previous releases, the "refresh" command would run your tcstart
|
10) In previous releases, the "refresh" command would source your tcstart
|
||||||
script. Beginning with this release, "refresh" will not run the
|
script. Beginning with this release, "refresh" will run that script
|
||||||
tcstart script.
|
if it is executable but will not source it. Users of third-party TC
|
||||||
|
scripts like WonderShaper should see no change provided that
|
||||||
|
execute permission is placed on /etc/shorewall/tcstart.
|
||||||
|
|
||||||
New Features in Shorewall 2.5.*
|
New Features in Shorewall 2.5.*
|
||||||
|
|
||||||
|
@ -4,6 +4,35 @@
|
|||||||
# (c) 2005 Arne Bernin <arne@ucbering.de>
|
# (c) 2005 Arne Bernin <arne@ucbering.de>
|
||||||
# published under GPL Version 2
|
# published under GPL Version 2
|
||||||
|
|
||||||
|
if [ -z "$COMMAND" ]; then
|
||||||
|
SHOREWALL_DIR=.
|
||||||
|
SHARED_DIR=/usr/share/shorewall
|
||||||
|
FUNCTIONS=$SHARED_DIR/functions
|
||||||
|
|
||||||
|
. $FUNCTIONS
|
||||||
|
|
||||||
|
ensure_and_save_command()
|
||||||
|
{
|
||||||
|
if ! eval $* ; then
|
||||||
|
[ -n "$TMP_DIR" ] && rm -rf $TMP_DIR
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
run_and_save_command() { eval $*; }
|
||||||
|
|
||||||
|
save_progress_message() { echo $@; }
|
||||||
|
|
||||||
|
fatal_error()
|
||||||
|
{
|
||||||
|
echo " ERROR: $@" >&2
|
||||||
|
[ -n "$TMP_DIR" ] && rm -rf $TMP_DIR
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
|
||||||
|
TMP_DIR=
|
||||||
|
TMP_DIR=$(mktempdir)
|
||||||
|
fi
|
||||||
|
|
||||||
setup_traffic_shaping()
|
setup_traffic_shaping()
|
||||||
{
|
{
|
||||||
@ -141,8 +170,8 @@ setup_traffic_shaping()
|
|||||||
add_root_tc() {
|
add_root_tc() {
|
||||||
local defmark
|
local defmark
|
||||||
defmark=$(get_defmark_for_dev $device)
|
defmark=$(get_defmark_for_dev $device)
|
||||||
run_and_save_command "tc qdisc del dev $device root 2>/dev/null > /dev/null"
|
run_and_save_command qt tc qdisc del dev $device root
|
||||||
run_and_save_command "tc qdisc del dev $device ingress 2>/dev/null > /dev/null"
|
run_and_save_command qt tc qdisc del dev $device ingress
|
||||||
ensure_and_save_command tc qdisc add dev $device root handle 1: htb default 1$defmark
|
ensure_and_save_command tc qdisc add dev $device root handle 1: htb default 1$defmark
|
||||||
ensure_and_save_command tc class add dev $device parent 1: classid 1:1 htb rate $outband
|
ensure_and_save_command tc class add dev $device parent 1: classid 1:1 htb rate $outband
|
||||||
ensure_and_save_command tc qdisc add dev $device handle ffff: ingress
|
ensure_and_save_command tc qdisc add dev $device handle ffff: ingress
|
||||||
@ -223,4 +252,4 @@ setup_traffic_shaping()
|
|||||||
|
|
||||||
setup_traffic_shaping
|
setup_traffic_shaping
|
||||||
|
|
||||||
[ -n "$COMMAND" -a "$COMMAND" != restore ] || rm -rf $TMP_DIR
|
[ -n "$COMMAND" ] || rm -rf $TMP_DIR
|
||||||
|
Loading…
x
Reference in New Issue
Block a user