Troubleshooting Runtime Configurations

Follow

This article discusses some troubleshooting procedures for runtime configurations in Cumulus Linux.

{{table_of_contents}}

Looking at a Specific Stanza

Symptoms

You want to grab the specific configuration for a single interface, but not look at every interface (for example, cat /etc/network/interfaces).

Solution

Use ifquery -r (the –r option looks at the running configuration):

cumulus@switch:~$ sudo ifquery -r br-untagged
auto br-untagged
iface br-untagged
	bridge-ports swp18 swp19 swp20 swp17
	bridge-stp yes

Exception: If nothing is specified under the interface (say swp17 has no configuration except under the bridge), then ifquery –r swp17 will not show anything.

Runtime Configuration vs. Persistent Configuration

Symptoms

You can see an IP address on an interface with the ip addr show command but you can't see anything under /etc/network/interfaces.

Solution

ifquery is very powerful here as well. Consider the following example:

cumulus@switch$ sudo ip addr add 1.1.1.1/32 dev lo

The example assumes you added the IP address 1.1.1.1/32 to the loopback interface using the ip addr add command rather than configuring it under /etc/network/interfaces. This is non-persistent (meaning this change will not persist after you reboot the switch), but immediately configures the interface. This is not the preferred way of configuring IP addresses on Cumulus Linux; however, since Cumulus Linux is Linux, this works.

Running ifquery on a specific interface only shows the persistent configuration:

cumulus@switch$ ifquery lo
auto lo
iface lo inet loopback

To see the runtime configuration, include the -r option:

cumulus@switch$ ifquery -r lo
auto lo
iface lo inet loopback
	address 1.1.1.1/32

Note: ifquery -a does not display the runtime configuration; ifquery -a only shows what is persistent:

cumulus@switch$ ifquery -a
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

However, running ifquery with both the -a and -r options displays both the runtime configuration and the persistent configuration together for the entire configuration (rather than just the specific stanza):

cumulus@switch$ ifquery -ar
auto lo
iface lo inet loopback
	address 1.1.1.1/32

auto eth0
iface eth0 inet dhcp

Troubleshooting Bonds

Symptoms

Front panel ports (swp ports) are up/up but the bond is not coming up with an older network device.

Solution

Is other side doing slow LACP? The recommended configuration for Cumulus Linux shows fast LACP, but not all devices support it. To check your status, run cat /proc/net/bonding/:

cumulus@switch$ cat /proc/net/bonding/bond1
{output removed for brevity}
802.3ad info
LACP rate: slow
{output removed for brevity}

To change to slow, change bond-lacp-rate to 0 under the bond stanza. Read the following article for information on how to do this: Bond Interoperability with Cisco and Arista Switches.

See Also

Have more questions? Submit a request

Comments

Powered by Zendesk