forked from extern/shorewall_code
Add 'TC_ENABLED=Shared' support
This commit is contained in:
parent
5bae689fe1
commit
2d8785d574
@ -3217,6 +3217,8 @@ sub get_configuration( $ ) {
|
|||||||
$globals{TC_SCRIPT} = $file;
|
$globals{TC_SCRIPT} = $file;
|
||||||
} elsif ( $val eq 'internal' ) {
|
} elsif ( $val eq 'internal' ) {
|
||||||
$config{TC_ENABLED} = 'Internal';
|
$config{TC_ENABLED} = 'Internal';
|
||||||
|
} elsif ( $val eq 'shared' ) {
|
||||||
|
$config{TC_ENABLED} = 'Shared';
|
||||||
} elsif ( $val eq 'simple' ) {
|
} elsif ( $val eq 'simple' ) {
|
||||||
$config{TC_ENABLED} = 'Simple';
|
$config{TC_ENABLED} = 'Simple';
|
||||||
} else {
|
} else {
|
||||||
|
@ -254,7 +254,7 @@ sub process_tc_rule( ) {
|
|||||||
} else {
|
} else {
|
||||||
fatal_error "Invalid MARK ($originalmark)" unless $mark =~ /^([0-9]+|0x[0-9a-f]+)$/ and $designator =~ /^([0-9]+|0x[0-9a-f]+)$/;
|
fatal_error "Invalid MARK ($originalmark)" unless $mark =~ /^([0-9]+|0x[0-9a-f]+)$/ and $designator =~ /^([0-9]+|0x[0-9a-f]+)$/;
|
||||||
|
|
||||||
if ( $config{TC_ENABLED} eq 'Internal' ) {
|
if ( $config{TC_ENABLED} eq 'Internal' || $config{TC_ENABLED} eq 'Shared' ) {
|
||||||
fatal_error "Unknown Class ($originalmark)}" unless ( $device = $classids{$originalmark} );
|
fatal_error "Unknown Class ($originalmark)}" unless ( $device = $classids{$originalmark} );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -424,7 +424,7 @@ sub process_tc_rule( ) {
|
|||||||
#
|
#
|
||||||
# expand_rule() returns destination device if any
|
# expand_rule() returns destination device if any
|
||||||
#
|
#
|
||||||
fatal_error "Class Id $originalmark is not associated with device $result" if $config{TC_ENABLED} eq 'Internal' && $device ne $result;
|
fatal_error "Class Id $originalmark is not associated with device $result" if $device ne $result &&( $config{TC_ENABLED} eq 'Internal' || $config{TC_ENABLED} eq 'Shared' );
|
||||||
}
|
}
|
||||||
|
|
||||||
progress_message " TC Rule \"$currentline\" $done";
|
progress_message " TC Rule \"$currentline\" $done";
|
||||||
@ -1331,6 +1331,7 @@ sub setup_traffic_shaping() {
|
|||||||
validate_tc_class while read_a_line;
|
validate_tc_class while read_a_line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unless ( $config{TC_ENABLED} eq 'Shared' ) {
|
||||||
for my $device ( @tcdevices ) {
|
for my $device ( @tcdevices ) {
|
||||||
my $devref = $tcdevices{$device};
|
my $devref = $tcdevices{$device};
|
||||||
my $defmark = in_hexp ( $devref->{default} || 0 );
|
my $defmark = in_hexp ( $devref->{default} || 0 );
|
||||||
@ -1504,7 +1505,7 @@ sub setup_traffic_shaping() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
process_tcfilters;
|
process_tcfilters;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1615,7 +1616,7 @@ sub setup_tc() {
|
|||||||
if ( $globals{TC_SCRIPT} ) {
|
if ( $globals{TC_SCRIPT} ) {
|
||||||
save_progress_message q('Setting up Traffic Control...');
|
save_progress_message q('Setting up Traffic Control...');
|
||||||
append_file $globals{TC_SCRIPT};
|
append_file $globals{TC_SCRIPT};
|
||||||
} elsif ( $config{TC_ENABLED} eq 'Internal' ) {
|
} elsif ( $config{TC_ENABLED} eq 'Internal' || $config{TC_ENABLED} eq 'Shared' ) {
|
||||||
setup_traffic_shaping;
|
setup_traffic_shaping;
|
||||||
} elsif ( $config{TC_ENABLED} eq 'Simple' ) {
|
} elsif ( $config{TC_ENABLED} eq 'Simple' ) {
|
||||||
setup_simple_traffic_shaping;
|
setup_simple_traffic_shaping;
|
||||||
|
Loading…
Reference in New Issue
Block a user