From: Hannes Laimer <h.laimer@proxmox.com>
To: Gabriel Goller <g.goller@proxmox.com>, pve-devel@lists.proxmox.com
Subject: Re: [PATCH container] lxc: debian: avoid 'inet6 auto' with debian's ifupdown2
Date: Fri, 11 Sep 2026 13:13:22 +0200 [thread overview]
Message-ID: <2dc5df98-2f89-40bd-ab34-89e06c671ca2@proxmox.com> (raw)
In-Reply-To: <20260911095623.429947-1-g.goller@proxmox.com>
lgtm!
Reviewed-by: Hannes Laimer <h.laimer@proxmox.com>
On 2026-09-11 11:56, Gabriel Goller wrote:
> Debian's ifupdown2 (3.0.0-1.3 in bookworm and trixie) does not support
> SLAAC and errors on the 'inet6 auto' stanza (Our ifupdown2 version has
> SLAAC support though).
>
> Fall back to 'manual' if the container has an ifupdown2 version without
> the 'auto' addon. SLAAC still works there, because the kernel manages
> everything on its own with the default accept_ra and autoconf sysctls.
> This is the same workaround we already use for Alpine, whose busybox
> ifupdown has no 'auto' method either.
>
> Reported-by: https://forum.proxmox.com/threads/debian-13-lxc-template-ipv4-dhcp-ipv6-slaac-launches-dhcpv6-and-breaks-backups.186269/
> Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
> ---
> src/PVE/LXC/Setup/Debian.pm | 24 +++++++++++++++++++++++-
> 1 file changed, 23 insertions(+), 1 deletion(-)
>
> diff --git a/src/PVE/LXC/Setup/Debian.pm b/src/PVE/LXC/Setup/Debian.pm
> index 837397bb3ecd..eafca59cfefe 100644
> --- a/src/PVE/LXC/Setup/Debian.pm
> +++ b/src/PVE/LXC/Setup/Debian.pm
> @@ -172,6 +172,21 @@ sub snakeoil_fixup {
> }
> }
>
> +=head3 ifupdown2_has_slaac($self)
> +
> +Checks if the ifupdown2 installation has SLAAC support. Debian's version of
> +ifupdown2 currently doesn't, our version does.
> +
> +=cut
> +
> +sub ifupdown2_has_slaac {
> + my ($self) = @_;
> +
> + my $addon_dir = '/usr/share/ifupdown2/addons';
> +
> + return $self->ct_is_directory($addon_dir) && $self->ct_file_exists("$addon_dir/auto.py");
> +}
> +
> sub remove_gateway_scripts {
> my ($attr) = @_;
> my $length = scalar(@$attr);
> @@ -300,6 +315,7 @@ sub setup_network {
> my $done_v6_hash = {};
>
> my ($os, $version) = ($conf->{ostype}, $self->{version});
> + my $slaac = ifupdown2_has_slaac($self);
> my $print_section = sub {
> return if !$section;
>
> @@ -348,7 +364,13 @@ sub setup_network {
> if (!defined($net->{address6})) {
> # no address => no iface line
> } elsif ($net->{address6} =~ /^(auto|dhcp|manual)$/) {
> - $interfaces .= "iface $ifname inet6 $1\n\n";
> + my $method = $1;
> + # the kernel does SLAAC on its own with the default sysctls, so
> + # 'manual' is the closest we can get without a working 'auto'
> + if ($method eq 'auto' && !$slaac) {
> + $method = 'manual';
> + }
> + $interfaces .= "iface $ifname inet6 $method\n\n";
> } else {
> $interfaces .= "iface $ifname inet6 static\n";
> if (
prev parent reply other threads:[~2026-09-11 11:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-11 9:56 [PATCH container] lxc: debian: avoid 'inet6 auto' with debian's ifupdown2 Gabriel Goller
2026-09-11 11:13 ` Hannes Laimer [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2dc5df98-2f89-40bd-ab34-89e06c671ca2@proxmox.com \
--to=h.laimer@proxmox.com \
--cc=g.goller@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox