Don't restore default routes when there is an enabled fallback provider

Signed-off-by: Tom Eastep <teastep@shorewall.net>
This commit is contained in:
Tom Eastep 2017-10-11 11:24:13 -07:00
parent bfab002dda
commit cb4f9e7261
No known key found for this signature in database
GPG Key ID: 96E6B3F2423A4D10
2 changed files with 4 additions and 1 deletions

View File

@ -1005,6 +1005,8 @@ CEOF
emit qq(echo "\$IP -$family route del default dev $physical table $id > /dev/null 2>&1" >> \${VARDIR}/undo_${table}_routing); emit qq(echo "\$IP -$family route del default dev $physical table $id > /dev/null 2>&1" >> \${VARDIR}/undo_${table}_routing);
} }
emit( 'g_fallback=Yes' ) if $persistent;
$metrics = 1; $metrics = 1;
} }
@ -1592,7 +1594,7 @@ sub finish_providers() {
' error_message "WARNING: No Default route added (all \'balance\' providers are down)"' ); ' error_message "WARNING: No Default route added (all \'balance\' providers are down)"' );
if ( $config{RESTORE_DEFAULT_ROUTE} ) { if ( $config{RESTORE_DEFAULT_ROUTE} ) {
emit qq( [ -z "\$FALLBACK_ROUTE" ] && restore_default_route $config{USE_DEFAULT_RT} && error_message "NOTICE: Default route restored") emit qq( [ -z "\${FALLBACK_ROUTE}\${g_fallback}" ] && restore_default_route $config{USE_DEFAULT_RT} && error_message "NOTICE: Default route restored")
} else { } else {
emit qq( qt \$IP -$family route del default table $table && error_message "WARNING: Default route deleted from table $table"); emit qq( qt \$IP -$family route del default table $table && error_message "WARNING: Default route deleted from table $table");
} }

View File

@ -132,6 +132,7 @@ g_docker=
g_dockeringress= g_dockeringress=
g_dockernetwork= g_dockernetwork=
g_forcereload= g_forcereload=
g_fallback=
[ -n "$SERVICEDIR" ] && SUBSYSLOCK= [ -n "$SERVICEDIR" ] && SUBSYSLOCK=