Skip to content

Tutorial 101 network failover (English)

Byungjoon Lee edited this page Mar 19, 2014 · 9 revisions

Prerequisite

To do this tutorial, you need the custom topology that we've described in the previous tutorial. Just use the Python program in the article.

First step

First, run the OpenIRIS with BasicOFController. To run the BasicOFController, you might need to modify the torpedo.properties (maybe just one line). If all these chores are done, run the OpenIRIS.

And next, execute the Python program just like this:

sudo ./custom_topology.py 

If successful, you can check the network topology in the OpenIRIS UI (Periscope).

Then, do the following in the Mininet CLI window.

xterm h1

Then a small terminal which represents the host h1 will be brought up. In the terminal, type ping 10.0.0.2. Then you can see the Ping is successful (let it go without stopping until all this tutorial is done). And in the Periscope, you can see only hp1 and hp2 has some flow records, because they are the shortest-path switches between 10.0.0.1 and 10.0.0.2.

Emulate link failures

Then, do the following procedure step-by-step.

First, enter the following command in the Mininet CLI window.

link hp1 hp2 down 

This will bring down the link between hp1 and hp2, and the OpenIRIS automatically removes the flow records which set up a path between h1 and h2. Then, in the Periscope, you can see there are new flow records on hp1, ovs1, and hp2, which automatically set up a path between h1-hp1-ovs1-hp2-h2.

Next, enter the following command in the Mininet CLI window.

link hp1 ovs1 down 

This will also bring down the link between hp1 and ovs1, and the OpenIRIS automatically removes the flow records which set up a path h1-hp1-ovs1-hp2-h2. Then, in the Periscope, you can see there are new flow records on hp1, ovs2, ovs3, and hp2, which automatically set up a path between h1-hp1-ovs2-ovs3-hp2-h2.

Next, enter the following commands sequentially which will bring up the lost links.

link hp1 ovs1 up
(If you want to, pause a few seconds to wait the path h1-hp1-ovs1-hp2-h2 brought up again)
link hp1 hp2 up

Then, all the switches and their flow records would be restored in their original states.

Demo (Video)

Here we attach the link to the demonstration video (YouTube). This demo uses an environment where real HW switches are included. In the demo, we use nec1 and nec2, instead of hp1 and hp2. The nec1 and nec2 switches are NEC ProgrammableFlow switches. The other switches are all OVS switches.

Demo scenario is just the same with the above.

Follow this link to video

Clone this wiki locally