Introduction
In this wiki page, we are going to show you how to setup the hardware switches for CORD Fabric.
Here we focus on Accton 6712 40G x 32 switches, which are the switches we use to build the CORD Pod in ON.Lab.
Ideally, all hardware switches running OF-DPA pipeline should be compatible with the Fabric control logic (i.e. Segment Routing app on ONOS)
Wire Up
Connect power cable, console port and management network.
Install Open Networking Linux (ONL)
The switches are shipped with Open Networking Install Environment (ONIE) bootloader. After booting up, we should see the ONIE prompt from console.
Here we assume that the management network already have the Internet access. (DHCP is OK)
In the console, type
ONIE:/ # wget http://opennetlinux.org/binaries/latest-amd64.installer ONIE:/ # sh latest-amd64.installer
to fetch and install the latest ONL.
The switch will automatically reboot into ONL after installation. Default login credential of ONL is: root/onl
Configure Management Interface
We might want to configure a fixed IP address for the management interface.
First edit /etc/network/interfaces and configure ma1, which is the management interface.
auto ma1 iface ma1 inet static address 10.128.10.128 netmask 255.255.0.0 gateway 10.128.0.1 dns-nameservers 192.168.1.1 8.8.8.8
Second, we need to make the configuration file persistent so we don't lose the configuration after rebooting the switch. This step is required for every config file in the switch.
# persist /etc/network/interfaces # savepersist
Install OF-DPA package
The OF-DPA package is a Debian package and is available via vendor. Here we assume you already have this file: ofdpa-2.0-ea3_2.3.0.0+accton1.3-1_amd64.deb
Copy the package to /mnt/flash2 on the switch so it is persistent after rebooting.
$ scp ofdpa-2.0-ea3_2.3.0.0+accton1.3-1_amd64.deb 10.128.10.128:/mnt/flash2
Install the OF-DPA package. (Note that this is required every time after rebooting. I will show a trick later so it can be done automatically.)
# dpkg -i --force-overwrite /mnt/flash2/ofdpa-2.0-ea3_2.3.0.0+accton1.3-1_amd64.deb
(Optional) Configure OF-DPA
By default, all 32 ports are running in 1x40G mode. The /etc/accton/ofdpa.conf need to be modified if we want to break out 1x40G into 4x10G.
port_mode_1=4x10g # front port 1
Restart ofdpa service after modifying the config
# service ofdpa restart # persist /etc/accton/ofdpa.conf # savepersist
Run Indigo OpenFlow Agent
Run Indigo OpenFlow Agent to connect the switch to controller(s)
# brcm-indigo-ofdpa-ofagent --dpid=0x0000000000000001 --controller=10.128.10.5 --controller=10.128.10.6 --controller=10.128.10.7
(Optional) Useful Configurations
As mentioned, the OF-DPA package need to be installed every time switch is rebooted. We can add it into /etc/rc.local so it will be automatically installed
hostname fabric-spine1 dpkg -i --force-overwrite /mnt/flash2/ofdpa-2.0-ea3_2.3.0.0+accton1.3-1_amd64.deb
Save /etc/rc.local and make it persistent
# persist /etc/rc.local # savepersist
Useful Commands
There are some useful commands under /usr/bin/ofdpa-2.0-ea3/examples/
client_cfg_purge client_debugcomp client_debuglvl client_drivshell client_event client_flowtable_dump client_grouptable_dump client_oam_dump client_port_table_dump client_tunnel_dump ofdpa_bridging.py ofdpa_mplsl3vpn.py ofdpa_mpls_lsr_ecmp.py ofdpa_mpls_lsr.py ofdpa_pktrx_setup.py ofdpa_pktrxtx.py OFDPA_python.py ofdpa_routing.py ofdpa_srcmac_learn.py ofdpa_vxlan.py