diff --git a/Shorewall/Perl/Shorewall/Providers.pm b/Shorewall/Perl/Shorewall/Providers.pm index 6f2a593a1..5e3ace516 100644 --- a/Shorewall/Perl/Shorewall/Providers.pm +++ b/Shorewall/Perl/Shorewall/Providers.pm @@ -41,6 +41,7 @@ our @EXPORT = qw( process_providers handle_optional_interfaces compile_updown setup_load_distribution + have_providers ); our @EXPORT_OK = qw( initialize lookup_provider ); our $VERSION = '4.4_24'; @@ -1321,6 +1322,10 @@ EOF } +sub have_providers() { + return our $providers; +} + sub setup_providers() { our $providers; diff --git a/Shorewall/Perl/Shorewall/Tc.pm b/Shorewall/Perl/Shorewall/Tc.pm index 095be3fd4..c2af68a9c 100644 --- a/Shorewall/Perl/Shorewall/Tc.pm +++ b/Shorewall/Perl/Shorewall/Tc.pm @@ -2160,7 +2160,7 @@ sub setup_tc() { setup_traffic_shaping if @tcdevices && $config{TC_ENABLED} ne 'Shared'; } - if ( $config{MANGLE_ENABLED} ) { + if ( $config{TC_ENABLED} || have_providers ) { our @tccmd = ( { match => sub ( $ ) { $_[0] eq 'SAVE' } , target => 'CONNMARK --save-mark --mask' , mark => $config{TC_EXPERT} ? HIGHMARK : SMALLMARK, @@ -2254,6 +2254,9 @@ sub setup_tc() { clear_comment; } + } + + if ( $config{MANGLE_ENABLED} ) { if ( my $fn = open_file 'secmarks' ) {