Minor code cleanup in Tc

This commit is contained in:
Tom Eastep 2009-05-06 13:40:18 -07:00
parent 71480f38e2
commit c9538bbdee

View File

@ -965,14 +965,6 @@ sub setup_traffic_shaping() {
"run_tc class add dev $device parent $devnum: classid $devnum:1 htb rate $devref->{out_bandwidth} \$${dev}_mtu1" "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};
if ( $inband ) {
emit ( "run_tc qdisc add dev $device handle ffff: ingress",
"run_tc filter add dev $device parent ffff: protocol ip prio 10 u32 match ip src 0.0.0.0/0 police rate ${inband}kbit burst 10k drop flowid :1"
);
}
if ( $devref->{occurs} ) { if ( $devref->{occurs} ) {
# #
# The following command succeeds yet generates an error message and non-zero exit status :-(. We thus run it silently and check # The following command succeeds yet generates an error message and non-zero exit status :-(. We thus run it silently and check
@ -987,6 +979,14 @@ sub setup_traffic_shaping() {
qq(fi) ); qq(fi) );
} }
my $inband = rate_to_kbit $devref->{in_bandwidth};
if ( $inband ) {
emit ( "run_tc qdisc add dev $device handle ffff: ingress",
"run_tc filter add dev $device parent ffff: protocol ip prio 10 u32 match ip src 0.0.0.0/0 police rate ${inband}kbit burst 10k drop flowid :1"
);
}
for my $rdev ( @{$devref->{redirected}} ) { for my $rdev ( @{$devref->{redirected}} ) {
emit ( "run_tc qdisc add dev $rdev handle ffff: ingress" ); emit ( "run_tc qdisc add dev $rdev handle ffff: ingress" );
emit( "run_tc filter add dev $rdev parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev $device > /dev/null" ); emit( "run_tc filter add dev $rdev parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev $device > /dev/null" );
@ -1147,9 +1147,7 @@ sub setup_tc() {
} }
} }
for ( @deferred_rules ) { add_rule ensure_chain( 'mangle' , 'tcpost' ), $_ for @deferred_rules;
add_rule ensure_chain( 'mangle' , 'tcpost' ), $_;
}
handle_stickiness( $sticky ); handle_stickiness( $sticky );
} }