Interface#
Topology → IInterfaces
An Interface resource represents an endpoint that terminates physical connectivity. While an Interface is always required to enable connectivity between two hosts, it is often not sufficient on its own. It is important to understand the difference between an interface and a sub-interface:
Untagged interfaces
The term "interface" is ambiguous: it can refer to a physical port, an untagged port, or a VLAN-enabled logical interface (also known as a sub-interface). Throughout the documentation, the following definitions are followed:
- A port is a physical connector that an optical or copper connector can be plugged into
- An interface is an abstract representation of an endpoint (one side of a connection). It can be either:
- One port on a single physical network element
- Multiple ports on a single physical network element (link aggregation)
- A set of ports distributed over multiple physical network elements (multi-homed endpoint)
- A virtual interface (loopback, see below)
- A sub-interface is a logical host on an interface with its own MAC address (and, optionally, IP address)
- A sub-interface can be untagged in which case only a single sub-interface can exist on the interface
- Multiple sub-interfaces can exist on the same interface as long as each sub-interface has its own (set of) VLAN(s)
Interface types#
The type of the interface can be set to Interface, Lag, or Loopback. Each type is discussed in detail below.
Interface#
The default type of an Interface resource is Interface, which is restricted to one member port.
Lag#
A Link Aggregation Group (LAG) is an interface with one or more member ports, which provides link redundancy and increased bandwidth. LAG interfaces can be configured to use the Link Aggregation Control Protocol (LACP).
Support is provided for both local and ESI-based1 LAGs: in the latter, members of the same LAG interface are distributed over multiple network elements. This does not enable connectivity between those ports, but rather makes these network elements work together in multi-homing mode, providing node level redundancy for the other end of the link.
LACP#
LAG interfaces that use the LACP protocol communicate the status of the individual members to the other end of the link. Based on this status, the other end of the link can decide whether or not to send traffic on that member port.
The minLinks parameter can be used to disable an interface entirely if one or more member links are operationally down. This is used in scenarios where physical ports are bundled to provide greater bandwidth throughput, allowing traffic to find a different path through the network towards the end destination in case of link failures.
Multi-homing parameters#
In cases where LAG interface members are distributed over multiple nodes, multi-homing can be enabled: this configures an ethernet segment over all member ports. Ethernet segments rely on the EVPN protocol to operate, and are beyond the scope of this article.
Loopback#
A loopback interface is not tied to a physical port, but rather belongs to a (virtual) router. A loopback is an interface, meaning it can be configured with multiple sub-interfaces - each with their own IP address. Since these sub-interfaces are not connected to a physical port, a VLAN ID is not used.
Some use cases for loopback interfaces:
- To assign an IP address to a network element for testing purposes
- Overwriting the source IP address for self-generated traffic
Loopback interfaces must not be used as system IP address
In EDA, the system interface (also known as the router ID or router IP) is created through a dedicated resource: the SystemInterface.
Interface Naming and Normalization#
The Interface application employs a standardized, or normalized, format for interface names within its configurations. This approach ensures consistency when defining interfaces across diverse network operating systems (NOS). The system subsequently translates these normalized names into the specific format required by each target OS.
A key aspect of EDA's interface modeling is the use of normalized interface names. Typically, an OS-native interface name like ethernet-1/13 is represented as ethernet-1-13 in EDA configurations by replacing non-alphanumeric characters (like /) with a dash (-). This normalized name is then used by the system to derive the OS-specific interface identifier.
The following subsections detail how these normalized EDA interface names are translated for various supported operating systems, based on the underlying logic.
- Native interface name
ethernet-1/1is normalized asethernet-1-1. - Breakout interfaces like
ethernet-1/1/1becomeethernet-1-1-1. - Loopback interfaces such as
lo0translate toloopback-0. - LAG interfaces like
lag10translate tolag-10.
- Native port identifier
1/1/1translates toethernet-1-a-1name, where "a" is the first MDA on a 1st line card. - The system supports more complex mappings for different hardware configurations:
- Port
2/2/1translates toethernet-2-b-1(representing linecard 2, MDA "b"2, port 1). - Breakout (implicit MDA 1):
1/1/c1/1translates toethernet-1-1-1. - Breakout (explicit "a" for MDA 1):
1/1/c2/1translates toethernet-1-a-2-1(where MDA "a" maps to 1, and "2-1" defines the port asc2/1). - XIOM MDA:
1/x1/1/1translates toethernet-1-1-a-1.
- Port
- Loopback interfaces like
lo0becomeloopback-0. - LAG interfaces retain names like
lag-10.
Encapsulation options#
The encapsulation type of the Interface determines how many VLAN headers are attached to egressing traffic. Note that the encapsulation type is ignored for Loopback interfaces.
encapType Null: no VLAN headers are attachedencapType Dot1q: one VLAN header
Note
Q-in-Q is currently not supported.
Storm control#
To protect the network, storm control is frequently enabled on customer-facing interfaces. This is done to prevent traffic storms, which happen for example when a customer that has connectivity over two different interfaces accidentally connects these two interfaces in their own network.
Storm control provides support for separate rate limits for
- Broadcast traffic
- Multicast traffic
- Unknown unicast traffic
apiVersion: interfaces.eda.nokia.com/v1
kind: Interface
metadata:
labels:
eda.nokia.com/role: edge
edge-type: compute
name: leaf1-ethernet-1-1
namespace: fabric-arista
spec:
enabled: true
encapType: Dot1q
ethernet:
stormControl:
enabled: true
unit: Kbps
multicastRate: 10000
broadcastRate: 20000
unknownUnicastRate: 25000
lldp: true
members:
- enabled: true
interface: ethernet-1-1
lacpPortPriority: 32768
node: leaf1
type: Interface
cat << 'EOF' | kubectl apply -f -
apiVersion: interfaces.eda.nokia.com/v1
kind: Interface
metadata:
labels:
eda.nokia.com/role: edge
edge-type: compute
name: leaf1-ethernet-1-1
namespace: fabric-arista
spec:
enabled: true
encapType: Dot1q
ethernet:
stormControl:
enabled: true
unit: Kbps
multicastRate: 10000
broadcastRate: 20000
unknownUnicastRate: 25000
lldp: true
members:
- enabled: true
interface: ethernet-1-1
lacpPortPriority: 32768
node: leaf1
type: Interface
EOF
Dependencies#
The Interface resource has no dependencies.
Referenced resources#
TopoNode#
Each Interface member is configured on a node. If the interface is distributed over multiple nodes (multi-homing), multiple members can be added to the Interface resource.
OS-specific implementation notes#
The Interface resource is supported on the following operating systems:
- Nokia SR Linux
- Nokia SR OS
- Cisco NX-OS
- Arista EOS
SR OS#
In SR OS, the parameter mode determines the places where an interface can be used:
Network: sub-interfaces can only be used in the default (underlay) router, not in virtual networksAccess: sub-interfaces can only be used in virtual networks, not in the default (underlay) routerHybrid: sub-interfaces can be used both in the default (underlay) router and in virtual networks
The mode of the interface has some implications for which QoS functionality is available. For more information, refer to the SR OS user documentation. When the appropriate mode is unclear, omit this property.
Examples#
apiVersion: interfaces.eda.nokia.com/v1
kind: Interface
metadata:
labels:
eda.nokia.com/role: interSwitch
name: leaf-1-ethernet-1-2
namespace: eda
spec:
enabled: true
encapType: 'Null'
ethernet:
stormControl: {}
lldp: true
members:
- enabled: true
interface: ethernet-1-2
lacpPortPriority: 32768
node: leaf-1
type: Interface
cat << 'EOF' | kubectl apply -f -
apiVersion: interfaces.eda.nokia.com/v1
kind: Interface
metadata:
labels:
eda.nokia.com/role: interSwitch
name: leaf-1-ethernet-1-2
namespace: eda
spec:
enabled: true
encapType: 'Null'
ethernet:
stormControl: {}
lldp: true
members:
- enabled: true
interface: ethernet-1-2
lacpPortPriority: 32768
node: leaf-1
type: Interface
EOF
Custom Resource Definition#
To browse the Custom Resource Definition go to crd.eda.dev.
Interface
SPEC
Interface allows for the configuration of various interface properties such as enabling/disabling the interface, setting descriptions, specifying interface types (e.g., LAG, interface, loopback), configuring VLAN encapsulation, and setting Ethernet or LAG-specific options.
-
Enables reporting of DDM events.
-
Description of the interface.
-
Enable or disable the interface.
default: true -
Enable or disable VLAN tagging on this interface. [default="Null"]
default: "Null"enum: "Null", "Dot1q" -
Ethernet configuration options.
-
Configuration of CRC monitoring on the interface.
-
Enables CRC monitoring on the interface.
-
Sliding window size over which CRC errors are measured, in number of seconds.
range: >= 1
-
-
Sets the Forward Error Correction (FEC) on the members of the interface.
enum: "Disabled", "RS528", "RS544", +2 more -
The hold-time down behavior is triggered with events that try to bring the ethernet interface down and can change quickly. It is not triggered with an admin-state disable event or interface disable due to other internal reasons. Units in milliseconds.
format: int32range: 100 to 86400000 -
The hold-time up behavior is triggered with any event that tries to bring up the ethernet interface. While the hold-time up is running, the transceiver laser will be enabled, however the higher layers will not be notified that the interface is operationally up until the timer expires. Units in milliseconds.
format: int32range: 100 to 86400000 -
Enable dataplane loopback on the interface.
enum: "None", "Facility", "Terminal" -
After the system boots, the reload-delay timer in seconds keeps an interface shut down with the laser off for a configured amount of time until connectivity with the rest of network is established.
range: 1 to 86400 -
The speed of this interface, in human-readable format - e.g. 25G, 100G.
enum: "100G", "10G", "1G", +4 more -
Indicates the standby-signaling used in the interface.
enum: "LACP", "PowerOff" -
Enables storm control.
-
Sets the maximum rate allowed for ingress broadcast frames on the interface.
format: int32range: 0 to 100000000 -
Enables storm control.
-
Sets the maximum rate allowed for ingress multicast frames on the interface.
format: int32range: 0 to 100000000 -
Set the unit of measurement for the storm control rates.
enum: "Kbps", "BandwidthPercentage" -
Sets the maximum rate allowed for ingress unknown unicast frames on the interface.
range: 0 to 100000000
-
-
A list of L2CP protocols to tunnel. Options: LLDP, LACP, xSTP, Dot1x, PTP, All.
-
-
LAG configuration options.
-
LACP properties. This section is only applicable if the LAG type is set to LACP.
-
Configure the LACP admin-key to be advertised by the local system.
range: 1 to 65535 -
Set the period between LACP messages, uses the lacp-period-type enumeration. [default="Fast"]
default: "Fast"enum: "Fast", "Slow" -
LACP fallback allows one or more designated links of an LACP controlled LAG to go into forwarding mode if LACP is not yet operational after a configured timeout period. [default=disabled]
-
Specifies lacp-fallback mode if enabled.
default: "Static"enum: "Static" -
Specifies the LACP-fallback timeout interval in seconds. [default=60]
default: 60range: 4 to 3600
-
-
Active is to initiate the transmission of LACP PDUs. Passive is to wait for peer to initiate the transmission of LACP PDUs.[default="Active"]
default: "Active"enum: "Active", "Passive" -
The MAC address portion of the Node's System ID. This is combined with the system priority to construct the 8-octet system-id.
-
System priority used by the Node on this LAG interface. Lower value is higher priority for determining which Node is the controlling system.[default=32768]
default: 32768range: 0 to 65535
-
-
The min-link threshold specifies the minimum number of member links that must be active in order for the LAG to be operationally up. If the number of active links falls below this threshold, the entire LAG is brought operationally down.[default=1]
default: 1range: 1 to 64 -
Multi-homing properties.
-
Selects the DF election algorithm. If not specified, `default` is used with `AllActive` multi-homing and `HighestPreference` is used with `SingleActive` and `PortActive` multi-homing modes.
enum: "Default", "HighestPreference" -
10 byte Ethernet Segment Identifier, if not set a type 0 ESI is generated. [default=auto]
default: "auto" -
"AllActive": All interfaces are active. "SingleActive": In a single active MH LAG, the active and standby function is handled at the sub-interface layer within a network-instance. That is, the physical interfaces within the same LAG all remain operationally up, however each sub-interface associated with a network-instance has its operational state up or down based on whether it is selected to be the active or standby sub-interface. "PortActive": When port active MH LAG is enabled, the active and standby function is handled at the interface level.
default: "AllActive"enum: "AllActive", "SingleActive", "PortActive" -
When configured with a reference to the Node object and the Highest-Preference DF election algorightm is used, the selected Node is set with a higher preference value. All other Nodes have a lower value configured.
-
After the system boots, the reload-delay timer in seconds keeps an interface shut down with the laser off for a configured amount of time until connectivity with the rest of network is established. [default=100]
default: 100range: 1 to 86400 -
Enables revertive DF election behavior with Preference-Based Election mode. [default=false]
default: false
-
-
This type defines whether whether it is a static or LACP LAG. [default=LACP]
default: "LACP"enum: "LACP", "Static"
-
-
Enable or disable LLDP on the members of the interface.
default: true -
List of members on which to apply properties, for single interface this would be a list of 1.
-
-
When using a LAG, the aggregateId can be specified per set of interfaces on a node. LAG interface with which this interface is associated.
-
Description of the member, inherited from the interface if not provided.
-
Enable or disable this member.
default: true -
Reference to an interface in the normalized format. Ex: SRL ethernet-1/1 would be ethernet-1-1. SROS port 2/1/1 would be ethernet-2-1.
-
Configure the port priority for LACP. This value is used to determine which port should be activated with LACP fallback mode. Lower values are more preferred.[default=32768]
default: 32768range: 0 to 65535 -
Node name.
-
-
-
Set interface mode for platforms that support explicit configuration of access or network mode. [SROS only]
enum: "Access", "Network", "Hybrid" -
MTU to apply on the interface(s).
range: 1450 to 9500 -
Type defines whether the interface is a LAG or a regular Interface.
default: "Interface"enum: "LAG", "Interface", "Loopback"
STATUS
-
The administrative status of the Interface.
-
Indicates when this Interface last changed state.
-
List of members in this Interface.
-
-
The administrative status of this member.
-
The name of the interface in normalized format.
-
Indicates when this member last changed state.
-
The node on which the interface is configured.
-
Node specific interface name, for example "ethernet-1/1", "1/1/c1/1".
-
Indicates the current operational state of this member.
enum: "Up", "Down", "Degraded", +2 more -
Indicates the operational speed of the member.
-
-
-
Indicates the current operational state of the Interface.
enum: "Up", "Down", "Degraded", +2 more -
Indicates the operational speed of the Interface in aggregate.