Further / more precise documentation needed
awilfox opened this issue · comments
To write effective and correct tooling around the ifupdown-ng
system, more precise documentation about how it interprets the interfaces
file is needed.
Some of the behaviours that are undocumented right now include:
-
What happens when
netmask
isn't specified and a CIDR isn't given in anaddress
? Right now per the source, it seems to just assign/24
. Is this a temporary workaround, a compatibility shim that should be ignored, or an intended behaviour? That is, in an ideal state with a new deployment, should an address without a CIDR be considered an error, or should it be considered a/24
? -
Are keys case-sensitive? In Debian ifupdown and ifupdown2, keys appear to be case-sensitive and must be specified in all lowercase. However, when I asked the team on IRC, I received two different answers. This should be formally documented somewhere.
-
How are duplicate keys handled? What happens if you specify multiple
netmask
?point-to-point
?link-type
? etc.
These are just a few of the many questions that can be easily answered and solved with adequate documentation.
I would be willing to assist in writing this documentation, if that would help. I have experience writing this type of documentation in many formats (reStructuredText, DocBook, Markdown).
Some thoughts:
- We need documentation for the netmask stuff. I'm unsure what the best way to deal with a missing netmask is right now.
- As compatibility is an important goal we should stick to the all lowercase behavior of ifupdown{,2}.
- All three should raise a warning and we should set
errornous_config
to the iface
Fixed by c8a05a7