GEC8 Demo

From OpenFlow Wiki

Jump to: navigation, search
GEC8-compat-arch.jpg

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)

Gec-8-demo-diagram-bbn.png

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

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