From ef974b5c8d622eb0bf6c7776a9274c66bc1f2171 Mon Sep 17 00:00:00 2001 From: Tom Eastep Date: Sun, 20 May 2012 09:00:22 -0700 Subject: [PATCH] Clear the DEFAULT table if no FALLBACK providers are up. Signed-off-by: Tom Eastep --- Shorewall/Perl/Shorewall/Providers.pm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Shorewall/Perl/Shorewall/Providers.pm b/Shorewall/Perl/Shorewall/Providers.pm index 2802bb390..a31d3a4fe 100644 --- a/Shorewall/Perl/Shorewall/Providers.pm +++ b/Shorewall/Perl/Shorewall/Providers.pm @@ -1152,10 +1152,15 @@ sub finish_providers() { } emit( " progress_message \"Fallback route '\$(echo \$FALLBACK_ROUTE | sed 's/\$\\s*//')' Added\"", + 'else', + '#', + '# We don\'t have any \'fallback\' providers so we delete any default routes in the default table', + '#', + " while qt \$IP -$family route del default table " . DEFAULT_TABLE . '; do true; done', 'fi', '' ); } elsif ( $config{USE_DEFAULT_RT} ) { - emit "qt \$IP -$family route del default table " . DEFAULT_TABLE; + emit "while qt \$IP -$family route del default table " . DEFAULT_TABLE . '; do true; done'; } unless ( $config{KEEP_RT_TABLES} ) {