Skip to content

Allied Telesis x230

Francesco Anselmo edited this page Feb 2, 2021 · 11 revisions

In this tutorial we will be using the Allied Telesis x230-18GP network switch.

Allied Telesis x230-18GP

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.

Connection to the serial console

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.

Configuration of the Allied Telesis x230 network switch

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"}

DAQ configuration

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