ifupdown-ng / ifupdown-ng

flexible ifup/ifdown implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 an address? 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