Date: Fri, 29 Mar 2024 13:56:04 +0000 (UTC) Message-ID: <544718274.1129.1711720564815@ip-10-30-146-46.us-west-2.compute.internal> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1128_522181776.1711720564812" ------=_Part_1128_522181776.1711720564812 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Deprecated
This page is deprecated and may be removed in a near future.
The new entry point of Trellis underlay fabric installation guide can be f=
ound at Fabric Installation Guid=
e.
In this article, we are going to show you how to setup a CORD Fabric env=
ironment with Mininet and CpqD software switches.
This pure software environment allows us to develop and test the control l=
ogic (i.e. the Segment Routing app on ONOS) without any hardware switches.<=
/p>
Setup an ONOS = cluster with 3 instances. Here we only show brief steps. Please refer to&nb= sp;Installing = and running ONOS for detail.
Enable Segment Routing appli= cations in your cell configuration:
ONOS_AP= PS=3Ddrivers,openflow,segmentrouting
Configure Segment Routing
You can copy and modify from the fol= lowing sample json file:
$ONOS_ROOT/tools/package/config/samples/network-cfg-fabric-2x2-min.jso= n
By default ONOS will use SpringOpen pipeline for CPqD switches. Ad= dition configuration is required if you wish to use OFDPA pipeline. Please = refer to this page for detail.
Running remotely (1, 3+ instances)
Run stc setup=
to start ONOS.
Push the sample json file to the remote machine using onos-netcfg=
command.
onos-netcfg <IP> $ONOS_ROOT/tools/package/config/samples/network= -cfg-fabric-2x2-min.json
Running locally (1 instance)
Copy the sample json file to the following location and rename it to =
network-cfg.json:
~/Application/config/network-cfg.json
Run ok clean to start ONOS with the new configuratio= n.
Install Mininet from source code. Please refer to Install Mininet from source code for= detail.
$ git c= lone git://github.com/mininet/mininet $ cd mininet $ git checkout -b 2.2.1 2.2.1
Patch Mininet.
We will probably commit this back to the Mininet main stream.
A patch multi_controller.patch =
;is required to allow CpqD software switches to connect to multiple control=
ler instances simultaneously.
Apply the patch using:
# In th= e Mininet root directory $ git apply multi_controller.patch
Install Mininet and CpqD Software Switch
$ sudo = ./util/install.sh -n3f
Start the Fabric
We write a Mininet script cord_fabric.py that can help you easily create a leaf=
-spine topology with CpqD software switches.
Since cord_fabric.py reads controller information from cell configuratio= n, you should check your cell and see if $OC[1-9] is correctly set up befor= e running the script.
$ sudo = -E ./cord_fabric.py --spine=3D2 --leaf=3D2
Run pingall
mininet= > pingall *** Ping: testing ping reachability h1 -> h2 h3 h4 h2 -> h1 h3 h4 h3 -> h1 h2 h4 h4 -> h1 h2 h3 *** Results: 0% dropped (12/12 received)
Configure sprites
$ onos-= upload-sprites $OC1 onos/web/gui/src/main/webapp/data/sprites/segmentRoutin= g.json
and then access the URL: http://<ONOS_IP>/onos/ui?sprites=3DsegmentRouting
Configure topology view
$ onos-= topo-cfg $OC1 onos/tools/test/topos/cord.json