SDN VXLAN over IPv6

pizza

Renowned Member
Nov 7, 2015
96
8
73
I'm trying to create a VXLAN between nodes with a IPv6 only address. Proxmox cluster runs fine over IPv6.

After SDN apply I get this error:


Code:
vxlan_vnet1 : error: vxlan_vnet1: vxlan-remoteip: Expected 4 octets in '2a01:x:x:x::2'

TASK ERROR: command 'ifreload -a' failed: exit code 1
 
  • Like
Reactions: ospf
I got this error today.
Can confirm this is a problem after 2 years later.
 
Proxmox dev replied on Bug 5398 - SDN VXLAN unable to use IPv6 Peers:

3.10 of ifupdown2 should include VXLAN IPv6 support, so we decided to hold off on merging those patches since they would most likely be incompatible with how ifupdown2 handles IPv6 settings for VXLAN tunnels.

I checked one of our lab PVE hosts. It is running PVE 8.3.3 (no-sub) and has ifupdown2: 3.2.0-1+pmx11
 
Last edited:
  • Like
Reactions: weehooey-bh
but it now fails a version check by - trying to figure out to fix that, @fba suggested adding something like pmx+11 to the version string, i did that and it still fails as there seems to be some sort of interesting mathematical calc as well as the version string comparison.....

Fixed, i asked chatgpt to evaluate the code and suggest version strings that would work.

These formats will pass:
  • 1.2.8-pve1
  • 1.3.0-proxmox2
  • 2.0.1-pmx
This worked, sorry for being that rando - i know i keep doing it :-(


Code:
info: executing /usr/bin/dpkg -l ifupdown2
Argument "0+pmx11" isn't numeric in multiplication (*) at /usr/share/perl5/PVE/API2/Network.pm line 757.
incompatible 'ifupdown2' package version '3.3.0+pmx11'! Did you installed from Proxmox repositories?
this is the code in network.pm - can comeone suggest what version string i need to add to the package, i know how to use dch to do that as you can see, just don't know what to set it to.

oh or just using dch to set the version to 3.3.0+pmx was the wrong way to do it? (if so thanks chatgpt ;-) )

(i am not a programmer in any way whatsoever so please exuse my densness if it is obvious)

Code:
sub ifupdown2_version {
    my $v;
    PVE::Tools::run_command(['ifreload', '-V'], outfunc => sub { $v //= shift });
    return if !defined($v) || $v !~ /^\s*ifupdown2:(\S+)\s*$/;
    $v = $1;
    my ($major, $minor, $extra, $pve) = split(/\.|-/, $v);
    my $is_pve = defined($pve) && $pve =~ /(pve|pmx|proxmox)/;

    return ($major * 100000 + $minor * 1000 + $extra * 10, $is_pve, $v);
}
sub assert_ifupdown2_installed {
    die "you need ifupdown2 to reload network configuration\n" if ! -e '/usr/share/ifupdown2';
    my ($v, $pve, $v_str) = ifupdown2_version();
    die "incompatible 'ifupdown2' package version '$v_str'! Did you installed from Proxmox repositories?\n"
        if $v < (1*100000 + 2*1000 + 8*10) || !$pve;
}

or should i just ask alprd for their deb files like they suggested glibly on the guthib issue... /jk
 
Last edited:
  • Like
Reactions: weehooey-bh