From VyOS Wiki
Jump to: navigation, search

Nextgen or VyOS 2.0.0 is going to be the new VyOS with completely reworked internals.

General ideas

  • Focus on reliability and robustness.
  • Reusable components whenever possible (this way we can get feedback and contributions from people who use our libraries in their own projects).

Specific points

Configuration backend

More here: old backend.

  • All conf and op mode stuff should be accessible via programmatic APIs
  • The backend should be the only privileged process, any other approach makes implementing RBAC and the like nearly impossible.


  • Big chunks of configs are often produced with lengthy sequences of printf's in classic VyOS (or worse, with printf's scattered all over the script). A template engine (such as Mako Templates) would be a better fit.
  • Whenever something provides a machine-readable interface (iptables XML etc.), it should be used instead of parsing human-readable output.


  • It's more feasible to write a new shell than to make bash what we want.
  • Some argue that numbered rules suck and should be replaced with named rules and ability to move a rule before/after another rule.