fix #21745, preserve container connectivity when the bridge changes #22850
+140
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation for this change
When a container has interfaces added to bridges on the host, there are changes to the host where the interface is removed from the bridge during switch-to-configuration as the bridge is stopped and restarted.
This tries to make the bridge only reload and preserve as much as possible.
I don't yet like the file in /run/.interfaces to remember which interfaces to remove when reloading. But we have to save this somewhere and not just remove all interfaces and re-add them as that would add removed devices. And we can't remove all enslaved devices and only add those configured as that would drop all containers from the bridge…
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)