]> git.proxmox.com Git - pve-container.git/commitdiff
Merge branch 'sdn/dhcp-support'
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 21 Nov 2023 12:18:37 +0000 (13:18 +0100)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 21 Nov 2023 12:18:37 +0000 (13:18 +0100)
1  2 
src/PVE/LXC.pm
src/PVE/LXC/Config.pm
src/lxc-pve-prestart-hook

diff --cc src/PVE/LXC.pm
Simple merge
Simple merge
index 438ffad8c6b251bbdc90ed05996a787721589d6c,fc577e4aba24af6279ef6dfd4cdf914e3510894b..ab357743c86e08e60f933af3d2039b7fe551d8d7
@@@ -184,20 -144,17 +190,29 @@@ PVE::LXC::Tools::lxc_hook('pre-start', 
            my $minor = PVE::Tools::dev_t_minor($rdev);
            $devlist .= "b:$major:$minor:$dev\n";
        }
 -      PVE::Tools::file_set_contents($devlist_file, $devlist);
 +      PVE::Tools::file_set_contents("/var/lib/lxc/$vmid/passthrough/mounts", $devlist);
 +    }
 +
 +    if (@$passthrough_devices) {
 +      my $devlist = '';
 +      for my $dev (@$passthrough_devices) {
 +          my ($path, $mode, $rdev) = @$dev;
 +          my $major = PVE::Tools::dev_t_major($rdev);
 +          my $minor = PVE::Tools::dev_t_minor($rdev);
 +          my $device_type_char = S_ISBLK($mode) ? 'b' : 'c';
 +          $devlist .= "$device_type_char:$major:$minor:$path\n";
 +      }
 +      PVE::Tools::file_set_contents("/var/lib/lxc/$vmid/passthrough/devices", $devlist);
      }
+     if ($have_sdn) {
+       for my $k (keys %$conf) {
+           next if $k !~ /^net(\d+)/;
+           my $net = PVE::LXC::Config->parse_lxc_network($conf->{$k});
+           next if $net->{type} ne 'veth';
+           PVE::Network::SDN::Vnets::add_dhcp_mapping($net->{bridge}, $net->{hwaddr});
+       }
+     }
  });
  
  # Leftover cgroups prevent lxc from starting without any useful information