Check Interfaces#
Workflows → CICheck Interfaces
The CheckInterfaces workflow is used to check the health of Interfaces. It loops over all nodes selected by the nodeSelectors and nodes properties, and checks every interface that matches the label(s) specified in the interfaceSelectors property.
Checks#
By default, the workflow checks that all members of all selected Interfaces are operationally up. Additional checks can be run against the counters of each interface. Each check monitors a particular metric for waitTimeSeconds seconds and fails if the timer has increased during this window.
Unless explicitly mentioned, these checks are only supported on Nokia SR Linux and SR OS.
EthernetCRC: checks if any CRC error frames were receivedEthernetFrameSize: checks for oversized, undersized (< 64 bytes), and jabber (oversized with bad CRC) frames received on the interfaceEthernetPauseFrames: checks for received pause frames that indicate congestionCarrierTransitions: checks whether the link is "flapping"DiscardedPackets: checks whether packets were discarded on ingress or egressTransceiverHealth: checks whether the transceiver has reset during the time windowLACPErrors: checks for any errors reported through the Link Aggregation Control Protocol (LACP)IfPacketErrors: checks for packet errors both in the ingress and egress direction
Dependencies#
The CheckInterfaces workflow does not depend on any other resources.
Referenced resources#
TopoNode#
The workflow selects nodes that it will check interfaces on through the nodeSelectors and nodes properties.
Note
Only interfaces that have a matching Interface will be checked.
Examples#
apiVersion: interfaces.eda.nokia.com/v1
kind: CheckInterfaces
metadata:
name: checkinterfaces-20b8144f-a4b6-488a-ac5b-4c5f8cc27502
namespace: eda
spec:
interfaceSelectors:
- eda.nokia.com/role = interSwitch
checkStateCounters:
skip: false
waitTimeSeconds: 30
checks:
- LACPErrors
- TransceiverHealth
nodeSelectors:
- eda.nokia.com/role = leaf
- eda.nokia.com/role = spine
cat << 'EOF' | kubectl apply -f -
apiVersion: interfaces.eda.nokia.com/v1
kind: CheckInterfaces
metadata:
name: checkinterfaces-20b8144f-a4b6-488a-ac5b-4c5f8cc27502
namespace: eda
spec:
interfaceSelectors:
- eda.nokia.com/role = interSwitch
checkStateCounters:
skip: false
waitTimeSeconds: 30
checks:
- LACPErrors
- TransceiverHealth
nodeSelectors:
- eda.nokia.com/role = leaf
- eda.nokia.com/role = spine
EOF
Custom Resource Definition#
To browse the Custom Resource Definition go to crd.eda.dev.
CheckInterfaces
SPEC
CheckInterfacesSpec defines the desired state of CheckInterfaces
-
Configure checking state paths for erroneous counter increments.
-
Which checks to run in the CheckStateCounters stage. If none are specified, all checks will be run.
-
Boolean to indicate if checking for Interface Errors needs to be skipped.
default: false -
Wait Time (seconds) sample interval to verify if error counters increased.
default: 30format: int32range: 10 to 900
-
STATUS
CheckInterfacesStatus defines the observed state of CheckInterfaces
-
Details contains the results of the checks performed on each node. Each entry in the list corresponds to a node where the Operational State has been checked.
-
-
Details of the interface check result, if available.
-
-
Checks that failed on the interface, if any.
-
Interface Name
-
Indicates the current operational state of the Interface.
-
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.
-
Indicates how the discovered LLDP neighbor on this member relates to the configured topology mate. * ``Aligned`` – LLDP is enabled on the local member and the discovered neighbor matches the configured remote endpoint (TopoLink mate / static neighbor). * ``Misaligned`` – LLDP is enabled and a neighbor is discovered, but it does not match the configured remote endpoint. This is the only state that raises ``LLDPTopologyMisaligned``. * ``Present`` – LLDP is enabled and at least one neighbor is discovered, but the configured remote endpoint is not authoritative enough to validate alignment (no TopoLink resolved, peer Interface CR missing on an interSwitch link, or stub edge with no mate). * ``NotPresent`` – LLDP is enabled but no neighbor has been discovered. * ``N/A`` – LLDP is administratively disabled on the local member (``spec.lldp == false``).
enum: "Aligned", "Misaligned", "Present", +2 more -
List of discovered neighbors on this member.
-
-
The neighbor interface name. When the neighbor node is EDA-managed this is reported in TopoLink-normalized form (e.g. ``ethernet-1-1``); for non-EDA-managed peers the LLDP wire form is preserved.
-
The name of a neighbor node of this member. When the neighbor is an EDA-managed TopoNode this matches the TopoNode name; otherwise the LLDP system-name TLV is used as-is.
-
-
-
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 reason for the operational state. Currently only used when the state is Down.
enum: "Standby", "Other", "Lower Layer Down" -
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.
-
-
-
-
Error message, if the interface check failed.
-
Node the interface was checked on.
-
Indicates if the interface check was successful.
-
-
Aggregate result of the Flow
default: "Failed"enum: "Success", "Failed", "Warning" -
Summary is an optional human-readable summary (e.g. compare-with-previous degrade text).