forked from extern/shorewall_code
Don't emit 'enable' code for required providers
Signed-off-by: Tom Eastep <teastep@shorewall.net>
This commit is contained in:
parent
e1afc645ba
commit
fcb8fa79c0
@ -615,46 +615,44 @@ sub add_a_provider( $$ ) {
|
||||
emit $_ for @{$providers{$table}->{routes}};
|
||||
}
|
||||
|
||||
emit( '',
|
||||
'if [ $COMMAND = enable ]; then'
|
||||
);
|
||||
emit( '' );
|
||||
|
||||
push_indent;
|
||||
|
||||
my ( $tbl, $weight );
|
||||
|
||||
if ( $balance || $default ) {
|
||||
$tbl = $default || $config{USE_DEFAULT_RT} ? DEFAULT_TABLE : MAIN_TABLE;
|
||||
$weight = $balance ? $balance : $default;
|
||||
|
||||
if ( $gateway ) {
|
||||
emit qq(add_gateway "nexthop via $gateway dev $physical weight $weight $realm" ) . $tbl;
|
||||
} else {
|
||||
emit qq(add_gateway "nexthop dev $physical weight $weight $realm" ) . $tbl;
|
||||
}
|
||||
|
||||
} else {
|
||||
$weight = 1;
|
||||
}
|
||||
|
||||
emit( "setup_${dev}_tc" ) if $tcdevices->{$interface};
|
||||
|
||||
emit ( qq(progress_message2 " Provider $table ($number) Started") );
|
||||
|
||||
pop_indent;
|
||||
|
||||
emit( 'else' );
|
||||
my ( $tbl, $weight );
|
||||
|
||||
if ( $optional ) {
|
||||
emit " echo $weight > \${VARDIR}/${physical}_weight";
|
||||
emit( 'if [ $COMMAND = enable ]; then' );
|
||||
|
||||
push_indent;
|
||||
|
||||
if ( $balance || $default ) {
|
||||
$tbl = $default || $config{USE_DEFAULT_RT} ? DEFAULT_TABLE : MAIN_TABLE;
|
||||
$weight = $balance ? $balance : $default;
|
||||
|
||||
if ( $gateway ) {
|
||||
emit qq(add_gateway "nexthop via $gateway dev $physical weight $weight $realm" ) . $tbl;
|
||||
} else {
|
||||
emit qq(add_gateway "nexthop dev $physical weight $weight $realm" ) . $tbl;
|
||||
}
|
||||
|
||||
} else {
|
||||
$weight = 1;
|
||||
}
|
||||
|
||||
emit( "setup_${dev}_tc" ) if $tcdevices->{$interface};
|
||||
|
||||
emit ( qq(progress_message2 " Provider $table ($number) Started") );
|
||||
|
||||
pop_indent;
|
||||
|
||||
emit( 'else' ,
|
||||
qq( echo $weight > \${VARDIR}/${physical}_weight) ,
|
||||
qq( progress_message " Provider $table ($number) Started"),
|
||||
qq(fi\n)
|
||||
);
|
||||
} else {
|
||||
emit " rm -f \${VARDIR}/${physical}_weight";
|
||||
emit( qq(progress_message "Provider $table ($number) Started") );
|
||||
}
|
||||
|
||||
emit( " progress_message " Provider $table ($number) Started"",
|
||||
"fi\n"
|
||||
);
|
||||
|
||||
|
||||
pop_indent;
|
||||
|
||||
emit 'else';
|
||||
|
Loading…
Reference in New Issue
Block a user