First let's get the software needed to build the VM from www.aristanetworks.com/support/download
and download the boot image (aboot-xxx-veos.iso) and the flash drive (eos-xxx-veos.vmdk).
To access the download area, a registration is required, but software can be downloaded without any support contract or license ID (unlike other vendors..).
Libvirt configurationCreating the VM profile (either via GUI or text editor) is quite straightforward if you consider the following constraints:
NetworkForums recommend at least 4 network interfaces, which should use the e1000 driver. Virtio driver doesn't work (despite the fact that drivers exist and kernel creates the device) and rtl8139 also doesn't work (module not compiled).
First configured interface is the management1-0 interface and the other ones are ethernet1, 2 and 3.
It was a bit confusing to begin with, as the ethernet interfaces can be loaded in different order (e.g. 3rd is the second defined), so it is better to compare the MAC addresses to be sure that interfaces are configured correctly.
The configuration should have only IDE controller (you have to remove SATA controller or else it won't boot).
The flashdrive image is to be configured as disk and the aboot iso image as DVD or CD drive (raw format).
First the dvd would be booted and it then loads the flashdrive disk, so boot order should have DVD as first.
Arista recommends using 1GB memory, which works quite well (and as it seems it is all used up):
[admin@vEOS1 ~]$ free
total used free shared buffers cached
Mem: 991516 951588 39928 0 115064 480736
-/+ buffers/cache: 355788 635728
Swap: 0 0 0
vEOS openflow configurationLogin as admin (there is no password as default )
CLI is very similar to Cisco one, so to perform any configuration you have to enter the config mode.
So lets configure the interface to talk to the controller:
vEOS1(config)>interface ethernet 1
vEOS1(config-if-Et1)>ip address 10.0.0.100/24
It's important to note that interface can't be the management interface, which on hardware is normally not part of the switching plane.
Next let's bind the switch to the controller and allow it to use the other interfaces:
vEOS1(config-openflow)>bind ethernet 2
vEOS1(config-openflow)>bind ethernet 3
And delight on the result of our "hard" work:
Description: vEOS1#sh openflow
OpenFlow configuration: Enabled
connection count: 1
keepalive period: 10 sec
Flow table state: Enabled
Flow table profile: full-match
Bind mode: interface
interfaces: Ethernet2, Ethernet3
IP routing state: Disabled
Shell command execution: Disabled
Total matched: 42 packets