Interfaces
The interfaces setting contains a dictionary for network interface related settings. Physical interfaces should have an identify setting so ifstate is able to find them, regardless of their current name or the netns in which they might be located.
interfaces:
# per interface settings
eno1:
# ip addresses (ip address)
addresses:
- 192.0.2.254/24
# link settings (ip link)
link:
state: up
kind: physical
identify:
parent_dev_name: 0000:00:1f.6
parent_dev_bus_name: pci
The link setting defines the type and states of the interfaces. In contrast to virtual interfaces, physical interfaces cannot be created or destroyed. It is therefore important that physical interfaces can be uniquely identified by the identify settings. IfState provides the following properties to uniquely identify an interface:
perm_address- the built-in permanent mac address (ethtool -P)parent_dev_name- the PCI or USB bus address (ethtool -i)parent_dev_bus_name- the name of the bus typephys_port_id- identifier of the physical portphys_port_name- name of the physical portphys_switch_id- identifier of the physical switchof_node- path to the device node in the open firmware devicetree
These parameters cannot be changed by the running operating system and are therefore reliable identifiers.
Other settings available for an inteface:
- addresses - assigned ip addresses
- brport - bridge port specific settings
- fdb - permanent bridge forwarding database entries
- vrrp - VRRP action conditions
- link - link settings
- neighbours - permanent ip neighbour cache entries
- sysctl - interface specific procfs settings
- ethtool - ethtool settings
- cshaper - simplified tc settings ("cake shaper")
- tc - traffic control settings
- wireguard - wireguard configuration and peers
- xdp - assign eXpress Data Path BPF programs
Examples: