Views
GEC8 Demo
From OpenFlow Wiki
Overview
This is the home page for the OpenFlow GENI API integration demo at GEC8.
When: July 20-22
Where: La Jolla, San Diego
Conference details on the GEC8 Home Page
Team & Organization
- Rob: FlowVisor, Project Management
- Jad: Expedient
- Peyman: Opt-in Manager
- Srini, Masa: Stanford Deployment
- Johan, Tatsuya: Tunnel Setup
- Guru, Guido: Overhead
- GPO: Tom Mitchell
Weekly Meetings (tentative):
- Monday 3:30pm-4:30pm - Everyone should be here. No meeting 7/5.
- TBD - Weekly call (Rob, Jad, Guru, Guido, everyone else optional)
KK and Nihil's demos for now are **decoupled** from this demo. They may use common infrastructure, but should not depend on this demo.
Engineering
Overall:
- Current status is in: pivotaltracker
- Demo system should be up shortly link goes here.
Expedient (Jad)
- Deployed as a VM that packages Expedient+Opt-In Manager
- Needs to be deployed at Stanford and BBN
- VM instructions
- git clone git://openflow.org/expedient.git
Opt-In Manager (Peyman)
- Deployed as a VM that packages Expedient+Opt-In Manager
- Needs to be deployed at Stanford and BBN
- Git source: same as expedient
FlowVisor (Rob)
- Deployed via source (for now)
- git clone git://openflow.org/flowvisor.git
- current GPO version: `git checkout flowvisor-0.6-alpha-GPO-8`
Command Line Tool and GENI API
- GENI API now in MyPLC trunk (according to Chip). Srini is testing.
- Need to verify what existing command line tool can do and i if sufficient.
FlowVisor GUI
- git clone git://github.com/dound/envi.git
- branch: `git checkout -b flowvisor flowvisor`
Tunneling
Script
Moved to the GEC8 Demo Script page.
OM User Setup
- created accounts for demo_{gardil,sardis,ganel}
- ask Rob for password
- each account can control flowspace corresponding to the BBN PL machine with same name:
- ganel mac A4:BA:DB:21:E0:70 ip addr:10.79.1.51
- gardil mac A4:BA:DB:2B:DB:2D ip addr:10.79.1.52
- sardis mac A4:BA:DB:2B:DA:CE ip addr:10.79.1.53
- to set this up, login as each user, and "register flowspace"
- login to OM as expedient (admin user) and approve flowspace
BBN configurations
Here's BBN's configuration info.
Network topology
(click for a larger image, download for a much larger image)
Notes:
- The Aster*x VLAN topology is also on cayenne, and is set up as per Srini's diagram from the early planning stages of that demo, except that VLAN 100 in his diagram is VLAN 1791 here, 200 is 1792, etc. I've attached a port list from cayenne just to be clear.
- The red links are dataplane connections, and are all OpenFlow controlled. The black links are control plane connections, and are not OpenFlow-controlled.
- The boxes are hosts or switches. The numbers inside the boxes are interface / port numbers. The numbers on the links are VLAN ID numbers. All of the unlabeled black links are non-OpenFlow-controlled VLAN 800. None of these VLANs are trunked outside of the GPO lab.
- None of the FlowVisor or controller stuff appears on this diagram. All of the relevant hosts just connect to the GPO Core cloud. See below for that.
- cayenne is an NEC IP8800/S3640-48T2XW running NEC firmware rev278; habanero is an HP ProCurve 6600-48G-4Xg running HP firmware 2.02e.
- alba, kriti, kusheth, eisande, and euskerria, are all VMs, each of which has a dedicated physical interface on the VM server (except that alba and kriti share one, because we ran out of interfaces on the VM server). They'll be used by the SmartRE and Pathlet demos.
- sinope is a standalone host, which will run the Capsulator software.
- miletus is a MyPLC server, which manages three nodes: ganel, sardis, and gardil. Each has a control interface on habanero, which is *not* OpenFlow controlled, and a dataplane interface on cayenne, which is.
Here's a list of what all the ports on cayenne are connected to, and on which VLAN:
int VLAN connects to gi0/1 1791 ganel[eth1] gi0/2 1791 cayenne[gi0/4] gi0/3 1791 cayenne[gi0/9] gi0/4 1793 cayenne[gi0/2] gi0/5 1793 sinope[eth1] gi0/6 1793 cayenne[gi0/14] gi0/7 1793 cayenne[gi0/19] gi0/8 1793 cayenne[gi0/10] gi0/9 1792 cayenne[gi0/3] gi0/10 1792 cayenne[gi0/8] gi0/11 1792 cayenne[gi0/13] gi0/12 1792 cayenne[gi0/18] gi0/13 1794 cayenne[gi0/11] gi0/14 1794 cayenne[gi0/6] gi0/15 1794 sardis[eth1] gi0/16 1794 cayenne[gi0/21] gi0/17 1795 gardil[eth1] gi0/18 1795 cayenne[gi0/12] gi0/19 1795 cayenne[gi0/7] gi0/20 1795 cayenne[gi0/22] gi0/21 1796 cayenne[gi0/16] gi0/22 1796 cayenne[gi0/20] gi0/25 804 alba/kriti[eth1] gi0/26 804 eisande[eth1] gi0/45 804 habanero[gi0/45] gi0/46 804 habanero[gi0/46] gi0/47 804 habanero[gi0/47] gi0/48 trunk jalapeno[gi0/44] (GPO Core)
DPIDs
There are eight relevant DPIDs at BBN:
Switch VLAN DPID Notes habanero 804 03240024A8C4B900 Pathlet / SmartRE hosts cayenne 804 e2b8dc3b0804 Pathlet / SmartRE hosts cayenne 1791 e2b8dc3b1791 Aster*x demo VLAN 100 cayenne 1792 e2b8dc3b1792 Aster*x demo VLAN 200 cayenne 1793 e2b8dc3b1793 Aster*x demo VLAN 300 cayenne 1794 e2b8dc3b1794 Aster*x demo VLAN 400 cayenne 1795 e2b8dc3b1795 Aster*x demo VLAN 500 cayenne 1796 e2b8dc3b1796 Aster*x demo VLAN 600
As indicated in the physical diagram/notes, the data interfaces on thePlanetLab nodes, and the Capsulator nodes, are on the Aster*x demo VLANs.
All of those point to our production FlowVisor, troy.gpolab.bbn.com, at tcp:192.1.249.14:6633.
Slices
There are six slices on troy that are relevant to the GEC 8 demos:
- default (localhost:9933): This controller is a NOX instance running the 'switch' module. The slice is intended for use by hosts that just want regular switching behavior. It runs locally on troy.
- smartre-demo (nineveh.gpolab.bbn.com:57804): This slice is for the SmartRE demo; the controller was written by Niky, and is running on nineveh, which is dedicated to doing OpenFlow control type things for the Experiment Support group here (Niky and Mark).
- pathlet-demo (nineveh.gpolab.bbn.com:59804): This slice is for the Pathlet demo; the controller was written by Niky, and is also running on nineveh.
- vlan-804 (nineveh.gpolab.bbn.com:50804): This slice is to handle broadcast traffic on VLAN 804, which both Pathlet and SmartRE hosts share, so that there's a controller handling broadcast traffic that isn't either of the two demo-specific controllers.
- stanford-asterix (nfcm13.stanford.edu:8833): This slice is for the Aster*x demo, and points to a controller at Stanford.
- uruk-expedient (uruk.gpolab.bbn.com:6633): This slice is for the GCF/Expedient demos, and runs on the Expedient VM on uruk.
There are also three other slices that are not related to these demos: root, smyrna-flowvisor, and lddp-test.
Flowspace
The flowspace on troy:
rule 0: FlowEntry[dpid=[00:00:e2:b8:dc:3b:08:04],ruleMatch=[OFMatch[dl_dst=ff:ff:ff:ff:ff:ff]],actionsList=[Slice:vlan-804=4],id=[67364662],priority=[125],] rule 1: FlowEntry[dpid=[032:40:02:4a:8c:4b:90:0],ruleMatch=[OFMatch[dl_dst=ff:ff:ff:ff:ff:ff]],actionsList=[Slice:vlan-804=4],id=[67365775],priority=[125],] rule 2: FlowEntry[dpid=[032:b0:02:6f:13:f3:b0:0],ruleMatch=[OFMatch[]],actionsList=[Slice:smyrna-flowvisor=4],id=[22418],priority=[100],] rule 3: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:91],ruleMatch=[OFMatch[tp_src=10001]],actionsList=[Slice:stanford-asterix=4],id=[974631],priority=[100],] rule 4: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:92],ruleMatch=[OFMatch[tp_src=10001]],actionsList=[Slice:stanford-asterix=4],id=[975023],priority=[100],] rule 5: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:93],ruleMatch=[OFMatch[tp_src=10001]],actionsList=[Slice:stanford-asterix=4],id=[975429],priority=[100],] rule 6: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:94],ruleMatch=[OFMatch[tp_src=10001]],actionsList=[Slice:stanford-asterix=4],id=[975827],priority=[100],] rule 7: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:95],ruleMatch=[OFMatch[tp_src=10001]],actionsList=[Slice:stanford-asterix=4],id=[976228],priority=[100],] rule 8: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:96],ruleMatch=[OFMatch[tp_src=10001]],actionsList=[Slice:stanford-asterix=4],id=[976632],priority=[100],] rule 9: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:91],ruleMatch=[OFMatch[tp_dst=10001]],actionsList=[Slice:stanford-asterix=4],id=[977622],priority=[100],] rule 10: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:92],ruleMatch=[OFMatch[tp_dst=10001]],actionsList=[Slice:stanford-asterix=4],id=[978032],priority=[100],] rule 11: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:93],ruleMatch=[OFMatch[tp_dst=10001]],actionsList=[Slice:stanford-asterix=4],id=[978456],priority=[100],] rule 12: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:94],ruleMatch=[OFMatch[tp_dst=10001]],actionsList=[Slice:stanford-asterix=4],id=[978872],priority=[100],] rule 13: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:95],ruleMatch=[OFMatch[tp_dst=10001]],actionsList=[Slice:stanford-asterix=4],id=[979357],priority=[100],] rule 14: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:96],ruleMatch=[OFMatch[tp_dst=10001]],actionsList=[Slice:stanford-asterix=4],id=[979779],priority=[100],] rule 15: FlowEntry[dpid=[00:00:00:23:e7:a0:b1:09],ruleMatch=[OFMatch[tp_src=10001]],actionsList=[Slice:stanford-asterix=4],id=[43192621],priority=[100],] rule 16: FlowEntry[dpid=[00:00:00:23:e7:a0:b1:09],ruleMatch=[OFMatch[tp_dst=10001]],actionsList=[Slice:stanford-asterix=4],id=[43280837],priority=[100],] rule 17: FlowEntry[dpid=[00:00:e2:b8:dc:3b:08:04],ruleMatch=[OFMatch[dl_src=00:0c:29:6d:4f:63]],actionsList=[Slice:smartre-demo=4],id=[59429329],priority=[100],] rule 18: FlowEntry[dpid=[00:00:e2:b8:dc:3b:08:04],ruleMatch=[OFMatch[dl_dst=00:0c:29:6d:4f:63]],actionsList=[Slice:smartre-demo=4],id=[59447260],priority=[100],] rule 19: FlowEntry[dpid=[00:00:e2:b8:dc:3b:08:04],ruleMatch=[OFMatch[dl_src=00:0c:29:7b:c5:b3]],actionsList=[Slice:smartre-demo=4],id=[59459961],priority=[100],] rule 20: FlowEntry[dpid=[00:00:e2:b8:dc:3b:08:04],ruleMatch=[OFMatch[dl_dst=00:0c:29:7b:c5:b3]],actionsList=[Slice:smartre-demo=4],id=[59476353],priority=[100],] rule 21: FlowEntry[dpid=[00:00:e2:b8:dc:3b:08:04],ruleMatch=[OFMatch[dl_src=00:0c:29:26:75:34]],actionsList=[Slice:pathlet-demo=4],id=[59523979],priority=[100],] rule 22: FlowEntry[dpid=[00:00:e2:b8:dc:3b:08:04],ruleMatch=[OFMatch[dl_dst=00:0c:29:26:75:34]],actionsList=[Slice:pathlet-demo=4],id=[59541279],priority=[100],] rule 23: FlowEntry[dpid=[032:40:02:4a:8c:4b:90:0],ruleMatch=[OFMatch[dl_src=00:0c:29:75:57:93]],actionsList=[Slice:smartre-demo=4],id=[66028227],priority=[100],] rule 24: FlowEntry[dpid=[032:40:02:4a:8c:4b:90:0],ruleMatch=[OFMatch[dl_dst=00:0c:29:75:57:93]],actionsList=[Slice:smartre-demo=4],id=[66049614],priority=[100],] rule 25: FlowEntry[dpid=[032:40:02:4a:8c:4b:90:0],ruleMatch=[OFMatch[dl_src=00:0c:29:29:73:ad]],actionsList=[Slice:pathlet-demo=4],id=[66068439],priority=[100],] rule 26: FlowEntry[dpid=[032:40:02:4a:8c:4b:90:0],ruleMatch=[OFMatch[dl_dst=00:0c:29:29:73:ad]],actionsList=[Slice:pathlet-demo=4],id=[66084219],priority=[100],] rule 27: FlowEntry[dpid=[032:40:02:4a:8c:4b:90:0],ruleMatch=[OFMatch[dl_src=00:0c:29:6d:4f:63]],actionsList=[Slice:smartre-demo=4],id=[79599542],priority=[100],] rule 28: FlowEntry[dpid=[032:40:02:4a:8c:4b:90:0],ruleMatch=[OFMatch[dl_dst=00:0c:29:6d:4f:63]],actionsList=[Slice:smartre-demo=4],id=[79601654],priority=[100],] rule 29: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:91],ruleMatch=[OFMatch[dl_type=0x88cd]],actionsList=[Slice:stanford-asterix=4],id=[80893698],priority=[100],] rule 30: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:92],ruleMatch=[OFMatch[dl_type=0x88cd]],actionsList=[Slice:stanford-asterix=4],id=[80895661],priority=[100],] rule 31: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:93],ruleMatch=[OFMatch[dl_type=0x88cd]],actionsList=[Slice:stanford-asterix=4],id=[80897562],priority=[100],] rule 32: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:94],ruleMatch=[OFMatch[dl_type=0x88cd]],actionsList=[Slice:stanford-asterix=4],id=[80899350],priority=[100],] rule 33: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:95],ruleMatch=[OFMatch[dl_type=0x88cd]],actionsList=[Slice:stanford-asterix=4],id=[80901344],priority=[100],] rule 34: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:96],ruleMatch=[OFMatch[dl_type=0x88cd]],actionsList=[Slice:stanford-asterix=4],id=[80903387],priority=[100],] rule 35: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:91],ruleMatch=[OFMatch[]],actionsList=[Slice:uruk-expedient=4],id=[58730447],priority=[15],] rule 36: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:92],ruleMatch=[OFMatch[]],actionsList=[Slice:uruk-expedient=4],id=[58762349],priority=[15],] rule 37: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:93],ruleMatch=[OFMatch[]],actionsList=[Slice:uruk-expedient=4],id=[58777282],priority=[15],] rule 38: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:94],ruleMatch=[OFMatch[]],actionsList=[Slice:uruk-expedient=4],id=[58789783],priority=[15],] rule 39: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:95],ruleMatch=[OFMatch[]],actionsList=[Slice:uruk-expedient=4],id=[58803593],priority=[15],] rule 40: FlowEntry[dpid=[00:00:e2:b8:dc:3b:17:96],ruleMatch=[OFMatch[]],actionsList=[Slice:uruk-expedient=4],id=[58817927],priority=[15],] rule 41: FlowEntry[dpid=[00:00:00:23:e7:a0:b1:09],ruleMatch=[OFMatch[]],actionsList=[Slice:uruk-expedient=4],id=[58832276],priority=[15],] rule 42: FlowEntry[dpid=[all_dpids],ruleMatch=[OFMatch[]],actionsList=[Slice:default=4],id=[0],priority=[10],]
Related Pages
- GENI_Deployment
- Mailing list is sigcomm09-demo@stanford.edu
TODOs
- Get FlowVisor + OM + EXP running at stanford (Jad, Rob, Peyman)
- 6/26 weekend
- Integration testing of FV+OM+EXP
- Give access to Tom/Aaron on Monday
- Schedule regular conference call with Tom and AaronH to touch base
- Document OM <--> FV incompatibilites (Jad, Rob, Peyman)
- (annecdotally: slice names with ':' or '=')
- Create VM environment + snapshots for OM + EP (Jad, Peyman)
- Test and optimize install of OM+EXP (Johan)
- Starting Monday
