jpirko / libteam

team netdevice library
GNU Lesser General Public License v2.1
231 stars 59 forks source link

teamd: make -NN not flush the ports #71

Closed lkundrak closed 2 years ago

lkundrak commented 2 years ago

Add a possibility to terminate while leaving the team and the port intact. This is useful when running from NetworkManager which keeps tracks of the ports themselves.

There's one important use case where this is essential: handover from initrd to real root. Systemd's isolation of swithch-root.target stops NetworkManager.service and then terminates its kids, including teamd. The real NetworkManager.service would eventually catch up and restart it, but there's a short period when team ports are removed which is not great if we're booting off that device. Also, it may be that ports come up in different order, causing team to get a different MAC address, which will invalidate the DHCP lease we got beforehands and screwing up L3 addressing.

Let's also not add new option for this purpose, to save poor NetworkManager from unpleasantness of determining whether teamd supports it. The worst that could happen, with new NetworkManager and old teamd, is that things will behave the the way they always did.

Related NetworkManager change: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1360

Signed-off-by: Lubomir Rintel lkundrak@v3.sk

lkundrak commented 2 years ago

(filed a pull request because an e-mail submission got unanswered)

jpirko commented 2 years ago

Please send this over email. See: SubmittingPatches

lkundrak commented 2 years ago

Please send this over email. See: SubmittingPatches

Done so, never heard back.

The mail server accepted the message, I didn't get a negative delivery report, but I can't see it in the archive.