infix icon indicating copy to clipboard operation
infix copied to clipboard

Interface templating system

Open troglobit opened this issue 1 year ago • 0 comments

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

troglobit avatar May 13 '24 08:05 troglobit