[pve-devel] [PATCH RFC firewall 2/2] firewall: adjust to new qemu-server module structure

Christoph Heiss c.heiss at proxmox.com
Wed Jul 2 15:09:34 CEST 2025


PVE::QemuServer::parse_net() was moved to PVE::QemuServer::Network in
qemu-server eac162a86 ("introduce Network module"), so adjust all
references here accordingly.

Signed-off-by: Christoph Heiss <c.heiss at proxmox.com>
---
This would require a corresponding `Depends` entry update in d/control.
But currently, this dependency is not recorded to due being cyclic - at
least according to the comment at the top of the file.

I've thus marked this patch as RFC & left that change out for now - but
somehow this API break must be versioned properly. Maybe someone with
more insight can chime in here?

 src/PVE/Firewall.pm          | 6 +++---
 src/PVE/FirewallSimulator.pm | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/PVE/Firewall.pm b/src/PVE/Firewall.pm
index 13112be..41b740a 100644
--- a/src/PVE/Firewall.pm
+++ b/src/PVE/Firewall.pm
@@ -4363,7 +4363,7 @@ sub compile_iptables_filter {
 
             foreach my $netid (sort keys %$conf) {
                 next if $netid !~ m/^net(\d+)$/;
-                my $net = PVE::QemuServer::parse_net($conf->{$netid});
+                my $net = PVE::QemuServer::Network::parse_net($conf->{$netid});
                 next if !$net->{firewall};
 
                 my $iface = "tap${vmid}i$1";
@@ -4503,7 +4503,7 @@ sub compile_ipsets {
             my $device_ips = {};
             foreach my $netid (keys %$conf) {
                 next if $netid !~ m/^net(\d+)$/;
-                my $net = PVE::QemuServer::parse_net($conf->{$netid});
+                my $net = PVE::QemuServer::Network::parse_net($conf->{$netid});
                 next if !$net->{firewall};
 
                 if ($vmfw_conf->{options}->{ipfilter} && !$ipsets->{"ipfilter-$netid"}) {
@@ -4623,7 +4623,7 @@ sub compile_ebtables_filter {
 
             foreach my $netid (sort keys %$conf) {
                 next if $netid !~ m/^net(\d+)$/;
-                my $net = PVE::QemuServer::parse_net($conf->{$netid});
+                my $net = PVE::QemuServer::Network::parse_net($conf->{$netid});
                 next if !$net->{firewall};
                 my $iface = "tap${vmid}i$1";
                 my $macaddr = $net->{macaddr};
diff --git a/src/PVE/FirewallSimulator.pm b/src/PVE/FirewallSimulator.pm
index 877e646..0a3100b 100644
--- a/src/PVE/FirewallSimulator.pm
+++ b/src/PVE/FirewallSimulator.pm
@@ -491,7 +491,7 @@ sub extract_vm_info {
     my $info = { type => 'vm', vmid => $vmid };
 
     my $conf = $vmdata->{qemu}->{$vmid} || die "no such VM '$vmid'";
-    my $net = PVE::QemuServer::parse_net($conf->{"net$netnum"});
+    my $net = PVE::QemuServer::Network::parse_net($conf->{"net$netnum"});
     $info->{macaddr} = $net->{macaddr} || die "unable to get mac address";
     $info->{bridge} = $net->{bridge} || die "unable to get bridge";
     $info->{fwbr} = "fwbr${vmid}i$netnum";
-- 
2.49.0





More information about the pve-devel mailing list