How To Use Hardware Switches and Shared VLANs

These steps should allow you to run the Hardware version of the Intro to OF tutorial but with a multi-site topology using InstaGENI nodes.

Multi-Site Topology

You need 3 slices (called MYSLICE, MYSLICE2 and MYSLICE3 below) and 4 RSpecs. If you run the controller outside of GENI on your own machine you only need two slices (MYSLICE2 and MYSLICE3 and 3 RSpecs.)

Do the steps in the following order:

1) Reserve a VM for your controller. It does not matter much which aggregate you pick for MYAGG. (In fact, you don't need a GENI node at all as you could run the controller on your own machine.)

	omni createsliver MYSLICE -a MYAGG --useSliceMembers

2) Start your controller. Log in to the VM from the last step and run:

cd /tmp/pox
./ --verbose forwarding.l2_learning

3) Edit the attached max-stanford-stitched-flack.rspec to point to the controller. The controller should be accessed via the public IP of the node from the first step. 3) Reserve a VM at Stanford connected to a VM at MAX via a stitched VLAN using max-stanford-stitched.rspec. These nodes will be host1 and host2:

	stitcher createsliver MYSLICE2 max-stanford-stitched-flack.rspec --useSliceMembers

4) Use performOperationalAction (poa) to share the stitched VLAN at Stanford. (Detailed instructions)

a) Make a file called lan_options.json containing the text below. (NOTE: stitched0 should be the name of the stitched VLAN from the previous step and ofstitchedlan should be the name you give the shared VLAN and is used by the RSpec in step (4))

"geni_sharelan_lanname": "stitched0",
"geni_sharelan_token": "ofstitchedlan"

b) Run poa at each aggregate you should like to share the VLAN at:

omni -V 3 -a stanford-ig poa MYSLICE2 geni_sharelan --optionsfile lan_options.json 
omni -V 3 -a max-ig poa MYSLICE2 geni_sharelan --optionsfile lan_options.json 

5) Reserve a third VM (host3) on the shared VLAN using host3-on-shared-vlan.rspec :

 	omni createsliver MYSLICE3 host3-on-shared-vlan.rspec -a stanford-ig --useSliceMembers

6) Reserve a fourth VM (host4) on the shared VLAN using host4-on-shared-vlan.rspec:

 	omni createsliver MYSLICE3 host4-on-shared-vlan.rspec -a max-ig --useSliceMembers

You should now have a controller running at an aggregate of your choice and controlling the aggregate's hardware switches connecting the four VMs (two VMs at Stanford IG and two VM at MAX IG) which are all on the same shared VLAN.

You should now be able to complete the exercise as described in Hardware Intro to OpenFlow.

Last modified 6 years ago Last modified on 08/27/14 16:24:30

Attachments (5)

Download all attachments as: .zip