]> git.proxmox.com Git - pve-common.git/commitdiff
inotify: read_interfaces: add vlan-id and vlan-raw-device on dot notation vlan interfaces
authorAaron Lauterer <a.lauterer@proxmox.com>
Mon, 12 Apr 2021 13:14:38 +0000 (15:14 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 15 Jun 2021 12:41:46 +0000 (14:41 +0200)
Setting the vlan-id and vlan-raw-device value for vlan devices that
follow the dot notaton (interface.vlan) aligns how dot notation vlan
devices and vlan devices that use the explicit vlan-id and
vlan-raw-device options, available with ifupdown2, are represented in
API return values.

Previously the type for both was 'vlan' but only the latter showed more
details.

Setting these values here should not have any influence on how the
interfaces file is being written as these two values are already
filtered in __write_etc_network_interfaces for dot notation devices.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
src/PVE/INotify.pm

index 3d8070d05f14604559483897fefafa0c84371866..b3ac0ebeb83860fec0e84c36983f1ea6cc46fe16 100644 (file)
@@ -1078,10 +1078,14 @@ sub __read_etc_network_interfaces {
                $ifaces->{$1}->{exists} = 0;
                $d->{exists} = 0;
            }
-       } elsif ($iface =~ m/^(\S+)\.\d+$/ || $d->{'vlan-raw-device'}) {
+       } elsif ($iface =~ m/^(\S+)\.(\d+)$/ || $d->{'vlan-raw-device'}) {
            $d->{type} = 'vlan';
 
-           my $raw_iface = $d->{'vlan-raw-device'} ? $d->{'vlan-raw-device'} : $1;
+           $d->{'vlan-raw-device'} = $1 if $1 && !$d->{'vlan-raw-device'};
+           $d->{'vlan-id'} = $2 if $2;
+
+           my $raw_iface = $d->{'vlan-raw-device'};
+
            if (defined ($ifaces->{$raw_iface})) {
                $d->{exists} = $ifaces->{$raw_iface}->{exists};
            } else {