mirror of
https://gitlab.com/shorewall/code.git
synced 2025-02-23 05:01:34 +01:00
Don't specify MTU in tc add class commands unless necessary
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@5896 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
4fc6f1e3ea
commit
89d2ff16ab
@ -414,7 +414,8 @@ sub setup_traffic_shaping() {
|
||||
"qt tc qdisc del dev $device ingress",
|
||||
"run_tc qdisc add dev $device root handle $devnum: htb default $defmark",
|
||||
"${dev}_mtu=\$(get_device_mtu $device)",
|
||||
"run_tc class add dev $device parent $devnum: classid $devnum:1 htb rate $devref->{out_bandwidth} mtu \$${dev}_mtu"
|
||||
"${dev}_mtu1=\$(get_device_mtu1 $device)",
|
||||
"run_tc class add dev $device parent $devnum: classid $devnum:1 htb rate $devref->{out_bandwidth} \$${dev}_mtu1"
|
||||
);
|
||||
|
||||
my $inband = rate_to_kbit $devref->{in_bandwidth};
|
||||
@ -464,7 +465,7 @@ sub setup_traffic_shaping() {
|
||||
}
|
||||
|
||||
emitj( "[ \$${dev}_mtu -gt $quantum ] && quantum=\$${dev}_mtu || quantum=$quantum",
|
||||
"run_tc class add dev $device parent $devref->{number}:1 classid $classid htb rate $rate ceil $tcref->{ceiling} prio $tcref->{priority} mtu \$${dev}_mtu quantum \$quantum",
|
||||
"run_tc class add dev $device parent $devref->{number}:1 classid $classid htb rate $rate ceil $tcref->{ceiling} prio $tcref->{priority} \$${dev}_mtu1 quantum \$quantum",
|
||||
"run_tc qdisc add dev $device parent $classid handle ${prefix}${mark}: sfq perturb 10"
|
||||
);
|
||||
#
|
||||
|
@ -150,3 +150,18 @@ restore_dynamic_rules() {
|
||||
fi
|
||||
}
|
||||
|
||||
get_device_mtu1() # $1 = device
|
||||
{
|
||||
local output="$(ip link ls dev $1 2> /dev/null)" # quotes required for /bin/ash
|
||||
local mtu
|
||||
|
||||
if [ -n "$output" ]; then
|
||||
mtu=$(find_mtu $output)
|
||||
else
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -n "$mtu" ]; then
|
||||
[ $mtu = 1500 ] || echo mtu $(($mtu + 100))
|
||||
fi
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user