-
Notifications
You must be signed in to change notification settings - Fork 32
Allied Telesis x230
In this tutorial we will be using the Allied Telesis x230-18GP network switch.
This is a 16 x 10/100/1000T PoE+ ports network switch that supports OpenFlow.
These instruction should work on any x230 Allied Telesis switch.
In order to program the x230 switch, connect the serial or USB serial to RJ45 cable to the switch and to your computer. A USB to serial converter is needed if you have a serial cable and no serial port on your computer.
For reference, the installation guide of the x230 series switches is linked here.
The serial connection settings for the communication to the switch are these:
- Baud rate: 9600 bps (The baud rate of the Console Port is adjustable from 1200 to 115200 bps. The default is 9600 bps.)
- Data bits: 8
- Parity: None
- Stop bits: 1
- Flow control: None
First, let's find the name of the USB interface:
ls /dev/tty*
Open a serial console. On Linux or MacOS you can use this command (if the serial interface is /dev/ttyUSB0
):
screen /dev/ttyUSB0 9600
The previous command opens a console terminal. Hit the Enter key a couple of times and you'll see the x230 login prompt. Enter username and password. The default username is manager
and the default password is friend
.
After login, the switch shows the normal prompt.
awplus>
Enter the command enable
to turn on privileged mode, so that the privileged mode prompt below appears. Note the #
character at the end.
awplus#
The ?
command will give you a list of commands you can use to configure the device.
Now enter the following command: configure terminal
. The prompt will change to this:
awplus(config)#
In privileged configuration mode it will be possible to configure the switch to use OpenFlow.
Use the following commands to create an OpenFlow native VLAN:
awplus (config)# vlan database
awplus (config-vlan)# vlan 4090
Now set up an IP address for the Control Plane for vlan1:
awplus (config)# interface vlan1
awplus (config-if)# ip address 192.168.1.1/24
Configure the Faucet controller using TCP port 6653:
awplus (config)# openflow controller tcp 192.168.1.11 6653
Optionally configure the Gauge controller on TCP port 6654:
awplus (config)# openflow controller tcp 192.168.1.11 6654
You can also specify a controller name with the optional parameter using the command below:
awplus (config)# openflow controller daqcontroller tcp 192.168.1.11 6653
Set up a dedicated native VLAN the OpenFlow ports. The OpenFlow native VLAN must be created before it is set. The VLAN ID for this native VLAN must be different from the native VLAN for control plane.
awplus (config)# openflow native vlan 4090
Now enable OpenFlow on the desired ports. In the example below we enable all the 16 ports.
awplus (config)# interface port1.0.1-1.0.16
awplus (config-if)# openflow
Disable the Spanning Tree globally:
awplus (config)# no spanning-tree rstp enable
Disable Loop protection detection globally:
awplus (config)# no loop-protection loop-detect
OpenFlow requires that ports under its control do not send any control traffic so it is better to disable RSTP and IGMP Snooping TCN Query Solicitation.
awplus (config)# interface vlan4090
awplus (config-if)# no ip igmp snooping tcn query solicit
To save the configuration exit configuration mode with exit
and save the configuration with write
.
awplus (config)# exit
awplus# write
By typing show openflow config
you can show the openflow configuration:
awplus#show openflow config
2c2682da-405e-4aff-8cea-efe6506ab08a
Bridge "of0"
Controller "tcp:192.168.1.11:6653"
Controller "tcp:192.168.1.11:6654"
fail_mode: secure
Port "port1.0.12"
Interface "port1.0.12"
type: system
options: {ifindex="5012", mtu="1500", native_vlan="4090"}
Port "port1.0.13"
Interface "port1.0.13"
type: system
options: {ifindex="5013", mtu="1500", native_vlan="4090"}
Port "port1.0.11"
Interface "port1.0.11"
type: system
options: {ifindex="5011", mtu="1500", native_vlan="4090"}
Port "port1.0.2"
Interface "port1.0.2"
type: system
options: {ifindex="5002", mtu="1500", native_vlan="4090"}
Port "port1.0.9"
Interface "port1.0.9"
type: system
options: {ifindex="5009", mtu="1500", native_vlan="4090"}
Port "of0"
Interface "of0"
type: internal
Port "port1.0.5"
Interface "port1.0.5"
type: system
options: {ifindex="5005", mtu="1500", native_vlan="4090"}
Port "port1.0.10"
Interface "port1.0.10"
type: system
options: {ifindex="5010", mtu="1500", native_vlan="4090"}
Port "port1.0.15"
Interface "port1.0.15"
type: system
options: {ifindex="5015", mtu="1500", native_vlan="4090"}
Port "port1.0.8"
Interface "port1.0.8"
type: system
options: {ifindex="5008", mtu="1500", native_vlan="4090"}
Port "port1.0.3"
Interface "port1.0.3"
type: system
options: {ifindex="5003", mtu="1500", native_vlan="4090"}
Port "port1.0.4"
Interface "port1.0.4"
type: system
options: {ifindex="5004", mtu="1500", native_vlan="4090"}
Port "port1.0.1"
Interface "port1.0.1"
type: system
options: {ifindex="5001", mtu="1500", native_vlan="4090"}
Port "port1.0.14"
Interface "port1.0.14"
type: system
options: {ifindex="5014", mtu="1500", native_vlan="4090"}
Port "port1.0.7"
Interface "port1.0.7"
type: system
options: {ifindex="5007", mtu="1500", native_vlan="4090"}
Port "port1.0.6"
Interface "port1.0.6"
type: system
options: {ifindex="5006", mtu="1500", native_vlan="4090"}
Now is the time to configure DAQ to use the networks switch.
Connect two USB ethernet adapters to your computer and ensure that the ethernet cables connected to the USB ethernet adapters are attached to ports 15 and 16 of the network switch. We will use port 16 for the control plane and port 15 for the data plane.
Edit local/system.yaml
:
nano local/system.yaml
and input the following configuration:
---
# DAQ lab - Allied Telesis x230 configuration file for DAQ.
# Load defaults.
include: config/system/default.yaml
# Description for dashboard.
site_description: "DAQ lab - Allied Telesis x230"
# Physical switch setup
switch_setup:
of_dpid: 0x42
data_intf: enx645aedf40fb3
ctrl_intf: enxb49cdff312cf
lo_port: 6653
uplink_port: 15
lo_addr: 192.168.1.11/24
mods_addr: 192.168.1.1%d/24
ip_addr: 192.168.1.1
model: ALLIED_TELESIS_X230
username: manager
password: friend
host_tests: config/modules/all.conf
Make sure that the network interfaces indicated in the ctrl_intf
and data_intf
fields are the appropriate network interfaces of the USB ethernet adapters. If in doubt use the ifconfig
command to figure out the correct port.
Test that the configuration works by executing the following command:
bin/physical_sec
If all goes well you should see something looking like the text below:
Activating venv
Flattening config from local/system.yaml into inst/config/system.conf
Running switch setup...
Pulled cplane_mac b4:9c:df:f3:12:cf from enxb49cdff312cf
Cleaning old setup...
[sudo] password for francesco:
Creating ovs-link interfaces...
Creating local-link interfaces...
Creating local bridge ctrl-br...
Configuring ctrl-swy with 192.168.1.11/24
Bridging enxb49cdff312cf to ctrl-br
Checking external connection to 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=7.15 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.700 ms
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.700/3.927/7.154/3.227 ms
DAQ autoclean ip link del ctrl-pri
DAQ autoclean ip link del ctrl-swx
DAQ autoclean ovs-vsctl --if-exists del-br ctrl-br
Done with switch setup.
Congratulations, you have configured successfully your AT x230 OpenFlow switch for DAQ!
Go to the next tutorial > Cisco 9300