--- If this fails we still want to be able to show the network interfaces on the GUI, so return [] instead of die()-ing.
Also, note that while either address family seems to work even with net.ipv6.conf.all.disable_ipv6=1 a reported error on the forum indicates that the socket might not open under some circumstances (perhaps a custom kernel with ipv6 not compiled in?), so just try the other packet family, too, if opening the socket fails. src/PVE/Network.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/PVE/Network.pm b/src/PVE/Network.pm index 56af2ed..78529e1 100644 --- a/src/PVE/Network.pm +++ b/src/PVE/Network.pm @@ -532,8 +532,10 @@ sub get_active_interfaces { open my $fh, '<', '/proc/net/dev' or die "failed to open /proc/net/dev: $!\n"; # And filter by IFF_UP flag fetched via a PF_INET6 socket ioctl: - socket my $sock, PF_INET6, SOCK_DGRAM, &IPPROTO_IP - or die "failed to open socket\n"; + my $sock; + socket($sock, PF_INET6, SOCK_DGRAM, &IPPROTO_IP) + or socket($sock, PF_INET, SOCK_DGRAM, &IPPROTO_IP) + or return []; my $ifaces = []; while(defined(my $line = <$fh>)) { -- 2.1.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel