What's New
This document supports the Cumulus Linux 5.16 release, and lists new features and enhancements.
- For a list of open and fixed issues in Cumulus Linux 5.16, see the Cumulus Linux 5.16 Release Notes.
- To upgrade to Cumulus Linux 5.16, first check the Release Considerations below, then follow the steps in Upgrading Cumulus Linux.
What’s New in Cumulus Linux 5.16
Cumulus Linux 5.16 contains new features and improvements, and provides bug fixes.
New Features and Enhancements
- BFD offload
- BGP conditional disaggregation
- BGP PIC anycast
- 802.1X preserve dynamically assigned IPv6 addresses
- Manage automatic cl-support file generation
- Extended traceroute (RFC 5837)
- VRF-aware DHCP relay
- Show FIB table entries
- ACL matches on packet inner header and ACL matches on packet offset
- Clear QoS buffers on multiple interfaces
- TACACS per-command authorization supports NVUE tab completion, option listing (?), and command history navigation
- Clear control plane policer counters
- LAG hash randomizer for adaptive routing
- Tx squelch control (Beta)
- Support for EVPN VXLAN over an IPv6 underlay (Beta)
- 802.1x dynamic VRF assignment (Beta)
- PPS mode for QoS egress shapers
- Extra threshold for QoS lossy priority groups
- New FRR high severity ERROR log messages
- The SDK health monitoring service handles recovery and debug dump collection when detecting SDK health issues
- NVUE support for both unset and set commands for the same object in a single patch
- Security features:
- FIPS mode
- Maximum SSH sessions allowed for a user and for a user group
- NVUE support for TACACS local fallback authentication
- 802.1X reauthentication
- Yubikey authentication over RADIUS
- Configure syslog messages to include the date and time events occur, the source IP and username for NVUE commands, and when dynamic kernel modules load and unload
- HTTP response compression for API reponses
- Telemetry
- You can now use Open telemetry export and gNMI streaming at the same time.
- ▼ New gNMI Metrics:
802.1X:
Name Description /system/aaa/server-groups/server-group[name=dot1x]/servers/server[address]/radius/state/priorityRadius server priority 1, 2 or 3. Lower number indicates higher priority. /system/aaa/server-groups/server-group[name=dot1x]/servers/server[address]/radius/state/auth-portThe port used for authentication and authorization. /system/aaa/server-groups/server-group[name=dot1x]/servers/server[address]/radius/state/acct-portThe port used for RADIUS accounting. /system/aaa/server-groups/server-group[name=dot1x]/servers/server[address]/radius/state/vrfThe VRF that contains the RADIUS server. /system/aaa/server-groups/server-group[name=dot1x]/servers/server[address]/radius/state/source-addressThe source IP address for RADIUS authentication requests. If not configured, the address defaults to the IP address of the interface used to reach the RADIUS server, as determined by the kernel routing table. You can configure the address with the NVUE client-src-ipparameter./interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/auth-typeEAP authentication method (MD5, TLS, TTLS, PEAP, and so on). /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/vlanVLAN on which the supplicant connects to the switch and tries to authenticate. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/session-id64 bytes/512 bit session ID. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/statusSupplicant status. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/counters/out-eapol-req-framesA count of all EAP request frames sent from the switch to the supplicant. Includes EAP request or OTP and any other challenge messages forwarded from the RADIUS Access Challenge. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/counters/in-eapol-resp-framesCounts all EAP response frames received from the Supplicant identified by the MAC address to the switch. Includes responses carrying credentials, leading to RADIUS Access request and eventual Access accept. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/counters/out-eapol-req-id-framesCounts EAP request identity frames sent from the switch to the Supplicant. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/counters/in-eapol-start-framesCounts EAPOL start frames received from this Supplicant. This is the very first message when the client initiates the authentication process for the session. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/counters/in-eapol-logoff-framesCounts EAPOL logoff frames received from this Supplicant. The client terminates the authenticated session, causing the port to transition from an Authorizedto anUnauthorizedstate./interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/counters/in-eapol-invalid-framesCounts malformed or invalid EAPOL frames received from the Supplicant. These are error counters for frames that do not comply with the protocol. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/counters/in-eapol-len-err-framesCounts EAPOL frames received from this Supplicant that have an incorrect length. These frames are discarded and counted as protocol errors for this session. /system/dot1x/state/reauth-timeout-ignoreIf enabled and if there is a reauthentication timeout with the RADIUS server, the timeout is ignored as long as the supplicant is currently in the authenticated state. /system/dot1x/state/dynamic-vlanDynamic VLAN assignment mode with three states: required (RADIUS must assign a VLAN for authorization), optional (VLAN assignment is optional), or disabled (Dynamic VLAN feature is off). Default is disabled. /system/dot1x/state/max-stationsThe maximum number of authenticated MAC addresses allowed on a port. The default is 6. The range is between 1 and 255. /system/dot1x/state/dynamic-ipv6-multi-tenantMust be set to enabledfor dynamic IPv6 multi-tenancy to be enabled./system/dot1x/radius/state/nas-ip-addressThe IP address used for accounting purposes by Cumulus Linux as a RADIUS client or NAS (Network Access Server) while communicating when a RADIUS server. This IP address is used in the initial Access-Request packet and is useful on the RADIUS server for accounting and not as a source IP address in packet to the RADIUS server. /system/dot1x/radius/state/nas-identifierIdentifies the RADIUS client to a RADIUS server together with the NAS IP address. The NAS IP address is useful for accounting on the RADIUS server. /interfaces/interface[name]/ethernet/dot1x/state/eapIf 802.1X is enabled or disabled on the interface. /interfaces/interface[name]/ethernet/dot1x/state/mbaIf MAC-based authentication (MBA) is enabled or disabled on the interface. /interfaces/interface[name]/ethernet/dot1x/state/host-modeThe mode can be either multi-host or multi-host-authenticated. In multi-host mode, only the first host that connects to a dot1x (eap enabled) interface needs to be authenticated and any subsequent hosts do not. In multi-host-authenticated (MHA) mode, each and every host connecting to an interface needs to be authorized. MHA is the default host-mode. /interfaces/interface[name]/ethernet/dot1x/state/port-idThe port ID is a unique 16-bit identifier for each interface that defaults to the last two bytes of the interface’s MAC address or can be user-configured. The port ID is encoded into dynamically generated IPv6 addresses at the profile-specified offset, allowing the IPv6 address to identify which physical port authenticated each client for per-port tenant segmentation and routing policies. /interfaces/interface[name]/ethernet/dot1x/state/ipv6-profileThe IPv6 profile associated with this interface. /interfaces/interface[name]/ethernet/dot1x/state/reauthenticate-intervalThe recurring interval in seconds after which all already authenticated supplicants reauthenticate. By default, the interval is 0 (no reauthentication). /interfaces/interface[name]/ethernet/dot1x/state/auth-fail-vlanIf auth-fail VLAN is configured. /system/dot1x/ipv6-profiles/profile[name]/properties/property[id]/state/offset-in-bitsOffset in bits from the beginning of the 64 bit IPv6 profile. /system/dot1x/ipv6-profiles/profile[name]/properties/property[id]/state/length-in-bitsThe length of the property in bits. /system/dot1x/ipv6-profiles/profile[name]/properties/property[id]/state/property-valueThe VSA ID, port ID, an integer or a hexadecimal value. /system/dot1x/ipv6-profiles/profile[name]/properties/property[id]/state/isolation-propertyEnabled if this property is used for isolation (multi-tenancy). Setting this flag causes ACLs to be programmed. /system/dot1x/ipv6-profiles/profile[name]/properties/property[id]/state/summarize-outIf enabled, the summary route be advertised. There can be only one property in an IPv6 profile with the summarize-outlabel enabled./system/dot1x/ipv6-profiles/profile[name]/state/route-tagAssociates a policy tag with routes learned through this 802.1X IPv6 profile, allowing routing policy, redistribution control, and tenant isolation for the authenticated sessions. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/state/ipv6-prefixThe IPv6 prefix generated from all the IPv6 profile properties. /interfaces/interface[name]/ethernet/authenticated-sessions/authenticated-session[mac]/counters/reauth-timeoutsCounter that keeps track of authentication failures because the RADIUS server is unreachable after a successful authentication when the reauth-timeout-ignoreoption is enabled.QoS Buffer:
Name Description /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/data/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for the priority group on the interface. /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/data/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for the priority group on the interface during the most recent sampling interval. /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/data/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the priority group on the interface was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/descriptors/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for the priority‑group descriptor on the interface. /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/descriptors/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for the priority‑group descriptor on the interface during the most recent sampling interval. /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/descriptors/max-occupancyMaximum shared‑buffer occupancy in bytes for the priority‑group descriptor on the interface since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/descriptors/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the interface priority‑group descriptor was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/descriptors/time-since-last-clearElapsed time in milliseconds since watermark counters for the interface priority‑group descriptor were last cleared. /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/data/time-since-last-clearElapsed time in milliseconds since watermark counters for the interface priority‑group were last cleared. /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/data/time-since-last-clearElapsed time in milliseconds since watermark counters for the interface traffic‑class queue were last cleared. /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/counters/in-pktsThe number of packets received at Ingress for a given priority group. /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/counters/in-octetsThe number of octets of data received at Ingress for a given priority group. /qos/interfaces/interface[interface-id]/input/priority-group[pg-id]/state/shared-buffer/data/max-occupancyMaximum shared‑buffer occupancy in bytes for the priority‑group on the interface since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/data/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for the interface traffic‑class queue. /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/data/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for the traffic‑class queue on the interface during the most recent sampling interval. /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/data/max-occupancyMaximum shared‑buffer occupancy in bytes for the interface traffic‑class queue since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/data/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the interface traffic‑class queue was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/data/time-since-last-clearElapsed time in milliseconds since watermark counters for the interface traffic‑class queue were last cleared. /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/descriptors/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for the traffic‑class queue descriptor on the interface. /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/descriptors/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for the interface traffic‑class queue descriptor during the most recent sampling interval. /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/descriptors/max-occupancyMaximum shared‑buffer occupancy in bytes for the interface traffic‑class queue descriptor since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/descriptors/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the interface traffic‑class queue descriptor was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/shared-buffer/descriptors/time-since-last-clearElapsed time in milliseconds since watermark counters for the interface traffic‑class queue descriptor were last cleared. qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/data/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for the interface ingress pool. /qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/data/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for the interface ingress pool during the most recent sampling interval. /qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/data/max-occupancyMaximum shared‑buffer occupancy in bytes for the interface ingress pool since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/data/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the interface ingress pool was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/data/time-since-last-clearElapsed time in milliseconds since watermark counters for the interface ingress pool were last cleared. /qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/descriptors/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for the interface ingress‑pool descriptor. /qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/descriptors/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for the interface ingress‑pool descriptor during the most recent sampling interval. /qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/descriptors/max-occupancyMaximum shared‑buffer occupancy in bytes for the interface ingress‑pool descriptor since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/descriptors/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the interface ingress‑pool descriptor was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/input/pools/pool[id]/state/shared-buffer/descriptors/time-since-last-clearElapsed time in milliseconds since watermark counters for the interface ingress‑pool descriptor were last cleared. /qos/interfaces/interface[interface-id]/ouput/pools/pool[id]/state/shared-buffer/data/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for the interface egress pool. /qos/interfaces/interface[interface-id]/output/pools/pool[id]/state/shared-buffer/data/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for the interface egress pool during the most recent sampling interval. /qos/interfaces/interface[interface-id]/output/pools/pool[id]/state/shared-buffer/data/max-occupancyMaximum shared‑buffer occupancy in bytes for the interface egress pool since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/output/pools/pool[id]/state/shared-buffer/data/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the interface egress pool was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/output/pools/pool[id]/state/shared-buffer/data/time-since-last-clearElapsed time in milliseconds since watermark counters for the interface egress pool were last cleared. /qos/interfaces/interface[interface-id]/output/pools/pool[id]/state/shared-buffer/descriptors/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for the interface egress‑pool descriptor. /qos/interfaces/interface[interface-id]/output/pools/pool[id]/state/shared-buffer/descriptors/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for the interface egress‑pool descriptor during the most recent sampling interval. /qos/interfaces/interface[interface-id]/output/pools/pool[id]/state/shared-buffer/descriptors/max-occupancyMaximum shared‑buffer occupancy in bytes for the interface egress‑pool descriptor since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/output/pools/pool[id]/state/shared-buffer/descriptors/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the interface egress‑pool descriptor was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/output/pools/pool[id]/state/shared-buffer/descriptors/time-since-last-clearElapsed time in milliseconds since watermark counters for the interface egress‑pool descriptor were last cleared. /qos/interfaces/interface[interface-id]/output/state/shared-buffer/multicast/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for multicast traffic on the interface. /qos/interfaces/interface[interface-id]/output/state/shared-buffer/multicast/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for multicast traffic on the interface during the most recent sampling interval. /qos/interfaces/interface[interface-id]/output/state/shared-buffer/multicast/max-occupancyMaximum shared‑buffer occupancy in bytes for multicast traffic on the interface since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/output/state/shared-buffer/multicast/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for multicast traffic on the interface was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/output/state/shared-buffer/multicast/time-since-last-clearElapsed time in milliseconds since watermark counters for multicast traffic on the interface were last cleared. /qos/shared-buffer/switch-priority[priority]/state/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for multicast traffic in the specified switch priority. /qos/shared-buffer/switch-priority[priority]/state/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for multicast traffic in the specified switch priority during the most recent sampling interval. /qos/shared-buffer/switch-priority[priority]/state/max-occupancyMaximum shared‑buffer occupancy in bytes for multicast traffic in the specified switch priority since the last watermark reset; software‑maintained. /qos/shared-buffer/switch-priority[priority]/state/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for multicast traffic in the specified switch priority was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/shared-buffer/switch-priority[priority]/state/time-since-last-clearElapsed time in milliseconds since watermark counters for multicast traffic in the specified switch priority were last cleared. /qos/shared-buffer/pools/pool[id]/state/data/instant-occupancyInstantaneous shared‑buffer occupancy in bytes for the given pool. This metric replaces /qos/shared-buffer/pools/pool[id]/state/instant-occupancyin previous releases./qos/shared-buffer/pools/pool[id]/state/data/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy in bytes for the given pool during the most recent sampling interval. This metric replaces /qos/shared-buffer/pools/pool[id]/state/max-occupancy-since-last-samplein previous releases./qos/shared-buffer/pools/pool[id]/state/data/max-occupancyMaximum shared‑buffer occupancy in bytes for the given pool since the last watermark reset; software‑maintained. This metric replaces /qos/shared-buffer/pools/pool[id]/state/max-occupancyin previous releases./qos/shared-buffer/pools/pool[id]/state/data/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the given pool was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). This metric replaces /qos/shared-buffer/pools/pool[id]/state/max-occupancy-timestampin previous releases./qos/shared-buffer/pools/pool[id]/state/data/time-since-last-clearElapsed time in milliseconds since watermark counters for the given pool were last cleared. This metric replaces /qos/shared-buffer/pools/pool[id]/state/time-since-last-clearin previous releases./qos/shared-buffer/pools/pool[id]/state/descriptors/instant-occupancyInstantaneous shared‑buffer occupancy as number of descriptors for the given pool. /qos/shared-buffer/pools/pool[id]/state/descriptors/max-occupancy-since-last-sampleMaximum shared‑buffer occupancy as number of descriptors for the given pool during the most recent sampling interval. /qos/shared-buffer/pools/pool[id]/state/descriptors/max-occupancyMaximum shared‑buffer occupancy as number of descriptors for the given pool since the last watermark reset; software‑maintained. /qos/shared-buffer/pools/pool[id]/state/descriptors/max-occupancy-timestampTimestamp at which the highest shared‑buffer occupancy for the given pool was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/shared-buffer/pools/pool[id]/state/descriptors/time-since-last-clearElapsed time in milliseconds since watermark counters for the given pool were last cleared. /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/priority-group[pg-id]/state/instant-occupancyInstantaneous headroom-buffer occupancy in bytes for the specified buffer type (primary or secondary) in the priority group on the interface. /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/priority-group[pg-id]/state/max-occupancy-since-last-sampleMaximum headroom‑buffer occupancy in bytes for the specified buffer type (primary or secondary) in the priority group on the interface during the most recent sampling interval. /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/priority-group[pg-id]/state/max-occupancyMaximum headroom‑buffer occupancy in bytes for the specified buffer type (primary or secondary) in the priority group on the interface since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/priority-group[pg-id]/state/max-occupancy-timestampTimestamp at which the highest headroom‑buffer occupancy for the specified buffer type (primary or secondary) in the priority group on the interface was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/priority-group[pg-id]/state/time-since-last-clearElapsed time in milliseconds since watermark counters for the specified buffer type (primary or secondary) in the priority group on the interface were last cleared. /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/state/instant-occupancyInstantaneous headroom-buffer occupancy in bytes for the specified buffer type (primary or secondary) on the interface. /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/state/max-occupancy-since-last-sampleMaximum headroom‑buffer occupancy in bytes for the specified buffer type (primary or secondary) on the interface during the most recent sampling interval. /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/state/max-occupancyMaximum headroom‑buffer occupancy in bytes for the specified buffer type (primary or secondary) on the interface since the last watermark reset; software‑maintained. /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/state/max-occupancy-timestampTimestamp at which the highest headroom‑buffer occupancy for the specified buffer type (primary or secondary) on the interface was recorded since the last watermark reset. Value is Unix epoch seconds (UTC). /qos/interfaces/interface[interface-id]/input/headroom-buffer[buffer-type]/state/time-since-last-clearElapsed time in milliseconds since watermark counters for the specified buffer type (primary or secondary) on the interface were last cleared. /qos/shared-buffer/state/cell-sizeShared‑buffer allocation cell size in bytes; use to convert cell‑based counters to bytes. Control Plane Policer:
Name Description /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/counters/buffer-dropsControl plane receive buffer drops. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/counters/rx-bytesControl plane receive bytes. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/counters/rx-packetsControl plane trap group receive packets. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/egress/counters/types/type[type]/tx-bytesControl plane transmit bytes. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/egress/counters/types/type[type]/tx-packetsControl plane receive packets. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/trap-groups/trap-group[name]/counters/pkt-violationsControl plane trap group packet violations. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/trap-groups/trap-group[name]/counters/rx-bytesControl plane trap group receive bytes. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/trap-groups/trap-group[name]/counters/rx-packetsControl plane trap group receive packets. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/trap-groups/trap-group[name]/traps/trap[id]/counters/rx-bytesControl plane trap group receive bytes. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/trap-groups/trap-group[name]/traps/trap[id]/counters/rx-dropsControl plane trap group receive drops. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/trap-groups/trap-group[name]/traps/trap[id]/counters/event-countControl plane trap group receive events. /components/component/integrated-circuit/pipeline-counters/control-plane-traffic/vendor/nvidia/spectrum/state/ingress/trap-groups/trap-group[name]/traps/trap[id]/counters/rx-packetsControl plane trap group receive packets. Interface:
Name Description /interfaces/interface[name]/state/descriptionThe interface description. /interfaces/interface[name]/state/transceiverThe transceiver on the interface. Histogram:
Name Description /performance/interfaces/interface[name]/histograms/egress-buffer/traffic-class[tc][upper-boundary]/countHistogram interface egress buffer queue depth. /performance/interfaces/interface[name]/histograms/ingress-buffer/priority-group[pg][upper-boundary]/countHistogram interface ingress buffer queue depth. /performance/interfaces/interface[name]/histograms/counter/counter-type[type][upper-boundary]/countHistogram interface counter data. /performance/interfaces/interface[name]/histograms/latency/traffic-class[tc][upper-boundary]/countHistogram interface latency data. - ▼ Deprecated gNMI Metrics
Name Removal Reason /qos/interfaces/interface[interface-id]/output/queues/queue[name]/state/max-queue-len-cellsNew metric to get the cell size ( /qos/shared-buffer/state/cell-size) - ▼ New OTEL Metrics
802.1X:
Name Description nvswitch_dot1x_system_infoGlobal 802.1X configuration (dynamic VLAN mode, dynamic IPv6 multi-tenant state, max stations per port, auth-fail VLAN ID, reauth-timeout-ignore state, reauthentication interval). nvswitch_dot1x_radius_client_infoRADIUS client configuration (NAS identifier, NAS IP address, source IP). nvswitch_dot1x_radius_server_infoRADIUS server configuration (IP address, authentication port, accounting port, priority, VRF). nvswitch_dot1x_supplicant_summarySummary showing MAC address, interface, authentication type, VLAN assignment, and session ID of each authenticated supplicant. nvswitch_dot1x_supplicant_eapol_countersEAPOL frame counters per supplicant, including start, logoff, request, response, invalid, and length-errored frames. nvswitch_dot1x_interface_infoPer-interface 802.1X configuration (EAP, MBA, host mode, port-id, IPv6 profile, auth-fail VLAN). nvswitch_dot1x_supplicant_statusAuthentication status of the supplicant. nvswitch_dot1x_ipv6_profile_infoIPv6 profile configuration (profile name and route tag). nvswitch_dot1x_ipv6_profile_property_infoIPv6 profile property configuration (offset, length, value, isolation, summarization). nvswitch_dot1x_ipv6_profile_summaryIPv6 prefix generated for each layer 3 authenticated session that is using an IPv6 profile. nvswitch_dot1x_reauth_timeoutsCounter of reauthentication attempts with the RADIUS server that timed out but were ignored, keeping the supplicant in Authorized state when the reauth-timeout-ignoreflag is enabled.Buffer:
Name Description nvswitch_shared_buffer_pool_desc_curr_occupancyCurrent shared buffer occupancy as number of descriptors for the given pool. nvswitch_shared_buffer_pool_desc_watermarkMaximum shared buffer occupancy for descriptors. nvswitch_shared_buffer_pool_desc_watermark_recorded_maxHighest maximum shared buffer watermark for descriptors. nvswitch_shared_buffer_pool_desc_watermark_recorded_max_timestampTime when the highest shared buffer descriptor watermark is recorded. nvswitch_shared_buffer_pool_desc_time_since_clearTime in milliseconds after shared buffer descriptor watermarks are last cleared.
For a list of new NVUE commands, refer to New and Removed NVUE Commands.
Release Considerations
Review the following considerations before you upgrade to Cumulus Linux 5.16.
Upgrade Requirements
You can use optimized image upgrade and package upgrade to upgrade the switch to Cumulus Linux 5.16 from Cumulus Linux 5.14 and later. Package upgrade supports ISSU (warm boot) for these upgrade paths.
To upgrade to Cumulus Linux 5.16 from a release that does not support package upgrade or optimized image upgrade, you can install an image with ONIE.
Maximum Number of NVUE Revisions
Cumulus Linux includes an option to set the maximum number of revisions after which NVUE deletes older revisions automatically. The default setting is 100. If you upgrade to Cumulus Linux 5.16 from 5.12 or earlier, the first time you run nv set or nv unset commands, NVUE deletes older revisions if the number of revisions on the switch is greater than 100.
Linux Configuration Files Overwritten
If you use Linux commands to configure the switch, read the following information before you upgrade to Cumulus Linux 5.16.
NVUE includes a default startup.yaml file. In addition, NVUE enables configuration auto save by default. As a result, NVUE overwrites any manual changes to Linux configuration files on the switch when the switch reboots after upgrade, or you change the cumulus user account password with the Linux passwd command.
These issues occur only if you use Linux commands to configure the switch. If you use NVUE commands to configure the switch, these issues do not occur.
To prevent Cumulus Linux from overwriting manual changes to the Linux configuration files when the switch reboots or when changing the cumulus user account password with the passwd command, follow the steps below before you upgrade to 5.16 or after a new binary image installation:
- Disable NVUE auto save:
cumulus@switch:~$ nv set system config auto-save state disabled
cumulus@switch:~$ nv config apply
cumulus@switch:~$ nv config save
-
Delete the
/etc/nvue.d/startup.yamlfile:cumulus@switch:~$ sudo rm -rf /etc/nvue.d/startup.yaml -
Add the
PASSWORD_NVUE_SYNC=noline to the/etc/default/nvuedfile:cumulus@switch:~$ sudo nano /etc/default/nvued PASSWORD_NVUE_SYNC=no
DHCP Lease with the host-name Option
When a Cumulus Linux switch with NVUE enabled receives a DHCP lease containing the host-name option, it ignores the received hostname and does not apply it. For details, see this knowledge base article.
NVUE Commands After Upgrade
After you upgrade to Cumulus Linux, running NVUE configuration commands might override configuration for features that are now configurable with NVUE and removes configuration you added manually to files or with automation tools like Ansible, Chef, or Puppet. To keep your configuration, you can do one of the following:
- Update your automation tools to use NVUE.
- Configure NVUE to ignore certain underlying Linux files when applying configuration changes.
- Use Linux and FRR (vtysh) commands instead of NVUE for all switch configuration.
Cumulus VX
NVIDIA no longer releases Cumulus VX as a standalone image. To simulate a Cumulus Linux switch, use NVIDIA AIR.