System Forwarding

The nv unset commands remove the configuration you set with the equivalent nv set commands. This guide only describes an nv unset command if it differs from the nv set command.


nv set system forwarding ecmp-hash destination-ip

Enables and disables ECMP hashing on the destination IP field. The default setting is disabled.

Custom hashing lets you specify what to include in the hash calculation during load balancing between multiple next hops of a layer 3 route (ECMP hashing).

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash destination-ip enabled

nv set system forwarding ecmp-hash destination-port

Enables and disables ECMP hashing on the destination port field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash destination-port enabled

nv set system forwarding ecmp-hash gtp-teid

Enables and disables ECMP hashing on the GTP TEID field. The default setting is disabled.

GTP TEID-based ECMP hashing is only applicable if the outer header egressing the port is GTP encapsulated and if the ingress packet is either a GTP-U packet or a VXLAN encapsulated GTP-U packet.

  • Cumulus Linux supports GTP Hashing on NVIDIA Spectrum-2 and later.
  • GTP-C packets are not part of GTP hashing.
  • In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash gtp-teid enabled

nv set system forwarding ecmp-hash ingress-interface

Enables and disables ECMP hashing on the ingress interface. The default setting is disabled.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash ingress-interface enabled

nv set system forwarding ecmp-hash inner-destination-ip

Enables and disables ECMP hashing on the inner destination IP address field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash inner-destination-ip enabled

nv set system forwarding ecmp-hash inner-destination-port

Enables and disables ECMP hashing on the inner destination port field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash inner-destination-port enabled

nv set system forwarding ecmp-hash inner-ip-protocol

Enables and disables ECMP hashing on the inner IP protocol field. The default setting is disabled.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash inner-ip-protocol enabled

nv set system forwarding ecmp-hash inner-ipv6-label

Enables and disables ECMP hashing on the inner IPv6 label field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash inner-ipv6-label enabled

nv set system forwarding ecmp-hash inner-source-ip

Enables and disables ECMP hashing on the inner source IP address field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash inner-ip-protocol enabled

nv set system forwarding ecmp-hash inner-source-port

Enables and disables ECMP hashing on the inner source port field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash inner-source-port enabled

nv set system forwarding ecmp-hash ipv6-label

Enables and disables ECMP hashing on the IPv6 label field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash ipv6-label enabled

nv set system forwarding ecmp-hash ip-protocol

Enables and disables ECMP hashing on the IP protocol field. For IP traffic, the switch uses IP header source and destination fields in the hash calculation. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash ip-protocol enabled

nv set system forwarding ecmp-hash source-ip

Enables and disables ECMP hashing on the source IP field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash source-ip enabled

nv set system forwarding ecmp-hash source-port

Enables and disables ECMP hashing on the source port field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-hash source-port enabled

nv set system forwarding ecmp-weight-normalisation max-hw-weight

Configures the maximum number of hardware entries for weighted ECMP. You can specify a value between 8 and 4096. The default value is 32.

The NVIDIA Spectrum switch supports weight programming for ECMP by repeating each individual path, which consumes resources. To reduce hardware utilization of ECMP resources, you can enable weight normalization.

In Cumulus Linux 5.9 and earlier, the minimum number of hardware entries for weighted ECMP that you can specify is 10 and the maximum number is 255.

Version History

Introduced in Cumulus Linux 5.7.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-weight-normalisation max-hw-weight 100

nv set system forwarding ecmp-weight-normalisation mode

Enables (enabled) and disables (disabled) ECMP weight normalization.

The NVIDIA Spectrum switch supports weight programming for ECMP by repeating each individual path, which consumes resources. To reduce hardware utilization of ECMP resources, you can enable weight normalization.

Version History

Introduced in Cumulus Linux 5.7.0

Example

cumulus@switch:~$ nv set system forwarding ecmp-weight-normalisation mode enabled on

nv set system forwarding hash-seed

