diff --git a/Shorewall/Perl/Shorewall/Tc.pm b/Shorewall/Perl/Shorewall/Tc.pm index c2828e5cd..dd61ae7a2 100644 --- a/Shorewall/Perl/Shorewall/Tc.pm +++ b/Shorewall/Perl/Shorewall/Tc.pm @@ -153,7 +153,7 @@ our @deferred_rules; # # TCDevices Table # -# %tcdevices { -> {in_bandwidth => , +# %tcdevices { => {in_bandwidth => , # out_bandwidth => , # number => , # classify => 0|1 @@ -656,7 +656,7 @@ sub validate_tc_class( ) { if ( $classnumber ) { fatal_error "Duplicate Class NUMBER ($classnumber)" if $tcref->{$classnumber}; } else { - $classnumber = $config{WIDE_TC_MARKS} ? $tcref->{nextclass}++ : hex_value( $devnum . $markval ); + $classnumber = $config{WIDE_TC_MARKS} ? $devref->{nextclass}++ : hex_value( $devnum . $markval ); fatal_error "Duplicate MARK ($mark)" if $tcref->{$classnumber}; } } diff --git a/Shorewall/changelog.txt b/Shorewall/changelog.txt index 33a29f7b9..f1ceb4535 100644 --- a/Shorewall/changelog.txt +++ b/Shorewall/changelog.txt @@ -23,6 +23,8 @@ Changes in Shorewall 4.4.4 11) Implement the '-l' option to the 'show' command. +12) Fix class number assignment when WIDE_TC_MARKS=Yes + Changes in Shorewall 4.4.3 1) Move Debian INITLOG initialization to /etc/default/shorewall diff --git a/Shorewall/releasenotes.txt b/Shorewall/releasenotes.txt index 6ba3ae504..cdb667285 100644 --- a/Shorewall/releasenotes.txt +++ b/Shorewall/releasenotes.txt @@ -196,6 +196,17 @@ Shorewall 4.4.4 state of the provider's interface. Now, the rules are only added when the interface is available. +4) When TC_WIDE_MARKS=Yes and class numbers are not explicitly + specified in /etc/shorewall/tcclasses, duplicate class numbers + result. A typical error message is: + + ERROR: Command "tc class add dev eth3 parent 1:1 classid + 1:1 htb rate 1024kbit ceil 100000kbit prio 1 quantum 1500" + Failed + + Note that the class ID of the class being added is a duplicate of + the parent's class ID. + ---------------------------------------------------------------------------- K N O W N P R O B L E M S R E M A I N I N G ----------------------------------------------------------------------------