On Mon, Sep 23, 2024 at 05:48:53PM +0200, Philipp Kern wrote:
> > > > I like ifupdown. It's simple and just works.
> > > 
> > > I find this quite funny, given a recent discussion about IPv6 dad
> > > issues with ifupdown on #debian-admin.
> > 
> > The "discussion" was about ifup@eth0 being in a failed state on a
> > particular server due to a DAD failure and someone having to manually
> > intervene.
> 
> I find my ghost being invoked here.
> 
> > Chris, what behaviour do you expect here? Below I'm going to assume what
> > you're getting at is that we should continue to retry DAD.
> > 
> > To me going to a stable failure state seems desirable. Continuing to re-try
> > for IPs could cause instability in the face of legitimate address
> > conflicts: when the owning machine reboots the conflicting machine would
> > now win the IP due to continous retrying. The change in owner would cause
> > disruption to services entirely unrelated to the machine that was just
> > rebooted.
> 
> DAD did not fail, it timed out after 60 sleeps of 0.1, aka 6s. The kernel
> subsequently succeeded to configure the network. The script in question was
> added in response to [1] and [2] to have a pause during boot to give the
> kernel time to resolve the situation before continuing the bootup. So it
> left the race around because there's not that much it can do better as a
> script-based setup without much state.

I'm not familiar with the discussion on #debian-admin, so the details
may be different, but I can point to a specific use case where we want
DAD/SLAAC failure handled without marking the interface as failed.  The
cloud team wanted to produce working images that would support both
IPv4-only and dualstack environments transparently, without knowing the
type of environment in advance or requiring admin intervention. [1]

We ended up coming up with something that worked, but it would have been
nice if ifupdown could have handled this more gracefully. [2]

We have since transitioned to systemd-networkd and netplan; bullseye is
the last generation of cloud images to use ifupdown.  Although the above
issue certainly contributed to this decision, the primary driver for the
netplan change was the cloud-init integration.

noah

1. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804396#17
2. 
https://salsa.debian.org/cloud-team/debian-cloud-images/-/tree/master/config_space/bullseye/files/etc/network

Reply via email to