Configures a unique hash seed for each switch to prevent hash polarization, a type of network congestion that occurs when multiple data flows try to reach a switch using the same switch ports.

You can set a hash seed value between 0 and 4294967295. If you do not specify a value, switchd creates a randomly generated seed.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding hash-seed 50

nv set system forwarding host-route-preference

Configures the forwarding host route preference: route, neighbour, or route-and-neighbour.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding host-route-preference neighbour

nv set system forwarding lag-hash

Configures custom hashing to load balance between multiple interfaces that are members of the same bond.

The switch distributes egress traffic through a bond to a slave based on a packet hash calculation, providing load balancing over the slaves; the switch distributes conversation flows over all available slaves to load balance the total traffic. Traffic for a single conversation flow always hashes to the same slave. In a failover event, the switch adjusts the hash calculation to steer traffic over available slaves.


nv set system forwarding lag-hash destination-ip

Enables and disables lag hashing on the destination IP address field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash destination-ip enabled

nv set system forwarding lag-hash destination-mac

Enables and disables lag hashing on the destination MAC address field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash destination-mac enabled

nv set system forwarding lag-hash destination-port

Enables and disables lag hashing on the destination port field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash destination-port enabled

nv set system forwarding lag-hash ether-type

Enables and disables lag hashing on the ether type field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash ether-type enabled

nv set system forwarding lag-hash gtp-teid

Enables and disables lag hashing on the GTP TEID field. GTP carries mobile data within the core of the mobile operator’s network. Traffic in the 5G Mobility core cluster, from cell sites to compute nodes, have the same source and destination IP address. The only way to identify individual flows is with the GTP TEID. Enabling GTP hashing adds the TEID as a hash parameter and helps the Cumulus Linux switches in the network to distribute mobile data traffic evenly across ECMP routes.

The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash gtp-teid enabled

nv set system forwarding lag-hash ip-protocol

Enables and disables lag hashing on the IP protocol field. For IP traffic, the switch uses IP header source and destination fields in the hash calculation. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash ip-protocol enabled

nv set system forwarding lag-hash source-ip

Enables and disables lag hashing on the source IP address field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash source-ip enabled

nv set system forwarding lag-hash source-mac

Enables and disables lag hashing on the source MAC address field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash source-mac enabled

nv set system forwarding lag-hash source-port

Enables and disables lag hashing on the source port field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash source-port enabled

nv set system forwarding lag-hash vlan

Enables and disables lag hashing on the VLAN ID field. The default setting is disabled.

In Cumulus Linux 5.14 and earlier, you specify on or off.

Version History

Introduced in Cumulus Linux 5.2.0

Example

cumulus@switch:~$ nv set system forwarding lag-hash vlan enabled

nv set system forwarding profile

Configures the forwarding resource profile: default, l2-heavy, l2-heavy-1, l2-heavy-3, v4-lpm-heavy, v4-lpm-heavy-1, v6-lpm-heavy, v6-lpm-heavy-1, ipmc-heavy, ipmc-max, or lpm-balanced.

Version History

Introduced in Cumulus Linux 5.4.0

Example

cumulus@switch:~$ nv set system forwarding profile l2-heavy

nv set system forwarding programming

Configures forwarding programming logging.


nv set system forwarding programming log-level

Configures the forwarding programming log level: debug, info, critical, warning, or error. The default log level is info.

Version History

Introduced in Cumulus Linux 5.0.0

Example

cumulus@switch:~$ nv set system forwarding programming log-level error

nv set system forwarding resource-mode

Configures the system forwarding resource mode to be full or half. The default value is full.

ISSU requires the use of warm reboot mode. You must configure the switch in half-resource mode to perform a warm reboot. When the switch operates in half-resource mode, performing a warm reboot (using the nv action reboot system mode warm command) results in a hitless upgrade.

Version History

Introduced in Cumulus Linux 5.15.0

Example

cumulus@switch:~$ nv set system forwarding resource-mode half