Interface templating system
Discussed in #326, and further explored in #435, the way interface defaults are created is quite opaque to the user. This issue is a proposal to move away from probe + generation at runtime, towards a single factory-config file for all Infix builds.
/ietf-interface:interfaces could be extended with support for templates, or profiles. When the system finds an interface, either at first boot, or detected by plugging in a USB-to-Ethernet converter, a default configuration could be used:
interface default
type profile
ipv6
Here the default relies on YANG defaults and enables ipv6 (presence container).
The yang model could look something like:
interface {
leaf-ref profile;
default "default";
}
In the following example this profile has been used as the base configuration for interface e1.
interface e1
type ethernet
profile default
ethernet speed-duplex 100 full
A site admin could then easily change the default for all interfaces like this:
interface default
type profile
enabled false