• EOS Tricks and Tips That Make Life Easier

Print Friendly, PDF & Email


Arista’s Extensible Operating System has several small features that make life in the CLI simpler, quicker, neater, and all-around just easier. Here are a few common practices which Arista’s Architects and TAC Engineers use with frequency.


While a plethora of different tricks and methods exist that make life simpler for network engineers, too many exist to completely cover in this document.  If you want a more comprehensive read on the subject, check out Arista Warrior, 2nd Edition by Gary A. Donahue. 

Arista TAC’s Operational Runbook is a much more extensive guide than this introductory article and a perfect start to troubleshoot the most common network problems.  Please let your account team know if you cannot locate your copy and they can get you another copy of the  Operational Runbook.

Navigational Tricks

Show Active and Show Active All

  • Verifies the configuration in the current hierarchy.  Use this to check existing configurations without going through a show run.  
switch(config-router-bgp)#address-family ipv4
switch(config-router-bgp-af)#show active 
router bgp 65000
   address-family ipv4
      neighbor border activate
      no neighbor activate
      no neighbor activate
      no neighbor activate
      no neighbor activate
      neighbor activate
      neighbor activate
      neighbor activate
      neighbor activate

In EOS, adding the all command displays both the configured and default configurations. 

switch(config-router-bgp-af)#show active all
router bgp 65000
   address-family ipv4
      no bgp additional-paths install
      no bgp next-hop address-family ipv6
      no bgp skip rib-install bestpath-selection
      no bgp missing-policy direction in action
      no bgp missing-policy direction out action
      bgp additional-paths receive
      no bgp additional-paths send any
      no bgp next-hop-unchanged
      no bgp route install-map
      no next-hop resolution disabled
  • Using “conf” at Any Hierarchical Level

Configuration or simply conf is not just for entering global configuration mode.  Use conf to return to the global configuration level without entering exit multiple times.


  • Acceptance of CIDR Notation

EOS accepts CIDRs, removing the burden of figuring out subnet and wildcard masks.  

Router ospf 1
Network area 0  

If you want to put in the extra work, you may but why?  Time is a commodity and thus it is wise to save time where possible.

switch#(config-if-Et1-3)#router ospf 1
switch#(config-router-ospf)#network area 0
switch#(config-router-ospf)#network area
switch#(config-router-ospf)#show active
router ospf 1
   network area
   network area
   max-lsa 12000
  • Tab Completion

Using the Tab key will auto-complete custom-built names created such as VRF Instances, ACLs, and BGP Peer Groups.  EVPN_Overlay is the custom name created below.  Tabbing is also done without a carriage return which gives you a cleaner output.  

switch#(config)#router bgp 65010
switch#(config-router-bgp)#neighbor EVPN_Overlay remote-as 650011
switch#(config-router-bgp)#neighbor EVPN_Overlay ebgp-multihop 3 <- tabbed at the underscore “_” to complete the peer name

switch#(config)#router bgp 65010
switch#(config-router-bgp)#neighbor  EVPN_Overlay  <--tabbed at the “_” and no extra line appeared
  • No “do” is needed in config mode

In EOS, the “do” parameter is optional for exec-level commands while in configuration mode.

Switch(config)#router bgp 65031
Switch(config-router-bgp)#show ip int brief
Interface           IP Address              Status       Protocol                  MTU    Owner
------------------- ----------------------- ------------ -------------------- ----------- -------
Ethernet49/1         up           up                       8000
Loopback0        up           up                      65535
Management1       up           up                       1500
Port-Channel1         down         lowerlayerdown           1500
Vlan30                  up           up                       1500
  • Adding “all” to your Show Run

This command will display the running configuration, including any default configurations .  Caution:  do not execute a show run all unless you also use the | more so that you can control the scroll rate:  show run all | more.

switch#show running all | more
! Command: show running-config all
! device: <removed> (CCS-720XP-24ZY4, EOS-4.27.0F)
! boot system flash:/EOS-4.27.0F.swi
no enable password
aaa root secret 5 <removed>
aaa authentication policy local allow-nopasssword-remote-login
no username root ssh principal
no aaa authorization policy local default-role
username <removed> privilege 15 role network-admin <removed>
username <removed> privilege 15 role network-admin secret 5 <removed>
username <removed> privilege 15 role network-admin secret 5 <removed>
username <removed> privilege 15 role network-admin secret 5 <removed>
no hardware access-list ipv4 egress resource sharing routed-interfaces
default hardware access-list ipv6 implicit-permit icmpv6

Troubleshooting Tips

  • Watch Diff

