feat(networkd): add ipv6 ra overrides (LP: #1973222)#461
feat(networkd): add ipv6 ra overrides (LP: #1973222)#461slyon merged 16 commits intocanonical:mainfrom
Conversation
daniloegea
left a comment
There was a problem hiding this comment.
Hello, thank you so much for your contribution. I think it's an important addition to Netplan!
The current version of networkd supports many other options for [IPv6AcceptRA] but we can extend it later. We usually target the recent versions of the backends we support.
I left a few suggestions in your PR I'd like you to consider.
Thank you :)
slyon
left a comment
There was a problem hiding this comment.
Thank you very much for your contribution to Netplan! You touched quite a few modules to get this change landed. Kudos for working through all of them!
Thanks for working through Danilo's recommendations already! I left plenty of additional inline comments. It's mostly small stuff that should be relatively easy to fix.
Regarding the YAML schema addition, I mostly agree with your proposal. It matches networkd's naming and I couldn't find corresponding NetworkManager settings. But I think should consider renaming the new setting to ra-overrides staying consistent with the accept-ra setting that it relates to (without the "ipv6" prefix). Furthermore, I think we should rename route-table to just table, as it is used in other places in Netplan's configuration. E.g.:
accept-ra: true
ra-overrides:
use-routes: false
use-domains: false
table: 127
Alternatively, I was also pondering about implicitly setting accept-ra: true when using a mapping, as those settings only make sense in combination. But that would not be consistent with the existing dhcp4/6-overrides stanzas:
accept-ra: # implicitly set to "true", as a mapping is defined below
use-dns: false
use-domains: false
I'd like to get an opinion from our architect about that.
@vorlonofportland What do you think about this new schema?
| > (networkd back end only) Overrides default IPv6 Router Advertisement (RA) | ||
| > behaviour; see the `IPv6 Router Advertisement Overrides` section below. |
There was a problem hiding this comment.
question: Did you do any research if this could also be implemented in our NetworkManager backend? Can you link any relevant NM documentation?
There was a problem hiding this comment.
I was able to find ipv6.ignore-auto-dns but I am not sure if dhcp6-overrides.use-dns or ra-overrides.use-dns should be used to set that option
I am able to ignore the DNS coming from RA for my VM by setting ipv6.ignore-auto-dns to true with ipv6.method being auto
| > | ||
| > **Requires feature: `dhcp-use-domains`** | ||
|
|
||
| ## IPv6 Router Advertisement Overrides |
There was a problem hiding this comment.
note (non-blocking): There are plenty settings in networkd's [IPv6AcceptRA] section, but I think it's sensible to start implementing a small subset at first.
Co-authored-by: Lukas Märdian <[email protected]>
Co-authored-by: Lukas Märdian <[email protected]>
Co-authored-by: Lukas Märdian <[email protected]>
Co-authored-by: Lukas Märdian <[email protected]>
Thanks, this looks pretty good. Notes:
|
slyon
left a comment
There was a problem hiding this comment.
Thank you for addressing all of my remarks!
LGTM, and kudos, this is a really nice PR!
I left one tiny inline-comment, also we should probably address this comment from Steve before merging:
I believe that the default for use-domains (and current behavior) is False? this should be included in the documentation
I might be able to do that quickly myself..
Description
This PR implements all Ipv6AcceptRA Options in Ubuntu 18.04 LTS
I wasn't able to pass all test due totest_status_diff.pydue to minuscule difference ranging from mac address to[hightlight]soo bothmake checkandmake check-coveragechecklist are not checked, the rest of the test should be passingSeems like the CI was able to pass all check and coverage, soo this issue is now resolved
I also have questions about that which version of networkd, NetworkManager, ubuntu, and other are we supporting, since it looks like networkd are using
[DHCPv4]and[DHCPv6], while we are using[DHCP]which I can barely find any documentation about in the internetFeedback is appreciated
Checklist
make checksuccessfully.make check-coverage).References
Ipv6AcceptRA Options for Ubuntu 18.04 LTS (Bionic Beaver) - manpages.ubuntu.com
Ipv6AcceptRA Options for Ubuntu 22.04 LTS (Jammy Jellyfish) - manpages.ubuntu.com
DHCPv4 and DHCPv6 Configuration - freedesktop.org
DHCPv4 and DHCPv6 Configuration - manpath.be
DHCP Configuration - manpath.be
First commit using DHCP - github.com