If you need an OpenFlow-based network, you can go through a CLI set of commands and do it old-school way.
As we mention already, ICOS offers a possibility to work via Linux shell with L2/L3 networks.
It is true to the OpenFlow-related things as well.
How to do it?
It’s very simple!
1. Switch to Open-Flow passive mode via icos-cli
#configure
#openflow passive-mode
2. Install OVS common component via Linux shell:
#sudo apt-get install openvswitch-common
That’s all. You can check connectivity with the simple show command:
#ovs-ofctl show tcp:127.0.0.1
You’ll see something like this:
root@nba720:~# ovs-ofctl show tcp:127.0.0.1
OFPT_FEATURES_REPLY (xid=0x2): dpid:00000005642f3c7d n_tables:255, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP SET_DL_SRC SET_DL_DST
SET_NW_SRC SET_NW_DST SET_NW_TOS
1(0/2): addr:00:05:64:2f:3c:7d config: 0 state: LINK_DOWN
peer: 10MB-HD 100MB-HD 100MB-FD 10GB-FD AUTO_PAUSE_ASYM speed: 0 Mbps now, 0 Mbps max
2(0/3): addr:00:05:64:2f:3c:7d config: 0 state: LINK_DOWN
peer: 10MB-HD 10GB-FD COPPER AUTO_PAUSE_ASYM speed: 0 Mbps now, 0 Mbps max
3(0/4): addr:00:05:64:2f:3c:7d config: 0 state: LINK_DOWN
peer: 100MB-HD 10GB-FD COPPER AUTO_PAUSE AUTO_PAUSE_ASYM speed: 0 Mbps now, 0 Mbps max
4(0/5): addr:00:05:64:2f:3c:7d config: 0 state: LINK_DOWN
peer: 10MB-HD 100MB-HD 100MB-FD 1GB-HD 1GB-FD 10GB-FD
COPPER FIBER AUTO_PAUSE AUTO_PAUSE_ASYM speed: 0 Mbps now, 0 Mbps max
5(0/6): addr:00:05:64:2f:3c:7d config: 0 state: LINK_DOWN
peer: 10MB-HD 10MB-FD 1GB-FD COPPER FIBER AUTO_NEG speed: 0 Mbps now, 0 Mbps max
Now you are able to manage flows with ovs-ofctl directly from the switch.
For example:
ovs-ofctl show tcp:127.0.0.1
33(0/33): addr:00:05:64:2f:3c:7d
config: 0 state: 0
speed: 0 Mbps now, 0 Mbps max 34(0/34): addr:00:05:64:2f:3c:7d config: 0 state: 0
speed: 0 Mbps now, 0 Mbps max 35(0/35): addr:00:05:64:2f:3c:7d config: 0 state: 0
speed: 0 Mbps now, 0 Mbps max 172(3/1): addr:00:05:64:2f:3c:7d config: 0 state: 0
speed: 0 Mbps now, 0 Mbps max 173(3/2): addr:00:05:64:2f:3c:7d config: 0 state: 0
speed: 0 Mbps now, 0 Mbps max
Now you can do things like:
#####################################################
### Input (Source) port : 1,2,3,4,5,6 -> Filter (10.10.10.x and tcp and port 80) -> hash Load-balancing -> Output (Destination) port group : 8,9,10
#####################################################
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1,nw_proto=6,nw_src=10.10.10.0/24,tp_dst=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1,nw_proto=6,nw_dst=10.10.10.0/24,tp_src=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=2,nw_proto=6,nw_src=10.10.10.0/24,tp_dst=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=2,nw_proto=6,nw_dst=10.10.10.0/24,tp_src=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=3,nw_proto=6,nw_src=10.10.10.0/24,tp_dst=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=3,nw_proto=6,nw_dst=10.10.10.0/24,tp_src=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=4,nw_proto=6,nw_src=10.10.10.0/24,tp_dst=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=4,nw_proto=6,nw_dst=10.10.10.0/24,tp_src=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=5,nw_proto=6,nw_src=10.10.10.0/24,tp_dst=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=5,nw_proto=6,nw_dst=10.10.10.0/24,tp_src=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=6,nw_proto=6,nw_src=10.10.10.0/24,tp_dst=80/0xffff,actions=output:171
ovs-ofctl add-flow br0 dl_type=0x0800,in_port=6,nw_proto=6,nw_dst=10.10.10.0/24,tp_src=80/0xffff,actions=output:171
#####################################################
### Input : 11,12,13,14,15,16 -> Aggregation -> Output : 17,18
#####################################################
ovs-ofctl add-flow br0 in_port=11,actions=output:17,18
ovs-ofctl add-flow br0 in_port=12,actions=output:17,18
ovs-ofctl add-flow br0 in_port=13,actions=output:17,18
ovs-ofctl add-flow br0 in_port=14,actions=output:17,18
ovs-ofctl add-flow br0 in_port=15,actions=output:17,18
ovs-ofctl add-flow br0 in_port=16,actions=output:17,18
#####################################################
### Input : 21,22,23,24,25,26,27,28,29,30 -> Hash Load-balancing -> Output group 1 and 2 : (31,32,33,34), (35,36,37,38)
#####################################################
ovs-ofctl add-flow br0 in_port=21,actions=output:172,173
ovs-ofctl add-flow br0 in_port=22,actions=output:172,173
ovs-ofctl add-flow br0 in_port=23,actions=output:172,173
ovs-ofctl add-flow br0 in_port=24,actions=output:172,173
ovs-ofctl add-flow br0 in_port=25,actions=output:172,173
ovs-ofctl add-flow br0 in_port=26,actions=output:172,173
ovs-ofctl add-flow br0 in_port=27,actions=output:172,173
ovs-ofctl add-flow br0 in_port=28,actions=output:172,173
ovs-ofctl add-flow br0 in_port=29,actions=output:172,173
ovs-ofctl add-flow br0 in_port=30,actions=output:172,173
#####################################################
If you want to keep flows after the switch reboot – you need to add a script to the system boot file. Check our x86 ICOS guide for how-to.
Taoyuan city, Taiwan, 24th of June 2024. Netberg announced the new Aurora 721 100G and Aurora 421 10G switches, which feature programmable pipelines powered by Broadcom StrataXGS® Trident3 Ethernet switch chips.
Taoyuan city, Taiwan, January 24th, 2024. Netberg announced the release of two new models powered by the Broadcom StrataXGS® Trident3 series , the Netberg Aurora 221 1G switch and Aurora 621 25G switch.
Effective January 12, 2024: The following products are now End of Life (EOL) - Aurora 720 and Aurora 620.
Taoyuan city, Taiwan, December 20th, 2023. Netberg updates its Netberg SONiC distribution to release 2022.11 on Aurora 610, Aurora 710, and Aurora 750 P4-Programmable Intel Tofino IFP systems.
Taipei, Taiwan, 14th of November 2022. Netberg announced the new Aurora 810 400G model programmable switch with Intel Tofino 2 Intelligent Fabric Processors (IFPs) at its heart. The new platform has 32x 400G QSFP-DD Ethernet ports and a 12.8Tbps switching capacity.
Taipei, Taiwan, 24th of October 2022. Netberg participates in the new round of the Fast Forward Initiative by Intel (FFI'22). The program supports academic and research organizations today, aiming at accelerating tomorrow's best network programmability research.