Watch Differential – what an amazing tool. It is frustrating and time-consuming to run a show command, run the command a second time, then have to “stare and compare” to see if anything changed.  EOS has a feature known as Watch Diff.  By placing watch diff before any show command, the feature will highlight changes in the output.

When debugging, Arista Engineers will often open up a separate CLI session to the same device and deploy watch diff for monitoring outputs during testing.


Figure 1.  Watch Diff Show Interface Ethernet3 Counters | NZ

Figure 2. Watch Diff Show CPU Counters Queue


  • Isolating the most recent syslogs

Depending on how your logging is configured, your logging buffer may contain thousands of entries.  EOS helps you display more recent events based upon how far back you wish to display syslogs.

switch#show logging last 2 ?
  days     Show messages in last <N> days
  hours    Show messages in last <N> hours
  minutes  Show messages in last <N> minutes
  seconds  Show messages in last <N> seconds

  • Network Visibility Analyzer or LANZ

Microbursts can result in hard to resolve packet loss.  Being able to diagnose the source of microbursts becomes vital in environments where even the smallest packet loss impacts network performance.  Arista can not only track the traffic patterns but has been doing this well for many years.  Here is a link to understanding LANZ and what it can do for you.


  • Grep

EOS opens up the Linux beneath to be used in a host of ways that could take years to master.  For starters, combining some Linux searches with the CLI is powerful.  Here PIM enabled port-channels and interfaces were being searched for.  

switch#show run all | grep -e 'Port-Channel\|pim\|Ethernet'
default snmp-server enable traps pim
default snmp-server enable traps pim neighbor-loss
interface Ethernet1
   ip dhcp relay information option circuit-id Ethernet1
   no pim ipv4 sparse-mode
   no pim ipv4 bidirectional
   no pim ipv4 border-router
   pim ipv4 hello interval 30
   pim ipv4 hello count 3.5
   pim ipv4 dr-priority 1
   pim ipv4 join-prune interval 60
   pim ipv4 join-prune count 3.5
   no pim ipv4 neighbor filter
   default pim ipv4 bfd
   no  pim ipv4 join-prune transport sctp
   no  pim ipv4 local-interface
   no  pim ipv4 non-dr install-oifs
   no pim ipv6 sparse-mode
   no pim ipv6 border-router
   pim ipv6 hello interval 30
   pim ipv6 hello count 3.5
   pim ipv6 dr-priority 1
   pim ipv6 join-prune interval 60
   pim ipv6 join-prune count 3.5
   no pim ipv6 neighbor filter
   default pim ipv6 bfd
   no pim bsr ipv4 border

  • Linux access and Historical Show Techs

Unless otherwise configured, all Arista devices utilize the underlying Linux to archive a show tech every hour for 100hrs.  Using Linux and not the EOS to run this operation saves both active memory space and CPU cycles.  It is lightweight and unnoticeable in terms of device resources used.

switch#(config)schedule tech-support interval 60 timeout 30 max-log-files 100 command show tech-support

  • Use of Linux to Help Debug

Arista allows full access to the Linux kernel, and all the native features for debugging are still present.  Below is a very basic search through the saved show tech files.  All this is may be done on a live device with no impact to the data or control planes!

Arista Networks EOS shell

[admin@switch ~]$ cd /mnt/flash/schedule/tech-support/
[admin@switch tech-support]$
(zgrep provides the same functionality as grep but does it for zipped files) 

[switch tech-support]$
[switch tech-support]$ zgrep -A 2000 -i "show version detail" *.gz | grep -i "aboot-norcal"
switch_tech-support_2021-10-03.1210.log.gz:Aboot              Aboot-norcal6-6.1.7-13531819
switch_tech-support_2021-10-03.1310.log.gz:Aboot              Aboot-norcal6-6.1.7-13531819
switch_tech-support_2021-10-03.1410.log.gz:Aboot              Aboot-norcal6-6.1.7-13531819
switch_tech-support_2021-10-03.1510.log.gz:Aboot              Aboot-norcal6-6.1.7-13531819
switch_tech-support_2021-10-03.1610.log.gz:Aboot              Aboot-norcal6-6.1.7-13531819
switch_tech-support_2021-10-03.1710.log.gz:Aboot              Aboot-norcal6-6.1.7-13531819
  • Event-monitor

A feature that allows you to monitor changes impacting your network that are seemingly random in nature, making catching the event an automated process.  More granular details can be found here.

Related references to check out

EOS Tips for Power Users

Operational Runbook

Arista Warrior, 2nd Edition



Get every new post on this blog delivered to your Inbox.

Join other followers: