[pve-devel] [PATCH common] Fix #2711: inotify: Allow 'v' as VLAN separator

Fabian Grünbichler f.gruenbichler at proxmox.com
Wed Apr 14 13:26:00 CEST 2021


On April 14, 2021 11:53 am, Dominic Jäger wrote:
> VLANs with a name like vmbr0v5 had type UNKNOWN unless vlan-raw-device was set.
> This way we return type VLAN for them as we do for vmbr0.5

as indicated in the corresponding bug - vmbr0v5 is not a VLAN device, 
but a bridge with a VLAN device as port. this patch is thus going in the 
wrong direction ;)

> 
> Signed-off-by: Dominic Jäger <d.jaeger at proxmox.com>
> ---
>  src/PVE/INotify.pm | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm
> index 2bb87bb..adcc91a 100644
> --- a/src/PVE/INotify.pm
> +++ b/src/PVE/INotify.pm
> @@ -27,6 +27,8 @@ use base 'Exporter';
>  
>  our @EXPORT_OK = qw(read_file write_file register_file);
>  
> +my $VLAN_RE = qr!^(\S+)[v\.](\d+)$!;
> +
>  my $ccache;
>  my $ccachemap;
>  my $ccacheregex;
> @@ -1077,7 +1079,7 @@ sub __read_etc_network_interfaces {
>  		$ifaces->{$1}->{exists} = 0;
>  		$d->{exists} = 0;
>  	    }
> -	} elsif ($iface =~ m/^(\S+)\.\d+$/ || $d->{'vlan-raw-device'}) {
> +	} elsif ($iface =~ $VLAN_RE || $d->{'vlan-raw-device'}) {
>  	    $d->{type} = 'vlan';
>  
>  	    my $raw_iface = $d->{'vlan-raw-device'} ? $d->{'vlan-raw-device'} : $1;
> @@ -1550,7 +1552,7 @@ sub __write_etc_network_interfaces {
>  	    my $p = undef;
>  	    my $vlanid = undef;
>  
> -	    if ($iface =~ m/^(\S+)\.(\d+)$/) {
> +	    if ($iface =~ $VLAN_RE) {
>  		$p = $1;
>  		$vlanid = $2;
>  		delete $d->{'vlan-raw-device'} if $d->{'vlan-raw-device'};
> -- 
> 2.20.1
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 




More information about the pve-devel mailing list