Software development on Arista hardware

From PDP/Grid Wiki
Jump to navigationJump to search

Development platform

My development platform is an Arista 7148S switch and compatible devices. The firmware version used is EOS 4.7 which based on Fedora Core 12 (with some small exceptions).

Project: arp-2-bgp

Helper tools

Useful commands

How to purge an extension that doesn't uninstall

EOS 4.7 seems to have a bug of some sort that an RPM based package can't be uninstalled. A Python(-like) stacktrace is the result on the Switch CLI.

If the extension doesn't appear in the follow commands (could be empty), then the it's not installed as bootable: On the Switch CLI

show boot-extensions

On the bash shell:

cat /mnt/flash/boot-extensions

If it doesn't exist, just hit reload on the Switch CLI or reboot on the bash shell. If it does exist, edit the /mnt/flash/boot-extensions from the bash shell to not include the extension in the list and hit reboot.

External links

Understand the content of the /etc/swi-version file

Managing Extensions

Document website .jp

SWIX format

RPM as Extension

NOTE: RPMs on EOS don't install like RPMs on a normal Linux box. When used as extensions the post install is NOT triggered.

Unstructured notes

The flash disk is a FAT32 disk of 2GB and by default mounted on /mnt/flash

The /mnt/flash/persistent/ directory contains the system disk images.

The file /mnt/flash/rc.eos is executed at the end of the boot (switch reload) time. It has the file /etc/swi-version sourced, exposing the EOS version.

The switch CLI is executed by the python script:


If you run this shell from the admin user on the switch, then this will not succeed for all switch-CLI commands. Perform a privilege upgrade on the bash shell with "su" or let a cron job run with root privileges.

Switch CLI commands of interest

show ip arp

This exposes the IP addresses of the connected hosts and on with Vlan they reside.

show run | include network

Show active run information, and filter on the announced networks.

conf t

Go into configuration mode

ip route vlan 66

Add a static route to on Vlan 66