[pve-devel] applied: [PATCH v3 container] fix #1885: delete old route when changing gateway

Wolfgang Bumiller w.bumiller at proxmox.com
Tue Sep 4 11:12:47 CEST 2018


applied

On Tue, Sep 04, 2018 at 09:24:29AM +0200, David Limbeck wrote:
> if the gateway is not in the subnet of the ip a route is
> added. this change enables the deletion of the old route when it
> is no longer needed.
> 
> Signed-off-by: David Limbeck <d.limbeck at proxmox.com>
> ---
> changes since v2:
>  - added $oldip check
>  - changed comment
>  - changed commit message
> 
>  src/PVE/LXC.pm | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
> index 1504bd0..0b57ae9 100644
> --- a/src/PVE/LXC.pm
> +++ b/src/PVE/LXC.pm
> @@ -791,9 +791,10 @@ sub update_ipconfig {
>  	my $newip = $newnet->{$ip};
>  	my $newgw = $newnet->{$gw};
>  	my $oldip = $optdata->{$ip};
> +	my $oldgw = $optdata->{$gw};
>  
>  	my $change_ip = &$safe_string_ne($oldip, $newip);
> -	my $change_gw = &$safe_string_ne($optdata->{$gw}, $newgw);
> +	my $change_gw = &$safe_string_ne($oldgw, $newgw);
>  
>  	return if !$change_ip && !$change_gw;
>  
> @@ -836,6 +837,11 @@ sub update_ipconfig {
>  		# warn and continue
>  		warn $@ if $@;
>  	    }
> +	    if ($oldgw && $oldip && !PVE::Network::is_ip_in_cidr($oldgw, $oldip)) {
> +		eval { &$ipcmd($family_opt, 'route', 'del', $oldgw, 'dev', $eth); };
> +		# warn if the route was deleted manually
> +		warn $@ if $@;
> +	    }
>  	}
>  
>  	# from this point on we save the configuration
> -- 
> 2.11.0



More information about the pve-devel mailing list