= EG-EXP-6: ExoGENI and Meso-scale Multi-site !OpenFlow Acceptance Test = This page captures status for the test case EG-EXP-6, which verifies ExoGENI rack interoperability with other meso-scale GENI sites. For overall status see the [wiki:GENIRacksHome/ExogeniRacks/AcceptanceTestStatus ExoGENI Acceptance Test Status] page. ''Last Update: 2013/01/25'' = Test Status = This section captures the status for each step in the acceptance test plan. || '''Step''' || '''State''' || ''' Notes ''' || '''Tickets''' || || Step 1 ||[[Color(green,Pass)]] || || || || Step 2 ||[[Color(green,Pass)]] || || || || Step 3 ||[[Color(green,Pass)]] || || || || Step 4 ||[[Color(green,Pass)]] || || || || Step 5 ||[[Color(green,Pass)]] || || || || Step 6 ||[[Color(green,Pass)]] || || || || Step 7 ||[[Color(green,Pass)]] || || || || Step 8 ||[[Color(green,Pass)]] || || || || Step 9 ||[[Color(green,Pass)]] || || || || Step 10 ||[[Color(green,Pass)]] || || || || Step 11 ||[[Color(green,Pass)]] || || || || Step 12 ||[[Color(green,Pass)]] || || || || Step 13 ||[[Color(green,Pass)]] || || || || Step 14 ||[[Color(green,Pass)]] || || || || Step 15 ||[[Color(green,Pass)]] || || || || Step 16 ||[[Color(green,Pass)]]|| || || || Step 17 ||[[Color(green,Pass)]]|| || || || Step 18 ||[[Color(green,Pass)]]|| || || || Step 19 ||[[Color(green,Pass)]]|| || || || Step 20 ||[[Color(green,Pass)]]|| || || || Step 21 ||[[Color(green,Pass)]]|| || || || Step 22 ||[[Color(green,Pass)]]|| || || || Step 23 ||[[Color(green,Pass)]]|| || || || Step 24 ||[[Color(green,Pass)]]|| || || || Step 25 ||[[Color(green,Pass)]]|| || || || Step 26 ||[[Color(green,Pass)]]|| || || || Step 27 ||[[Color(green,Pass)]]|| || || || Step 28 ||[[Color(green,Pass)]]|| || || || Step 29 ||[[Color(green,Pass)]]|| || || || Step 30 || || || || || Step 31 || || || || || Step 32 || || || || || Step 33 || || || || || Step 34 || || || || || Step 35 || || || || || Step 36 || || || || || Step 37 || || || || [[BR]] || '''State Legend''' || '''Description''' || || [[Color(green,Pass)]] || Test completed and met all criteria || || [[Color(#98FB98,Pass: most criteria)]] || Test completed and met most criteria. Exceptions documented || || [[Color(red,Fail)]] || Test completed and failed to meet criteria. || || [[Color(yellow,Complete)]] || Test completed but will require re-execution due to expected changes || || [[Color(orange,Blocked)]] || Blocked by ticketed issue(s). || || [[Color(#63B8FF,In Progress)]] || Currently under test. || [[BR]] = Test Plan Steps = The pgeni.gpolab.bbn.com slice authority is used for the credentials and the following aggregate manager nick_names were defined in the omni_config: {{{ #Compute Resource eg-gpo=,https://bbn-hn.exogeni.net:11443/orca/xmlrpc eg-renci=,https://rci-hn.exogeni.net:11443/orca/xmlrpc eg-sm=,https://geni.renci.org:11443/orca/xmlrpc pgeni=,https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am pg2=,https://www.emulab.net/protogeni/xmlrpc/am/2.0 #OpenFlow Resources eg-of-gpo=,https://bbn-hn.exogeni.net:3626/foam/gapi/1 of-gpo=,https://foam.gpolab.bbn.com:3626/foam/gapi/1 of-nlr=,https://foam.nlr.net:3626/foam/gapi/1 of-i2=,https://foam.net.internet2.edu:3626/foam/gapi/1 eg-of-renci=,https://rci-hn.exogeni.net:3626/foam/gapi/1 of-rutgers=,https://nox.orbit-lab.org:3626/foam/gapi/1 }}} == 1. As Experimenter1, request !ListResources from BBN ExoGENI, RENCI ExoGENI, and FOAM at NLR Site. == GPO ProtoGENI user credentials for lnevers@bbn.com were used for Experimenter1. Requested listresources from each of the FOAM aggregates: {{{ $ omni.py listresources -a eg-of-gpo -V1 -o $ omni.py listresources -a of-gpo -V1 -o $ omni.py listresources -a of-nlr -V1 -o $ omni.py listresources -a of-i2 -V1 -o $ omni.py listresources -a eg-of-renci -V1 -o }}} == 2. Review !ListResources output from all AMs == Requested listresources from each of the GENI AM aggregates: {{{ $ omni.py listresources -a pgeni -o $ omni.py listresources -a pg -o $ omni.py listresources -a eg-renci -o $ omni.py listresources -a eg-gpo -o }}} == 3. Define a request RSpec for a VM at the BBN ExoGENI. == Defined an RSpec for one VM on the shared VLAN 1750 in the BBN ExoGENI rack: [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp1-eg-gpo.rspec EG-EXP-6-exp1-eg-gpo.rspec] == 4. Define a request RSpec for a VM at the RENCI ExoGENI. == Define an RSpec for one VM on the shared VLAN 1750 in the RENCI ExoGENI rack: [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp1-eg-renci.rspec EG-EXP-6-exp1-eg-renci.rspec] == 5. Define request RSpecs for !OpenFlow resources from BBN FOAM to access GENI !OpenFlow core resources. == Defined an !OpenFlow RSpec for the FOAM controllers in each rack: - GPO ExoGENI FOAM RSpec: [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp1-openflow-eg-gpo.rspec EG-EXP-6-exp1-openflow-eg-gpo.rspec] - RENCI ExoGENI FOAM RSpec: [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp1-openflow-eg-renci.rspec EG-EXP-6-exp1-openflow-eg-renci.rspec] The BBN ExoGENI rack connects to the GENI backbone via the GPO Site !OpenFlow switch named poblano. In order for this scenario to work !OpenFlow must be configured also on the poblano switch to allow the BBN ExoGENI rack OF traffic to get to the OF GENI core. The following !OpenFlow RSpec was defined for the BBN site switch poblano: [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp1-openflow-gpo.rspec EG-EXP-6-exp1-openflow-gpo.rspec] == 6. Define request RSpecs for !OpenFlow core resources at NLR FOAM. == Defined an !OpenFlow RSpec for the NLR FOAM controller: [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp1-openflow-nlr.rspec EG-EXP-6-exp1-openflow-nlr.rspec] == 7. Create the first slice == Created the first slice: {{{ $ omni.py createslice EG-EXP-6-exp1 }}} == 8. Create a sliver in the first slice at each AM, using the RSpecs defined above. == Create sliver at GPO ExoGENI compute resource aggregate: {{{ $ omni.py -a eg-gpo createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-eg-gpo.rspec INFO:omni:Loading config file /home/lnevers/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 expires on 2013-01-24 20:04:15 UTC INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp1-eg-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp1 at https://bbn-hn.exogeni.net:11443/orca/xmlrpc: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-gpo'] framework: pg Args: createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-eg-gpo.rspec Result Summary: Got Reserved resources RSpec from bbn-hn-exogeni-net-11443-orca INFO:omni: ============================================================ }}} Create sliver at ExoGENI FOAM: {{{ $ omni.py -a eg-of-gpo createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-eg-gpo.rspec INFO:omni:Loading config file /home/lnevers/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-of-gpo with URL https://bbn-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN WARNING:omni:You asked to use AM API 2, but the AM(s) you are contacting do not all speak that version. WARNING:omni:At the URLs you are contacting, all your AMs speak AM API v1. WARNING:omni:Switching to AM API v1. Next time call Omni with '-V1'. INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 expires on 2013-01-24 20:04:15 UTC INFO:omni:Substituting AM nickname eg-of-gpo with URL https://bbn-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-of-gpo with URL https://bbn-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp1-openflow-eg-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp1 at https://bbn-hn.exogeni.net:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-of-gpo'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-eg-gpo.rspec Result Summary: Your AMs do not all speak requested API v2. At the URLs you are contacting, all your AMs speak AM API v1. Switching to AM API v1. Next time call Omni with '-V1'. Got Reserved resources RSpec from bbn-hn-exogeni-net INFO:omni: ============================================================ }}} Create GPO Site FOAM sliver: {{{ $$ omni.py -a of-gpo createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-gpo.rspec -V1 INFO:omni:Loading config file /home/lnevers/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname of-gpo with URL https://foam.gpolab.bbn.com:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 expires on 2013-01-24 20:04:15 UTC INFO:omni:Substituting AM nickname of-gpo with URL https://foam.gpolab.bbn.com:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname of-gpo with URL https://foam.gpolab.bbn.com:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp1-openflow-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp1 at https://foam.gpolab.bbn.com:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['of-gpo'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-gpo.rspec Result Summary: Got Reserved resources RSpec from foam-gpolab-bbn-com INFO:omni: ============================================================ }}} Create NLR FOAM sliver: {{{ $ omni.py -a of-nlr createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-nlr.rspec INFO:omni:Loading config file /home/lnevers/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname of-nlr with URL https://foam.nlr.net:3626/foam/gapi/1, URN unspecified_AM_URN WARNING:omni:You asked to use AM API 2, but the AM(s) you are contacting do not all speak that version. WARNING:omni:At the URLs you are contacting, all your AMs speak AM API v1. WARNING:omni:Switching to AM API v1. Next time call Omni with '-V1'. INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 expires on 2013-01-24 20:04:15 UTC INFO:omni:Substituting AM nickname of-nlr with URL https://foam.nlr.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname of-nlr with URL https://foam.nlr.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp1-openflow-nlr.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp1 at https://foam.nlr.net:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['of-nlr'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-nlr.rspec Result Summary: Your AMs do not all speak requested API v2. At the URLs you are contacting, all your AMs speak AM API v1. Switching to AM API v1. Next time call Omni with '-V1'. Got Reserved resources RSpec from foam-nlr-net INFO:omni: ============================================================ }}} Create sliver at RENCI FOAM: {{{ $ omni.py -a eg-of-renci createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-eg-renci.rspec -V1 INFO:omni:Loading config file /home/lnevers/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-of-renci with URL https://rci-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 expires on 2013-01-24 20:04:15 UTC INFO:omni:Substituting AM nickname eg-of-renci with URL https://rci-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-of-renci with URL https://rci-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp1-openflow-eg-renci.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp1 at https://rci-hn.exogeni.net:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-of-renci'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-eg-renci.rspec Result Summary: Got Reserved resources RSpec from rci-hn-exogeni-net INFO:omni: ============================================================ }}} Create RENCI Compute Resource sliver: {{{ $ omni.py -a eg-renci createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-eg-renci.rspec INFO:omni:Loading config file /home/lnevers/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-renci with URL https://rci-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 expires on 2013-01-24 20:04:15 UTC INFO:omni:Substituting AM nickname eg-renci with URL https://rci-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-renci with URL https://rci-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp1-eg-renci.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp1 at https://rci-hn.exogeni.net:11443/orca/xmlrpc: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-renci'] framework: pg Args: createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-eg-renci.rspec Result Summary: Got Reserved resources RSpec from rci-hn-exogeni-net-11443-orca INFO:omni: ============================================================ }}} == 9. Log in to each of the systems, verify IP address assignment. Send traffic to the other system, leave traffic running. == Determine the status of the !OpenFlow slivers, check the sliverstatus for each to make sure that they have been approved. Note that 'geni_status' is 'ready' when the sliver is approved. If the !OpenFlow sliver is waiting for approval the 'geni_status' will be 'configuring: {{{ $ omni.py -a eg-of-gpo sliverstatus EG-EXP-6-exp1 $ omni.py -a of-gpo sliverstatus EG-EXP-6-exp1 $ omni.py -a of-nlr sliverstatus EG-EXP-6-exp1 $ omni.py -a eg-of-renci sliverstatus EG-EXP-6-exp1 }}} Determine compute resources allocated to each sliver in the ExoGENI racks. First make sure the overall sliverstatus is ready for each compure resource sliver: {{{ $ omni.py -a eg-gpo sliverstatus EG-EXP-6-exp1 $ omni.py -a eg-renci sliverstatus EG-EXP-6-exp1 }}} Once the slivers are ready get the list of hosts allocated with Omni: {{{ $ readyToLogin.py -a eg-gpo EG-EXP-6-exp1 <...> User root logins to VM using: xterm -e ssh -i /home/lnevers/.ssh/id_rsa root@192.1.242.8 & $ readyToLogin.py -a eg-renci EG-EXP-6-exp1 <...> User root logins to VM using: xterm -e ssh -i /home/lnevers/.ssh/id_rsa root@152.54.14.6 & }}} Login to BBN VM and send traffic to remote: {{{ $ ssh -i /home/lnevers/.ssh/id_rsa root@192.1.242.8 root@debian:~# ping 10.42.11.205 PING 10.42.11.205 (10.42.11.205) 56(84) bytes of data. 64 bytes from 10.42.11.205: icmp_req=1 ttl=64 time=374 ms 64 bytes from 10.42.11.205: icmp_req=2 ttl=64 time=172 ms 64 bytes from 10.42.11.205: icmp_req=3 ttl=64 time=172 ms }}} Login to RENCI VM and send traffic to remote: {{{ $ ssh -i /home/lnevers/.ssh/id_rsa root@152.54.14.6 root@debian:~# ping 10.42.11.198 PING 10.42.11.198 (10.42.11.198) 56(84) bytes of data. 64 bytes from 10.42.11.198: icmp_req=1 ttl=64 time=2175 ms 64 bytes from 10.42.11.198: icmp_req=2 ttl=64 time=1169 ms 64 bytes from 10.42.11.198: icmp_req=3 ttl=64 time=171 ms 64 bytes from 10.42.11.198: icmp_req=4 ttl=64 time=172 ms }}} == 10. As Experimenter2, define a request RSpec for one VM and one bare metal node at BBN ExoGENI. == GPO ProtoGENI user credentials for lnevers1@bbn.com were used for Experimenter2. Requested listresources from each of the FOAM aggregates: {{{ $ omni.py listresources -a eg-of-gpo -o -V1 $ omni.py listresources -a of-gpo -o - V1 $ omni.py listresources -a of-nlr -o - V1 $ omni.py listresources -a eg-of-renci -o -V1 }}} Requested listresources from each of the ExoGENI aggregates: {{{ $ omni.py listresources -a eg-sm -o $ omni.py listresources -a eg-renci -o }}} Defined an RSpec for one VM and one bare metal node on the shared VLAN 1750 in the GPO ExoGENI rack [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp2-eg-gpo.rspec EG-EXP-6-exp2-eg-gpo.rspec]. The Bare Metal node is only available via the ExoSM, so request for the GPO ExoGENI Rack Compute resources must be via the ExoSM. == 11. Define a request RSpec for two VMs on the same worker node at RENCI ExoGENI. == Defined an RSpec for two VMs on the shared VLAN 1750 in the RENCI rack: [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp2-eg-renci.rspec EG-EXP-6-exp2-eg-renci.rspec] == 12. Define request RSpecs for !OpenFlow resources from GPO FOAM to access GENI !OpenFlow core resources. == The experiment uses the flows defined by the RSpec [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp2-openflow-gpo.rspec EG-EXP-6-exp2-openflow-gpo.rspec]. == 13. Define request RSpecs for !OpenFlow core resources at NLR FOAM == The experiment uses the flows defined by the previous experiment, as defined in [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp2-openflow-nlr.rspec EG-EXP-6-exp2-openflow-nlr.rspec] == 14. Create a second slice == {{{ $ omni.py createslice EG-EXP-6-exp2 }}} == 15. Create a sliver in the second slice at the ExoSM, using the RSpecs defined above == Because the bare metal node is available via the ExoSM had to request the shared VLAN 1750 compute resources for the GPO rack from the ExoSM. The request: {{{ $ omni.py -a eg-sm createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-eg-gpo.rspec INFO:omni:Loading config file /home/lnevers1/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-sm with URL https://geni.renci.org:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 expires on 2013-01-24 20:40:39 UTC INFO:omni:Substituting AM nickname eg-sm with URL https://geni.renci.org:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-sm with URL https://geni.renci.org:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp2-eg-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp2 at https://geni.renci.org:11443/orca/xmlrpc: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-sm'] framework: pg Args: createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-eg-gpo.rspec Result Summary: Got Reserved resources RSpec from geni-renci-org-11443-orca INFO:omni: ============================================================ }}} Created a sliver at RENCI ExoGENIrack aggregate: {{{ $ omni.py -a eg-renci createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-eg-renci.rspec INFO:omni:Loading config file /home/lnevers1/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-renci with URL https://rci-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 expires on 2013-01-24 20:40:39 UTC INFO:omni:Substituting AM nickname eg-renci with URL https://rci-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-renci with URL https://rci-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp2-eg-renci.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp2 at https://rci-hn.exogeni.net:11443/orca/xmlrpc: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-renci'] framework: pg Args: createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-eg-renci.rspec Result Summary: Got Reserved resources RSpec from rci-hn-exogeni-net-11443-orca INFO:omni: ============================================================ }}} Create slivers for network resources required by experiment 2 are each FOAM. Sliver at GPO ExoGENI FOAM: {{{ $ omni.py -a eg-of-gpo createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-openflow-eg-gpo.rspec INFO:omni:Loading config file /home/lnevers1/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-of-gpo with URL https://bbn-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN WARNING:omni:You asked to use AM API 2, but the AM(s) you are contacting do not all speak that version. WARNING:omni:At the URLs you are contacting, all your AMs speak AM API v1. WARNING:omni:Switching to AM API v1. Next time call Omni with '-V1'. INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 expires on 2013-01-24 20:40:39 UTC INFO:omni:Substituting AM nickname eg-of-gpo with URL https://bbn-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-of-gpo with URL https://bbn-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp2-openflow-eg-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp2 at https://bbn-hn.exogeni.net:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-of-gpo'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-openflow-eg-gpo.rspec Result Summary: Your AMs do not all speak requested API v2. At the URLs you are contacting, all your AMs speak AM API v1. Switching to AM API v1. Next time call Omni with '-V1'. Got Reserved resources RSpec from bbn-hn-exogeni-net INFO:omni: ============================================================ }}} Sliver at GPO Site FOAM: {{{ $ omni.py -a of-gpo createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-openflow-gpo.rspec -V1 INFO:omni:Loading config file /home/lnevers1/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname of-gpo with URL https://foam.gpolab.bbn.com:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 expires on 2013-01-24 20:40:39 UTC INFO:omni:Substituting AM nickname of-gpo with URL https://foam.gpolab.bbn.com:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname of-gpo with URL https://foam.gpolab.bbn.com:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp2-openflow-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp2 at https://foam.gpolab.bbn.com:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['of-gpo'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-openflow-gpo.rspec Result Summary: Got Reserved resources RSpec from foam-gpolab-bbn-com INFO:omni: ============================================================ }}} Sliver at NLR FOAM: {{{ $ omni.py -a of-nlr createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-openflow-nlr.rspec -V1 INFO:omni:Loading config file /home/lnevers1/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname of-nlr with URL https://foam.nlr.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 expires on 2013-01-24 20:40:39 UTC INFO:omni:Substituting AM nickname of-nlr with URL https://foam.nlr.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname of-nlr with URL https://foam.nlr.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp2-openflow-nlr.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp2 at https://foam.nlr.net:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['of-nlr'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-openflow-nlr.rspec Result Summary: Got Reserved resources RSpec from foam-nlr-net INFO:omni: ============================================================ }}} Sliver at RENCI FOAM: {{{ $ omni.py -a eg-of-renci createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-openflow-eg-renci.rspec -V1 INFO:omni:Loading config file /home/lnevers1/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-of-renci with URL https://rci-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 expires on 2013-01-24 20:40:39 UTC INFO:omni:Substituting AM nickname eg-of-renci with URL https://rci-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-of-renci with URL https://rci-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp2-openflow-eg-renci.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp2 at https://rci-hn.exogeni.net:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-of-renci'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp2 EG-EXP-6-exp2-openflow-eg-renci.rspec Result Summary: Got Reserved resources RSpec from rci-hn-exogeni-net INFO:omni: ============================================================ }}} == 16. Log in to each node and send traffic == Login to each system and send traffic to each of other systems and leave traffic running. First, determine compute resources allocated to each sliver in the ExoGENI racks. First make sure the sliverstatus is ready: {{{ $ readyToLogin.py -a eg-sm EG-EXP-6-exp2 <...> User root logins to BT using: xterm -e ssh -i /home/lnevers1/.ssh/geni_key root@192.1.242.111 & User root logins to geni2 using: xterm -e ssh -i /home/lnevers1/.ssh/geni_key root@192.1.242.9 & $ readyToLogin.py -a eg-renci EG-EXP-6-exp2 <...> User root logins to VM using: xterm -e ssh -i /home/lnevers1/.ssh/geni_key root@152.54.14.19 & User root logins to VM-0 using: xterm -e ssh -i /home/lnevers1/.ssh/geni_key root@152.54.14.20 & }}} Login to GPO VM named "geni2" and send traffic to remote RENCI VM: {{{ $ ssh -i /home/lnevers1/.ssh/geni_key root@192.1.242.9 root@geni2:~# /sbin/ifconfig|grep 10.42 inet addr:10.42.18.12 Bcast:10.42.18.255 Mask:255.255.255.0 root@geni2:~# ping 10.42.18.15 PING 10.42.18.15 (10.42.18.15) 56(84) bytes of data. 64 bytes from 10.42.18.15: icmp_req=1 ttl=64 time=4129 ms 64 bytes from 10.42.18.15: icmp_req=4 ttl=64 time=1172 ms 64 bytes from 10.42.18.15: icmp_req=5 ttl=64 time=171 ms }}} Login to GPO Bare Metal node and send traffic to remote RENCI VM-0: {{{ $ ssh -i /home/lnevers1/.ssh/geni_key root@192.1.242.111 [root@bbn-w10 ~]# /sbin/ifconfig|grep 10.42 inet addr:10.42.18.11 Bcast:10.42.18.255 Mask:255.255.255.0 [root@bbn-w10 ~]# ping 10.42.18.16 PING 10.42.18.16 (10.42.18.16) 56(84) bytes of data. 64 bytes from 10.42.18.16: icmp_seq=1 ttl=64 time=2087 ms 64 bytes from 10.42.18.16: icmp_seq=2 ttl=64 time=1089 ms 64 bytes from 10.42.18.16: icmp_seq=3 ttl=64 time=171 ms 64 bytes from 10.42.18.16: icmp_seq=4 ttl=64 time=171 ms 64 bytes from 10.42.18.16: icmp_seq=5 ttl=64 time=171 ms }}} Login to RENCI VM and send traffic to GPO VM named geni2: {{{ $ ssh -i /home/lnevers1/.ssh/geni_key root@152.54.14.19 root@VM:~# /sbin/ifconfig|grep 10.42 inet addr:10.42.18.15 Bcast:10.42.18.255 Mask:255.255.255.0 root@VM:~# ping 10.42.18.12 PING 10.42.18.12 (10.42.18.12) 56(84) bytes of data. 64 bytes from 10.42.18.12: icmp_req=1 ttl=64 time=2053 ms 64 bytes from 10.42.18.12: icmp_req=2 ttl=64 time=1063 ms 64 bytes from 10.42.18.12: icmp_req=3 ttl=64 time=171 ms 64 bytes from 10.42.18.12: icmp_req=4 ttl=64 time=172 ms }}} Login to RENCI VM-0 and send traffic to remote GPO Bare Metal node: {{{ $ ssh -i /home/lnevers1/.ssh/geni_key root@152.54.14.20 root@VM-0:~# /sbin/ifconfig|grep 10.42 inet addr:10.42.18.16 Bcast:10.42.18.255 Mask:255.255.255.0 root@VM-0:~# ping 10.42.18.11 PING 10.42.18.11 (10.42.18.11) 56(84) bytes of data. 64 bytes from 10.42.18.11: icmp_req=1 ttl=64 time=1980 ms 64 bytes from 10.42.18.11: icmp_req=2 ttl=64 time=1063 ms 64 bytes from 10.42.18.11: icmp_req=3 ttl=64 time=171 ms 64 bytes from 10.42.18.11: icmp_req=4 ttl=64 time=171 ms 64 bytes from 10.42.18.11: icmp_req=5 ttl=64 time=171 ms }}} == 17. As Experimenter3, request !ListResources from BBN ExoGENI, GPO FOAM, and FOAM at Meso-scale Site == GPO ProtoGENI user credentials for lnevers2@bbn.com were used for Experimenter3. Got a listresources from each aggregate in the experiment 2. Note, the WAPG resource at Rutgers is available via the Emulab ProtoGENI aggregate. Executed the following to get resources for each aggregate: {{{ $ omni.py listresources -a eg-gpo -o $ omni.py listresources -a of-gpo -o -V1 $ omni.py listresources -a of-i2 -o -V1 $ omni.py listresources -a of-rutgers -o -V1 $ omni.py listresources -a pgeni -o $ omni.py listresources -a pg-utah -o }}} == 18. Review !ListResources output from all AMs == Reviewed content of advertisement RSpecs for each of the aggregates polled in the previous step. == 19. Define a request RSpec for a VM at the BBN ExoGENI == Defined RSpec for one VM on the shared VLAN 1750 in the GPO ExoGENI rack: [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp3-eg-gpo.rspec EG-EXP-6-exp3-wg-gpo.rspec] == 20. Define a request RSpec for a compute resource at the GPO Meso-scale site == Defined RSpec for one PG Resource at the GPO PG site: [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp3-pg-gpo.rspec EG-EXP-6-exp3-pg-gpo.rspec] == 21. Define a request RSpec for a compute resource at a Meso-scale site == Defined RSpec for one WAPG Resource at the Rutgers site [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp3-rutgers-wapg.rspec EG-EXP-6-exp3-rutgers-wapg.rspec] == 22. Define request RSpecs for !OpenFlow resources to allow connection from OF BBN ExoGENI to Meso-scale OF sites GPO (NLR) and Rutgers Sites (I2) == Defined the !OpenFlow RSpecs for the FOAM sites below: - Rutgers [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp3-openflow-rutgers.rspec EG-EXP-6-exp3-openflow-rutgers.rspec] - GPO [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp3-openflow-gpo.rspec EG-EXP-6-exp3-openflow-gpo.rspec] - Internet2 [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp3-openflow-i2.rspec EG-EXP-6-exp3-openflow-i2.rspec] == 23. Create a third slice == {{{ $ omni.py createslice EG-EXP-6-exp3 }}} == 24. Create slivers that connect Meso-scale !OpenFlow site to the BBN ExoGENI Site, and the GPO Meso-scale site == Create slivers at each compute resource aggregate. Create the sliver at GPO ExoGENI: {{{ $ omni.py -a eg-gpo createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-eg-gpo.rspec INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 expires on 2013-01-24 21:39:25 UTC INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp3-eg-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp3 at https://bbn-hn.exogeni.net:11443/orca/xmlrpc: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-gpo'] framework: pg Args: createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-eg-gpo.rspec Result Summary: Got Reserved resources RSpec from bbn-hn-exogeni-net-11443-orca INFO:omni: ============================================================ }}} Create sliver for Rutgers WAPG node pg51: {{{ $ omni.py -a pg-utah createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-rutgers-wapg.rspec INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net/protogeni/xmlrpc/am, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 expires within 1 day on 2013-01-25 00:00:00 UTC INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net/protogeni/xmlrpc/am, URN unspecified_AM_URN INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net/protogeni/xmlrpc/am, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp3-rutgers-wapg.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp3 at https://www.emulab.net/protogeni/xmlrpc/am: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['pg-utah'] framework: pg Args: createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-rutgers-wapg.rspec Result Summary: Got Reserved resources RSpec from www-emulab-net-protogeni INFO:omni: ============================================================ }}} Create sliver for GPO PG Node: {{{ $ omni.py -a pgeni createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-pg-gpo.rspec ## See Note1 INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname pgeni with URL https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am, URN unspecified_AM_URN INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 expires within 1 day on 2013-01-25 00:00:00 UTC INFO:omni:Substituting AM nickname pgeni with URL https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am, URN unspecified_AM_URN INFO:omni:Substituting AM nickname pgeni with URL https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp3-pg-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 WARNING:omni:Requested API version 2, but AM https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am uses version 1. Same aggregate talks API v2 at a different URL: https://www.pgeni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0 INFO:omni:Switching AM URL to match requested version INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp3 at https://www.pgeni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['pgeni'] framework: pg Args: createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-pg-gpo.rspec Result Summary: Got Reserved resources RSpec from www-pgeni-gpolab-bbn-com-protogeniv2 INFO:omni: ============================================================ }}} Create the sliver at the FOAM aggregates. Sliver creation at the GPO ExoGENI FOAM: {{{ $ omni.py -a eg-of-gpo createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-openflow-eg-gpo.rspec INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname eg-of-gpo with URL https://bbn-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN WARNING:omni:You asked to use AM API 2, but the AM(s) you are contacting do not all speak that version. WARNING:omni:At the URLs you are contacting, all your AMs speak AM API v1. WARNING:omni:Switching to AM API v1. Next time call Omni with '-V1'. INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 expires within 1 day on 2013-01-25 00:00:00 UTC INFO:omni:Substituting AM nickname eg-of-gpo with URL https://bbn-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname eg-of-gpo with URL https://bbn-hn.exogeni.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp3-openflow-eg-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp3 at https://bbn-hn.exogeni.net:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['eg-of-gpo'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-openflow-eg-gpo.rspec Result Summary: Your AMs do not all speak requested API v2. At the URLs you are contacting, all your AMs speak AM API v1. Switching to AM API v1. Next time call Omni with '-V1'. Got Reserved resources RSpec from bbn-hn-exogeni-net INFO:omni: ============================================================ }}} Sliver creation at the GPO Site FOAM: {{{ $ omni.py createsliver -a of-gpo EG-EXP-6-exp3 ./EG-EXP-6-exp3-openflow-gpo.rspec INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname of-gpo with URL https://foam.gpolab.bbn.com:3626/foam/gapi/1, URN unspecified_AM_URN WARNING:omni:You asked to use AM API 2, but the AM(s) you are contacting do not all speak that version. WARNING:omni:At the URLs you are contacting, all your AMs speak AM API v1. WARNING:omni:Switching to AM API v1. Next time call Omni with '-V1'. INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 expires within 1 day on 2013-01-25 00:00:00 UTC INFO:omni:Substituting AM nickname of-gpo with URL https://foam.gpolab.bbn.com:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname of-gpo with URL https://foam.gpolab.bbn.com:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file ./EG-EXP-6-exp3-openflow-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp3 at https://foam.gpolab.bbn.com:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['of-gpo'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp3 ./EG-EXP-6-exp3-openflow-gpo.rspec Result Summary: Your AMs do not all speak requested API v2. At the URLs you are contacting, all your AMs speak AM API v1. Switching to AM API v1. Next time call Omni with '-V1'. Got Reserved resources RSpec from foam-gpolab-bbn-com INFO:omni: ============================================================ }}} Sliver creation at the NLR FOAM: {{{ $ omni.py -a of-nlr createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-openflow-nlr.rspec INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname of-nlr with URL https://foam.nlr.net:3626/foam/gapi/1, URN unspecified_AM_URN WARNING:omni:You asked to use AM API 2, but the AM(s) you are contacting do not all speak that version. WARNING:omni:At the URLs you are contacting, all your AMs speak AM API v1. WARNING:omni:Switching to AM API v1. Next time call Omni with '-V1'. INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 expires within 1 day on 2013-01-25 00:00:00 UTC INFO:omni:Substituting AM nickname of-nlr with URL https://foam.nlr.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname of-nlr with URL https://foam.nlr.net:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp3-openflow-nlr.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp3 at https://foam.nlr.net:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['of-nlr'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-openflow-nlr.rspec Result Summary: Your AMs do not all speak requested API v2. At the URLs you are contacting, all your AMs speak AM API v1. Switching to AM API v1. Next time call Omni with '-V1'. Got Reserved resources RSpec from foam-nlr-net INFO:omni: ============================================================ }}} Sliver creation at the Internet2 FOAM: {{{ $ omni.py -a of-i2 createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-openflow-i2.rspecINFO:omni:Loading config file /home/lnevers2/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname of-i2 with URL https://foam.net.internet2.edu:3626/foam/gapi/1, URN unspecified_AM_URN WARNING:omni:You asked to use AM API 2, but the AM(s) you are contacting do not all speak that version. WARNING:omni:At the URLs you are contacting, all your AMs speak AM API v1. WARNING:omni:Switching to AM API v1. Next time call Omni with '-V1'. INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 expires within 1 day on 2013-01-25 00:00:00 UTC INFO:omni:Substituting AM nickname of-i2 with URL https://foam.net.internet2.edu:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname of-i2 with URL https://foam.net.internet2.edu:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp3-openflow-i2.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp3 at https://foam.net.internet2.edu:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['of-i2'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-openflow-i2.rspec Result Summary: Your AMs do not all speak requested API v2. At the URLs you are contacting, all your AMs speak AM API v1. Switching to AM API v1. Next time call Omni with '-V1'. Got Reserved resources RSpec from foam-net-internet2-edu INFO:omni: ============================================================ }}} Sliver creation at the Rutgers FOAM: {{{ $ omni.py -a of-rutgers createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-openflow-rutgers.rspec INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config INFO:omni:Using control framework pg INFO:omni:Substituting AM nickname of-rutgers with URL https://nox.orbit-lab.org:3626/foam/gapi/1, URN unspecified_AM_URN WARNING:omni:You asked to use AM API 2, but the AM(s) you are contacting do not all speak that version. WARNING:omni:At the URLs you are contacting, all your AMs speak AM API v1. WARNING:omni:Switching to AM API v1. Next time call Omni with '-V1'. INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 expires within 1 day on 2013-01-25 00:00:00 UTC INFO:omni:Substituting AM nickname of-rutgers with URL https://nox.orbit-lab.org:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Substituting AM nickname of-rutgers with URL https://nox.orbit-lab.org:3626/foam/gapi/1, URN unspecified_AM_URN INFO:omni:Creating sliver(s) from rspec file EG-EXP-6-exp3-openflow-rutgers.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3 INFO:omni:Got return from CreateSliver for slice EG-EXP-6-exp3 at https://nox.orbit-lab.org:3626/foam/gapi/1: INFO:omni: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['of-rutgers'] api_version: 1 framework: pg Args: createsliver EG-EXP-6-exp3 EG-EXP-6-exp3-openflow-rutgers.rspec Result Summary: Your AMs do not all speak requested API v2. At the URLs you are contacting, all your AMs speak AM API v1. Switching to AM API v1. Next time call Omni with '-V1'. Got Reserved resources RSpec from nox-orbit-lab-org INFO:omni: ============================================================ }}} Note: The GPO ProtoGENI reservation must be requested before the BBN OpenFlow FOAM request. This must be done to determine the port of the GPO PG node assigned, and then configure the GPO FOAM RSpec accordingly. == 25. Log in to each of the compute resources in the slice == Determined the login information for the GPO ExoGENI compute resources: {{{ $ readyToLogin.py -a eg-gpo EG-EXP-6-exp3 <...> User root logins to VM using: xterm -e ssh -i /home/lnevers2/.ssh/geni_key root@192.1.242.18 & }}} Determine the login information for the WAPG Rutgers node: {{{ $ readyToLogin.py -a pg-utah EG-EXP-6-exp3 <...> wapg-rutgers-pg51's geni_status is: ready (am_status:ready) User lnevers2 logins to wapg-rutgers-pg51 using: xterm -e ssh -i /home/lnevers2/.ssh/geni_key lnevers2@pg51.emulab.net & }}} Note that the WAPG node will not be automatically configured to use the address from the RSpec. The interface must be configured manaually. The following was executed on "pg52.emulab.net". First added the following to the file /etc/sysconfig/network-scripts/ifcfg-eth1.1750: {{{ DEVICE=eth1.1750 USERCTL=no VLAN=yes IPADDR=10.42.19.151 NETMASK=255.255.255.0 BOOTPROTO=static ONBOOT=yes }}} Brought up the newly configured interface: {{{ $ sudo ifup eth1.1750 $ /sbin/ifconfig eth1.1750 }}} Determine the login for the resource allocated to the GPO PG node: {{{ $ omni.py sliverstatus -a pgeni EG-EXP-6-exp3 -o }}} The output file EG-EXP-6-exp3-sliverstatus-www-pgeni-gpolab-bbn-com-protogeniv2.json contains the login information: {{{ $ egrep -i "hostname|login" EG-EXP-6-exp3-sliverstatus-www-pgeni-gpolab-bbn-com-protogeniv2.json "login": "lnevers2" "hostname": "pc10.pgeni.gpolab.bbn.com", }}} Note that GPO PG node will not be configured with the IP settings in the RSpec. The interface must be configured manually. The following was executed on the PG GPO node "pc10.pgeni.gpolab.bbn.com". First added the following at the end of /etc/network/interfaces file: {{{ auto eth3.1750 iface eth3.1750 inet static address 10.42.19.211 netmask 255.255.255.0 mtu 1500 }}} Install the vlan package and rebooted: {{{ $ sudo apt-get install vlan $ sudo init 6 && exit }}} Logged back in after reboot and verified the address for the interface that was just configured: {{{ $ ssh pc10.pgeni.gpolab.bbn.com vm:~> /sbin/ifconfig eth3.1750 eth3.1750 Link encap:Ethernet HWaddr 00:15:17:f4:30:6a inet addr:10.42.19.211 Bcast:10.42.19.255 Mask:255.255.255.0 inet6 addr: fe80::215:17ff:fef4:306a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:3 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:230 (230.0 B)vm:~> ping 10.42.19.198 vm:~> }}} Login to each node in the slice and send traffic to each of the other systems; leave traffic running. Login to ExoGENI Node and send traffic to GPO PG node: {{{ $ ssh -i /home/lnevers2/.ssh/geni_key root@192.1.242.18 root@eg-gpo-exp3:~# ping 10.42.19.151 PING 10.42.19.151 (10.42.19.151) 56(84) bytes of data. 64 bytes from 10.42.19.151: icmp_req=1 ttl=64 time=179 ms 64 bytes from 10.42.19.151: icmp_req=2 ttl=64 time=179 ms 64 bytes from 10.42.19.151: icmp_req=3 ttl=64 time=179 ms }}} Login to GPO PG node and send traffic to ExoGENI node: {{{ vm:~> ping 10.42.19.198 PING 10.42.19.198 (10.42.19.198) 56(84) bytes of data. }}} Login to the Rutgers WAPG node and send traffic to the ExoGENI nodes: {{{ [lnevers2@pg2 ~]$ ping 10.42.19.198 PING 10.42.19.198 (10.42.19.198) 56(84) bytes of data. 64 bytes from 10.42.19.198: icmp_seq=1 ttl=64 time=179 ms 64 bytes from 10.42.19.198: icmp_seq=2 ttl=64 time=179 ms 64 bytes from 10.42.19.198: icmp_seq=3 ttl=64 time=179 ms }}} == 26. Verify that all three experiments continue to run == Verify that each experiment is running without impacting each other's traffic and verify that data is exchanged over the path along which data is supposed to flow. Attempted to exchange traffic from Experimenter1 host to Experimenter2 host without success: {{{ root@eg-gpo-vm:~# /sbin/ifconfig -a eth1 eth1 Link encap:Ethernet HWaddr fe:16:3e:00:69:80 inet addr:10.42.11.198 Bcast:10.42.11.255 Mask:255.255.255.0 inet6 addr: fe80::fc16:3eff:fe00:6980/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:397480 errors:0 dropped:0 overruns:0 frame:0 TX packets:119983 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:29478108 (28.1 MiB) TX bytes:6947870 (6.6 MiB) root@eg-gpo-vm:~# ping 10.42.18.11 -c 5 PING 10.42.18.11 (10.42.18.11) 56(84) bytes of data. From 38.104.187.117 icmp_seq=1 Destination Host Unreachable From 38.104.187.117 icmp_seq=3 Destination Host Unreachable From 38.104.187.117 icmp_seq=5 Destination Host Unreachable --- 10.42.18.11 ping statistics --- 5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4016ms }}} Attempted several other combinations which also failed, as expected. == 27. Review baseline, GMOC, and monitoring statistics == Initial plan for this step was to review the slice monitoring data at [https://gmoc-db.grnoc.iu.edu/protected-openid/index.pl?method=slices GMOC DB] location, but after discussion with ExoGENI team, this step is being modified to use Iperf to determine statistics for the experimenter. __Iperf Run-1__ As Experimenter1 (lnevers), ran Iperf from the BBN host to the RENCI host in Experiment 1, with other 2 experiments (2&3) sending ping traffic, with these results: {{{ root@eg-gpo-vm:~# iperf -c 10.42.11.205 ------------------------------------------------------------ Client connecting to 10.42.11.205, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 10.42.11.198 port 44154 connected with 10.42.11.205 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.2 sec 5.31 MBytes 4.39 Mbits/sec }}} __Iperf Run-2__ As Experimenter2 (lnevers), ran Iperf concurrently from the each of the two BBN hosts to the two RENCI hosts in Experiment 2, with other 2 experiments (1 & 3) idle, with these results on the GPO VM host: {{{ root@geni2:~# iperf -c 10.42.18.15 ------------------------------------------------------------ Client connecting to 10.42.18.15, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 10.42.18.12 port 41603 connected with 10.42.18.15 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 5.29 MBytes 4.43 Mbits/sec }}} and on the GPO Bare Metal node: {{{ [root@bbn-w10 ~]# iperf -c 10.42.18.16 ------------------------------------------------------------ Client connecting to 10.42.18.16, TCP port 5001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 10.42.18.11 port 36154 connected with 10.42.18.16 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.3 sec 5.86 MBytes 4.78 Mbits/sec }}} __Iperf Run-3__ Combined all Iperf traffic from Run-1+Run-2, and ran all 3 client/server combinations concurrently. Results for Experiment1 GPO VM Host: {{{ root@eg-gpo-vm:~# iperf -c 10.42.11.205 ------------------------------------------------------------ Client connecting to 10.42.11.205, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 10.42.11.198 port 34893 connected with 10.42.11.205 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.2 sec 5.60 MBytes 4.59 Mbits/sec }}} Results from Experiment2 GPO VM host: {{{ root@geni2:~# iperf -c 10.42.18.15 ------------------------------------------------------------ Client connecting to 10.42.18.15, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 10.42.18.12 port 41332 connected with 10.42.18.15 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.1 sec 5.80 MBytes 4.82 Mbits/sec }}} Results from Experiment2 GPO Bare Metal : {{{ [root@bbn-w10 ~]# iperf -c 10.42.18.16 ------------------------------------------------------------ Client connecting to 10.42.18.16, TCP port 5001 TCP window size: 23.2 KByte (default) ------------------------------------------------------------ [ 3] local 10.42.18.11 port 36155 connected with 10.42.18.16 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.4 sec 5.27 MBytes 4.25 Mbits/sec }}} == 28. As site administrator, identify all controllers that the BBN ExoGENI !OpenFlow switch is connected to == An experimenter does not have site administrator privileges to identify all OpenFlow controllers that have access to the BBN ExoGENI !OpenFlow Switch. As the Administrator, get a list of active slivers on the FOAM controller which runs on the BBN Head node in the ExoGENI rack: {{{ [lnevers@bbn-hn ~]$ foamctl geni:list-slivers --passwd-file=/opt/foam/etc/foampasswd { "slivers": [ { "status": "Approved", "sliver_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1:9aab744b-3d4b-4f31-a566-e1927a45c9c6", "creation": "2013-01-23 19:06:21.592740+00:00", "pend_reason": "Request has underspecified VLAN requests", "expiration": "2013-01-26 00:00:00+00:00", "deleted": "False", "user": "urn:publicid:IDN+pgeni.gpolab.bbn.com+user+lnevers", "slice_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1", "enabled": true, "email": "lnevers@bbn.com", "flowvisor_slice": "9aab744b-3d4b-4f31-a566-e1927a45c9c6", "desc": "EG-EXP-6-exp1", "ref": null, "id": 73, "uuid": "9aab744b-3d4b-4f31-a566-e1927a45c9c6" }, { "status": "Approved", "sliver_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2:d36e0975-092f-451b-b2aa-4fee9c9fe280", "creation": "2013-01-23 19:48:15.898229+00:00", "pend_reason": "Request has underspecified VLAN requests", "expiration": "2013-01-26 00:00:00+00:00", "deleted": "False", "user": "urn:publicid:IDN+pgeni.gpolab.bbn.com+user+lnevers1", "slice_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2", "enabled": true, "email": "lnevers@bbn.com", "flowvisor_slice": "d36e0975-092f-451b-b2aa-4fee9c9fe280", "desc": "EG-EXP-6-exp2", "ref": null, "id": 74, "uuid": "d36e0975-092f-451b-b2aa-4fee9c9fe280" }, { "status": "Approved", "sliver_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3:bb48aca0-1e17-4e1c-b169-66f7b9a36eb3", "creation": "2013-01-25 13:01:03.193448+00:00", "pend_reason": "Request has underspecified VLAN requests", "expiration": "2013-01-26 00:00:00+00:00", "deleted": "False", "user": "urn:publicid:IDN+pgeni.gpolab.bbn.com+user+lnevers2", "slice_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3", "enabled": true, "email": "lnevers@bbn.com", "flowvisor_slice": "bb48aca0-1e17-4e1c-b169-66f7b9a36eb3", "desc": "EG-EXP-6-exp3", "ref": null, "id": 77, "uuid": "bb48aca0-1e17-4e1c-b169-66f7b9a36eb3" } ] } }}} To get information about which !OpenFlow controllers are in use, show the details for each of the slivers in this test case. The controller for EG-EXP-exp1 can be seen in the ''url'' below: {{{ [lnevers@bbn-hn ~]$ foamctl geni:show-sliver -u "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1:9aab744b-3d4b-4f31-a566-e1927a45c9c6" --passwd-file=/opt/foam/etc/foampasswd { "sliver": { "flowspace rules": 2, "status": "Approved", "creation": "2013-01-23 19:06:21.592740+00:00", "uuid": "9aab744b-3d4b-4f31-a566-e1927a45c9c6", "deleted": "False", "user": "urn:publicid:IDN+pgeni.gpolab.bbn.com+user+lnevers", "slice_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1", "enabled": true, "pend_reason": "Request has underspecified VLAN requests", "email": "lnevers@bbn.com", "controllers": [ { "url": "tcp:mallorea.gpolab.bbn.com:33020", "type": "primary" } ], "expiration": "2013-01-26 00:00:00+00:00", "desc": "EG-EXP-6-exp1", "sliver_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp1:9aab744b-3d4b-4f31-a566-e1927a45c9c6", "ref": null, "id": 73, "flowvisor_slice": "9aab744b-3d4b-4f31-a566-e1927a45c9c6" } }}} The controller for EG-EXP-exp2 can be seen in the ''url'' below: {{{ [lnevers@bbn-hn ~]$ foamctl geni:show-sliver -u "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2:d36e0975-092f-451b-b2aa-4fee9c9fe280" --passwd-file=/opt/foam/etc/foampasswd { "sliver": { "flowspace rules": 2, "status": "Approved", "creation": "2013-01-23 19:48:15.898229+00:00", "uuid": "d36e0975-092f-451b-b2aa-4fee9c9fe280", "deleted": "False", "user": "urn:publicid:IDN+pgeni.gpolab.bbn.com+user+lnevers1", "slice_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2", "enabled": true, "pend_reason": "Request has underspecified VLAN requests", "email": "lnevers@bbn.com", "controllers": [ { "url": "tcp:mallorea.gpolab.bbn.com:33018", "type": "primary" } ], "expiration": "2013-01-26 00:00:00+00:00", "desc": "EG-EXP-6-exp2", "sliver_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp2:d36e0975-092f-451b-b2aa-4fee9c9fe280", "ref": null, "id": 74, "flowvisor_slice": "d36e0975-092f-451b-b2aa-4fee9c9fe280" } }}} The controller for EG-EXP-exp3 can be seen in the ''url'' below: {{{ [lnevers@bbn-hn ~]$ foamctl geni:show-sliver -u "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3:bb48aca0-1e17-4e1c-b169-66f7b9a36eb3" --passwd-file=/opt/foam/etc/foampasswd { "sliver": { "flowspace rules": 2, "status": "Approved", "creation": "2013-01-25 13:01:03.193448+00:00", "uuid": "bb48aca0-1e17-4e1c-b169-66f7b9a36eb3", "deleted": "False", "user": "urn:publicid:IDN+pgeni.gpolab.bbn.com+user+lnevers2", "slice_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3", "enabled": true, "pend_reason": "Request has underspecified VLAN requests", "email": "lnevers@bbn.com", "controllers": [ { "url": "tcp:mallorea.gpolab.bbn.com:33019", "type": "primary" } ], "expiration": "2013-01-26 00:00:00+00:00", "desc": "EG-EXP-6-exp3", "sliver_urn": "urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+EG-EXP-6-exp3:bb48aca0-1e17-4e1c-b169-66f7b9a36eb3", "ref": null, "id": 77, "flowvisor_slice": "bb48aca0-1e17-4e1c-b169-66f7b9a36eb3" } }}} As an experimenter, it is possible to identify that the appropriate switches for the experiment on this page are connected to the !OpenFlow controllers used in this test case. __EG-EXP-6-exp1__ Based on the RSpecs the following !OpenFlow controller and ports are requested for EG-EXP-6-exp1: {{{ }}} On the system mallorea.gpolab.bbn.com the NOX controller is running and listening on port 33020 and allowing console connections on port 11020: {{{ $ ./nox_core --info=$HOME/nox-33020.info -i ptcp:33020 switch lavi_switches lavi_swlinks jsonmessenger=tcpport=11017,sslport=0 }}} Verified the switches connected to the controller for EG-EXP-6-exp1 by using the nox console script to get a list of switches connected to the nox_core listening to port 33020: {{{ $ ./nox-console -n localhost -p 11020 getnodes | sort 00:00:00:10:10:17:34:01 00:00:00:10:10:17:50:01 00:01:08:17:f4:b3:5b:00 00:01:08:17:f4:b5:2a:00 06:d6:00:12:e2:22:63:38 06:d6:00:12:e2:b8:a5:d0 06:d6:00:24:a8:c4:b9:00 06:d6:00:24:a8:d2:b8:40 0e:84:00:12:e2:22:63:1d 0e:84:00:12:e2:22:63:38 0e:84:00:12:e2:22:63:6e 0e:84:00:12:e2:22:6f:e5 0e:84:00:12:e2:22:81:42 0e:84:00:23:47:c8:bc:00 0e:84:00:23:47:ca:bc:40 0e:84:00:24:a8:d2:48:00 0e:84:00:24:a8:d2:b8:40 0e:84:00:26:f1:40:a8:00 }}} In the above list of connections, ''00:01:08:17:f4:b5:2a:00'' is the GPO ExoGENI OpenFlow Switch and ''00:01:08:17:f4:b3:5b:00'' is the RENCI ExoGENI OpenFlow Switch. __EG-EXP-6-exp2__ Based on the RSpecs the following controller and ports are requested for EG-EXP-6-exp2: {{{ }}} On the system mallorea.gpolab.bbn.com the NOX controller is running and listening on port 33018 and allowing console connections on port 11018: {{{ $ ./nox_core --info=$HOME/nox-33018.info -i ptcp:33018 switch lavi_switches lavi_swlinks jsonmessenger=tcpport=11018,sslport=0 }}} Verified the switches connected to the controller for EG-EXP-6-exp2 by using the nox console to get a list of switches connected: {{{ $ ./nox-console -n localhost -p 11018 getnodes |sort 00:01:08:17:f4:b3:5b:00 00:01:08:17:f4:b5:2a:00 06:d6:00:12:e2:b8:a5:d0 06:d6:00:24:a8:d2:b8:40 0e:84:00:23:47:c8:bc:00 0e:84:00:23:47:ca:bc:40 0e:84:00:24:a8:d2:48:00 0e:84:00:24:a8:d2:b8:40 0e:84:00:26:f1:40:a8:00 }}} In the above list of connections, ''00:01:08:17:f4:b5:2a:00'' is the GPO ExoGENI OpenFlow Switch and ''00:01:08:17:f4:b3:5b:00'' is the RENCI ExoGENI OpenFlow Switch. __EG-EXP-6-exp3__ Based on the RSpecs the following controller and ports are requested for EG-EXP-6-exp3: {{{ }}} On the system mallorea.gpolab.bbn.com the NOX controller is running and listening on port 33019 and allowing console connections on port 11019: {{{ $ ./nox_core --info=$HOME/nox-33019.info -i ptcp:33019 switch lavi_switches lavi_swlinks jsonmessenger=tcpport=11020,sslport=0 }}} Verified the switches for EG-EXP-6-exp3 by using the nox console to get a list of switches connected: {{{ ./nox-console -n localhost -p 11019 getnodes | sort 00:00:00:10:10:17:34:01 00:00:00:10:10:17:50:01 00:01:08:17:f4:b5:2a:00 06:d6:00:12:e2:b8:a5:d0 06:d6:00:24:a8:c4:b9:00 06:d6:00:24:a8:d2:b8:40 0e:84:00:12:e2:22:63:1d 0e:84:00:12:e2:22:63:38 0e:84:00:12:e2:22:63:6e 0e:84:00:12:e2:22:6f:e5 0e:84:00:12:e2:22:81:42 0e:84:00:23:47:c8:bc:00 0e:84:00:23:47:ca:bc:40 0e:84:00:24:a8:d2:48:00 0e:84:00:24:a8:d2:b8:40 0e:84:00:26:f1:40:a8:00 }}} In the above list of connections, ''00:01:08:17:f4:b5:2a:00'' is the BBN ExoGENI OpenFlow Switch and ''00:01:08:17:f4:b3:5b:00'' is the RENCI ExoGENI OpenFlow Switch. == 29. As Experimenter3, verify that traffic only flows on assigned network resources as specified by the controller == From Experimenter 3 host attempted to connect to Experimenter 2 host: {{{ $ ssh 192.1.242.9 -l root root@debian:~# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 52:54:00:e6:5e:1a inet addr:10.42.11.198 Bcast:10.42.255.255 Mask:255.255.0.0 inet6 addr: fe80::5054:ff:fee6:5e1a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2668 errors:0 dropped:0 overruns:0 frame:0 TX packets:731 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:167664 (163.7 KiB) TX bytes:30918 (30.1 KiB) root@debian:~# ping 10.42.18.15 PING 10.42.18.15 (10.42.18.15) 56(84) bytes of data. From 10.42.11.198 icmp_seq=2 Destination Host Unreachable From 10.42.11.198 icmp_seq=3 Destination Host Unreachable From 10.42.11.198 icmp_seq=4 Destination Host Unreachable }}} == 30. Verify control access to OF experiment == Verify that no default controller, switch fail-open behavior, or other resource other than experimenters' controllers, can control how traffic flows on network resources assigned to experimenters' slivers. The following scenarios were verified: * Traffic is not exchanged when the controller is not running. * Starting controller allows existing traffic flows to be delivered. * Stopping the controller does not stop an existing continuous traffic exchange. * Stopping the controller and starting a flow within the default timeout (5 sec) allow traffic delivery. * Stopping the controller and starting a flow after the default timeout (5 sec) does not allow traffic delivery.. == 31. Set the hard and soft timeout of flowtable entries == The flow timeout scenarios were verified by modifying the "idle_timeout" from "0" to "15" seconds and modifying the "hard_timeout" from "0" to 40 seconds in the file src/nox/coreapps/switch/switch.cc: * Stopping the controller and starting a flow within the "hard_timeout" (15 sec) allow traffic delivery. * Stopping the controller and starting a flow after the "hard_timeout" (40 sec) does not allow traffic delivery. == 32. Get switch statistics and flowtable entries for slivers from the OpenFlow switch == Statistics can be collected by experimenters and by administrator. In this step verified that both are possible. __Statistics available to Experimenters__ In this step the !FloodLight Controller is used to capture statistics rather than the NOX Controller as shown in earlier steps. The Floodlight controller was configured to run on port 33020. The following is a list of switches associated with floodlight that is running as a controller for EG-EXP-6-exp1: {{{ lnevers@mallorea:~$ curl http://localhost:9090/wm/core/controller/switches/json [{"role":null,"ports":[{"portNumber":2,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/2","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:38"},{"portNumber":16,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/16","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:38"},{"portNumber":3,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/3","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:38"}],"buffers":544,"connectedSince":1359154458468,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":4095,"dpid":"0e:84:00:12:e2:22:63:38","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"NEC Corporation","hardwareDescription":"AX-3640-24T2XW-L","softwareDescription":"11.1.C.AfOS-F3L","serialNumber":"WA23CL24T2XWS0E4309D001","datapathDescription":"of.losa-02","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/140.182.45.234:60962","tables":3},{"role":null,"ports":[{"portNumber":49,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"25","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"},{"portNumber":5,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"5","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"},{"portNumber":9,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"9","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"},{"portNumber":11,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"11","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"}],"buffers":256,"connectedSince":1359154458944,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":2047,"dpid":"06:d6:00:24:a8:d2:b8:40","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"HP-Labs","hardwareDescription":"ProCurve - Switch 6600ml-24G-4XG - J9264A","softwareDescription":"2.02w","serialNumber":"CN003EB01T","datapathDescription":"atla.of.nlr.net","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/137.164.80.77:35806","tables":2},{"role":null,"ports":[{"portNumber":2,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/2","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:1d"},{"portNumber":16,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/16","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:1d"},{"portNumber":1,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/1","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:1d"},{"portNumber":3,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/3","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:1d"}],"buffers":544,"connectedSince":1359154458469,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":4095,"dpid":"0e:84:00:12:e2:22:63:1d","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"NEC Corporation","hardwareDescription":"AX-3640-24T2XW-L","softwareDescription":"11.1.C.AfOS-F3L","serialNumber":"WA23CL24T2XWS0E4309D003","datapathDescription":"of.newy-02","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/140.182.45.234:60958","tables":3},{"role":null,"ports":[{"portNumber":2,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/2","state":512,"config":2,"hardwareAddress":"00:12:e2:22:6f:e5"},{"portNumber":16,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/16","state":512,"config":2,"hardwareAddress":"00:12:e2:22:6f:e5"},{"portNumber":1,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/1","state":512,"config":2,"hardwareAddress":"00:12:e2:22:6f:e5"},{"portNumber":3,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/3","state":512,"config":2,"hardwareAddress":"00:12:e2:22:6f:e5"}],"buffers":544,"connectedSince":1359154458467,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":4095,"dpid":"0e:84:00:12:e2:22:6f:e5","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"NEC Corporation","hardwareDescription":"AX-3640-24T2XW-L","softwareDescription":"11.1.C.AfOS-F3L","serialNumber":"WA23CL24T2XWS0E4309D005","datapathDescription":"of.wash-02","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/140.182.45.234:60959","tables":3},{"role":null,"ports":[{"portNumber":49,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"25","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:48:00"},{"portNumber":6,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"6","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:48:00"},{"portNumber":65534,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"local","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:48:00"},{"portNumber":51,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"27","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:48:00"},{"portNumber":50,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"26","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:48:00"}],"buffers":256,"connectedSince":1359154458934,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":2047,"dpid":"0e:84:00:24:a8:d2:48:00","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"HP-Labs","hardwareDescription":"ProCurve - Switch 6600ml-24G-4XG - J9264A","softwareDescription":"2.02w","serialNumber":"CN952EB00S","datapathDescription":"seat.of.nlr.net","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/137.164.80.77:35803","tables":2},{"role":null,"ports":[{"portNumber":33,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"9","state":0,"config":0,"hardwareAddress":"00:24:a8:c4:b9:00"}],"buffers":256,"connectedSince":1359154458280,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":2047,"dpid":"06:d6:00:24:a8:c4:b9:00","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"HP-Labs","hardwareDescription":"ProCurve - Switch 6600ml-48G-4XG - J9452A","softwareDescription":"2.02w","serialNumber":"CN9202M087","datapathDescription":"habanero","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/192.1.249.23:54270","tables":2},{"role":null,"ports":[{"portNumber":49,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"25","state":0,"config":0,"hardwareAddress":"00:26:f1:40:a8:00"},{"portNumber":6,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"6","state":0,"config":0,"hardwareAddress":"00:26:f1:40:a8:00"},{"portNumber":65534,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"local","state":0,"config":0,"hardwareAddress":"00:26:f1:40:a8:00"},{"portNumber":51,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"27","state":0,"config":0,"hardwareAddress":"00:26:f1:40:a8:00"},{"portNumber":50,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"26","state":0,"config":0,"hardwareAddress":"00:26:f1:40:a8:00"}],"buffers":256,"connectedSince":1359154458943,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":2047,"dpid":"0e:84:00:26:f1:40:a8:00","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"HP-Labs","hardwareDescription":"ProCurve - Switch 6600ml-24G-4XG - J9264A","softwareDescription":"2.02w","serialNumber":"CN011EB005","datapathDescription":"denv.of.nlr.net","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/137.164.80.77:35807","tables":2},{"role":null,"ports":[{"portNumber":49,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"25","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"},{"portNumber":20,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"20","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"},{"portNumber":6,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"6","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"},{"portNumber":65534,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"local","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"},{"portNumber":51,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"27","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"},{"portNumber":52,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"28","state":0,"config":0,"hardwareAddress":"00:24:a8:d2:b8:40"}],"buffers":256,"connectedSince":1359154458941,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":2047,"dpid":"0e:84:00:24:a8:d2:b8:40","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"HP-Labs","hardwareDescription":"ProCurve - Switch 6600ml-24G-4XG - J9264A","softwareDescription":"2.02w","serialNumber":"CN003EB01T","datapathDescription":"atla.of.nlr.net","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/137.164.80.77:35805","tables":2},{"role":null,"ports":[{"portNumber":12,"currentFeatures":136,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/12","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:38"},{"portNumber":15,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/15","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:38"}],"buffers":544,"connectedSince":1359154458467,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":4095,"dpid":"06:d6:00:12:e2:22:63:38","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"NEC Corporation","hardwareDescription":"AX-3640-24T2XW-L","softwareDescription":"11.1.C.AfOS-F3L","serialNumber":"WA23CL24T2XWS0E4309D001","datapathDescription":"of.losa-04","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/140.182.45.234:60960","tables":3},{"role":null,"ports":[{"portNumber":49,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"25","state":0,"config":0,"hardwareAddress":"00:23:47:c8:bc:00"},{"portNumber":20,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"20","state":0,"config":0,"hardwareAddress":"00:23:47:c8:bc:00"},{"portNumber":6,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"6","state":0,"config":0,"hardwareAddress":"00:23:47:c8:bc:00"},{"portNumber":65534,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"local","state":0,"config":0,"hardwareAddress":"00:23:47:c8:bc:00"},{"portNumber":51,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"27","state":0,"config":0,"hardwareAddress":"00:23:47:c8:bc:00"},{"portNumber":21,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":544,"peerFeatures":0,"name":"21","state":0,"config":0,"hardwareAddress":"00:23:47:c8:bc:00"}],"buffers":256,"connectedSince":1359154458927,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":2047,"dpid":"0e:84:00:23:47:c8:bc:00","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"HP-Labs","hardwareDescription":"ProCurve - Switch 6600ml-24G-4XG - J9264A","softwareDescription":"2.02w","serialNumber":"CN011EB00G","datapathDescription":"chic.of.nlr.net","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/137.164.80.77:35802","tables":2},{"role":null,"ports":[{"portNumber":49,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"25","state":0,"config":0,"hardwareAddress":"00:23:47:ca:bc:40"},{"portNumber":6,"currentFeatures":544,"advertisedFeatures":0,"supportedFeatures":559,"peerFeatures":0,"name":"6","state":0,"config":0,"hardwareAddress":"00:23:47:ca:bc:40"},{"portNumber":65534,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"local","state":0,"config":0,"hardwareAddress":"00:23:47:ca:bc:40"},{"portNumber":51,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"27","state":0,"config":0,"hardwareAddress":"00:23:47:ca:bc:40"},{"portNumber":50,"currentFeatures":576,"advertisedFeatures":0,"supportedFeatures":576,"peerFeatures":0,"name":"26","state":0,"config":0,"hardwareAddress":"00:23:47:ca:bc:40"}],"buffers":256,"connectedSince":1359154458935,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":2047,"dpid":"0e:84:00:23:47:ca:bc:40","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"HP-Labs","hardwareDescription":"ProCurve - Switch 6600ml-24G-4XG - J9264A","softwareDescription":"2.02w","serialNumber":"CN952EB00H","datapathDescription":"sunn.of.nlr.net","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/137.164.80.77:35804","tables":2},{"role":null,"ports":[{"portNumber":40,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"40","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":49,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"49","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":31,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"31","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":22,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"22","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":20,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"20","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":27,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"27","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":55,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"55","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":62,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"62","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":34,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"34","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":19,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"19","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":41,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"41","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":13,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"13","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":48,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"48","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":33,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"33","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":5,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"5","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":28,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"28","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":42,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"42","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":18,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"18","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":47,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"47","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":25,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"25","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":61,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"61","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":56,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"56","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":46,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"46","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":53,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"53","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":36,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"36","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":26,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"26","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":45,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"45","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":35,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"35","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":54,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"54","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":17,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"17","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":9,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"9","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":51,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"51","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":37,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"37","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":44,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"44","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":58,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"58","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":64,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"64","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":43,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"43","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":30,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"30","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":23,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"23","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":52,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"52","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":29,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"29","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":1,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"1","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":57,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"57","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":38,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"38","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":24,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"24","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":60,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"60","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":21,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"21","state":512,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":39,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"39","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":32,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"32","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":59,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"59","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"},{"portNumber":50,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"50","state":513,"config":2,"hardwareAddress":"08:17:f4:b5:2a:00"}],"buffers":0,"connectedSince":1359154458382,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":319,"dpid":"00:01:08:17:f4:b5:2a:00","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"IBM","hardwareDescription":"Hardware Revision: 0 Hardware PartNumber: BAC-00065-00 Manufacturing date: 11/32","softwareDescription":"WARNING: This is UNRELEASED SOFTWARE for LAB TESTING ONLY. DO NOT USE IN A PRODUCTION NETWORK.Software Version 7.4.0.41 (FLASH image2), active configuration.","serialNumber":"MY213102DV","datapathDescription":"Datapath id 0x00010817f4b52a00 (192.168.103.4:29044)","length":1056},"supportsOfppTable":true},"capabilities":7,"inetAddress":"/192.1.242.3:30422","tables":2},{"role":null,"ports":[{"portNumber":20,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/20","state":512,"config":2,"hardwareAddress":"00:12:e2:b8:a5:d0"},{"portNumber":5,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/5","state":512,"config":2,"hardwareAddress":"00:12:e2:b8:a5:d0"},{"portNumber":16,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/16","state":512,"config":2,"hardwareAddress":"00:12:e2:b8:a5:d0"},{"portNumber":15,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/15","state":512,"config":2,"hardwareAddress":"00:12:e2:b8:a5:d0"}],"buffers":544,"connectedSince":1359154458277,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":4095,"dpid":"06:d6:00:12:e2:b8:a5:d0","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"NEC Corporation","hardwareDescription":"AX-3640-24T2XW-L","softwareDescription":"11.1.C.AfOS-F3L","serialNumber":"WA03CL24T2XWS0E4393B003","datapathDescription":"poblano-04","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/192.1.249.23:54269","tables":3},{"role":null,"ports":[{"portNumber":16,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/16","state":512,"config":2,"hardwareAddress":"00:12:e2:22:81:42"},{"portNumber":1,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/1","state":512,"config":2,"hardwareAddress":"00:12:e2:22:81:42"},{"portNumber":3,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/3","state":512,"config":2,"hardwareAddress":"00:12:e2:22:81:42"}],"buffers":544,"connectedSince":1359154458469,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":4095,"dpid":"0e:84:00:12:e2:22:81:42","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"NEC Corporation","hardwareDescription":"AX-3640-24T2XW-L","softwareDescription":"11.1.C.AfOS-F3L","serialNumber":"WA23CL24T2XWS0E4309D004","datapathDescription":"of.hous-02","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/140.182.45.234:60957","tables":3},{"role":null,"ports":[{"portNumber":12,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/12","state":512,"config":2,"hardwareAddress":"00:10:10:17:50:01"},{"portNumber":5,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/5","state":512,"config":2,"hardwareAddress":"00:10:10:17:50:01"},{"portNumber":9,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/9","state":512,"config":2,"hardwareAddress":"00:10:10:17:50:01"},{"portNumber":10,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/10","state":512,"config":2,"hardwareAddress":"00:10:10:17:50:01"},{"portNumber":11,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/11","state":512,"config":2,"hardwareAddress":"00:10:10:17:50:01"},{"portNumber":3,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/3","state":512,"config":2,"hardwareAddress":"00:10:10:17:50:01"}],"buffers":544,"connectedSince":1359154458327,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":4095,"dpid":"00:00:00:10:10:17:50:01","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"NEC Corporation","hardwareDescription":"AX-3640-48T2XWE-L","softwareDescription":"11.1.C.AeOS-F3L","serialNumber":"WA13CL48T2XVS400E05A005","datapathDescription":"sw-outside-01","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/128.6.192.135:42919","tables":3},{"role":null,"ports":[{"portNumber":9,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/9","state":512,"config":2,"hardwareAddress":"00:10:10:17:34:01"},{"portNumber":16,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/16","state":512,"config":2,"hardwareAddress":"00:10:10:17:34:01"},{"portNumber":10,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/10","state":512,"config":2,"hardwareAddress":"00:10:10:17:34:01"}],"buffers":544,"connectedSince":1359154458326,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":4095,"dpid":"00:00:00:10:10:17:34:01","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"NEC Corporation","hardwareDescription":"AX-3640-48T2XWE-L","softwareDescription":"11.1.C.AeOS-F3L","serialNumber":"WA13CL48T2XVS400E05A005","datapathDescription":"sw-outside-02","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/128.6.192.135:42918","tables":3},{"role":null,"ports":[{"portNumber":6,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/6","state":513,"config":2,"hardwareAddress":"00:12:e2:22:63:74"},{"portNumber":25,"currentFeatures":832,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"10GBE0/25","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:6e"},{"portNumber":2,"currentFeatures":800,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/2","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:6e"},{"portNumber":10,"currentFeatures":672,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"GBE0/10","state":512,"config":2,"hardwareAddress":"00:12:e2:22:63:6e"}],"buffers":544,"connectedSince":1359154458469,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":4095,"dpid":"0e:84:00:12:e2:22:63:6e","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"NEC Corporation","hardwareDescription":"AX-3640-24T2XW-L","softwareDescription":"11.1.C.AfOS-F3L","serialNumber":"WA23CL24T2XWS0E4309D002","datapathDescription":"of.atla-02","length":1056},"supportsOfppTable":true},"capabilities":135,"inetAddress":"/140.182.45.234:60961","tables":3},{"role":null,"ports":[{"portNumber":40,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"40","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":49,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"49","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":31,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"31","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":22,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"22","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":20,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"20","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":27,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"27","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":55,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"55","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":62,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"62","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":34,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"34","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":19,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"19","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":41,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"41","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":13,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"13","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":48,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"48","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":33,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"33","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":5,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"5","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":28,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"28","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":42,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"42","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":18,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"18","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":47,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"47","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":25,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"25","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":61,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"61","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":56,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"56","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":46,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"46","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":53,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"53","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":36,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"36","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":26,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"26","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":45,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"45","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":35,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"35","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":54,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"54","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":17,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"17","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":9,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"9","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":51,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"51","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":37,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"37","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":44,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"44","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":58,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"58","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":64,"currentFeatures":320,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"64","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":43,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"43","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":30,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"30","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":23,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"23","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":52,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"52","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":29,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"29","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":1,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"1","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":57,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"57","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":38,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"38","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":24,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"24","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":60,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"60","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":21,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"21","state":512,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":39,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"39","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":32,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"32","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":59,"currentFeatures":0,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"59","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"},{"portNumber":50,"currentFeatures":192,"advertisedFeatures":0,"supportedFeatures":0,"peerFeatures":0,"name":"50","state":513,"config":2,"hardwareAddress":"08:17:f4:b3:5b:00"}],"buffers":0,"connectedSince":1359154458411,"featuresReplyFromSwitch":{"transactionId":2,"done":false,"cancelled":false},"actions":319,"dpid":"00:01:08:17:f4:b3:5b:00","attributes":{"supportsOfppFlood":true,"FastWildcards":4194303,"DescriptionData":{"manufacturerDescription":"IBM","hardwareDescription":"Hardware Revision: 0 Hardware PartNumber: BAC-00065-00 Manufacturing date: 11/33","softwareDescription":"WARNING: This is UNRELEASED SOFTWARE for LAB TESTING ONLY. DO NOT USE IN A PRODUCTION NETWORK.Software Version 7.4.0.41 (FLASH image2), active configuration.","serialNumber":"MY213102H7","datapathDescription":"Datapath id 0x00010817f4b35b00 (192.168.102.4:52309)","length":1056},"supportsOfppTable":true},"capabilities":7,"inetAddress":"/152.54.14.3:36036","tables":2}] }}} Note: The ExoGENI DPID is "00:01:08:17:f4:b5:2a:00" These are switch statistics for the ExoGENI Switch, note that ports showing no statistics were omitted to simplify output captured: {{{ lnevers@mallorea:~$ curl http://localhost:9090/wm/core/switch/00:01:08:17:f4:b5:2a:00/port/json {"00:01:08:17:f4:b5:2a:00":[{"portNumber":1,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":5,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":9,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":13,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":17,"receivePackets":0,"transmitPackets":1112773,"receiveBytes":0,"transmitBytes":94316786,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":18,"receivePackets":0,"transmitPackets":1112773,"receiveBytes":0,"transmitBytes":94316786,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":19,"receivePackets":0,"transmitPackets":1112772,"receiveBytes":0,"transmitBytes":94316681,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":20,"receivePackets":0,"transmitPackets":1,"receiveBytes":0,"transmitBytes":105,"receiveDropped":0,"transmitDropped":1086875,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":21,"receivePackets":260850,"transmitPackets":1110734,"receiveBytes":27389250,"transmitBytes":93966078,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":22,"receivePackets":260851,"transmitPackets":1110735,"receiveBytes":27389355,"transmitBytes":93966250,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":23,"receivePackets":260853,"transmitPackets":1110735,"receiveBytes":27389565,"transmitBytes":93966250,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":24,"receivePackets":260853,"transmitPackets":1110733,"receiveBytes":27389565,"transmitBytes":93965973,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":25,"receivePackets":36312,"transmitPackets":409971,"receiveBytes":3812219,"transmitBytes":33941928,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":26,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":27,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":28,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":29,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":30,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":31,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":32,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":33,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":34,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":35,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":36,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":37,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":38,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":39,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":40,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":41,"receivePackets":130276093,"transmitPackets":155663294,"receiveBytes":156813680418,"transmitBytes":194000265528,"receiveDropped":427,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":42,"receivePackets":150990999,"transmitPackets":175062076,"receiveBytes":181808765040,"transmitBytes":223046989506,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":43,"receivePackets":104633251,"transmitPackets":95483858,"receiveBytes":132522399074,"transmitBytes":111440418294,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":44,"receivePackets":185344872,"transmitPackets":228392674,"receiveBytes":223664047185,"transmitBytes":290573830138,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":45,"receivePackets":82415644,"transmitPackets":115479526,"receiveBytes":85602206310,"transmitBytes":155125711730,"receiveDropped":12839,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":46,"receivePackets":140698399,"transmitPackets":181166381,"receiveBytes":159074083917,"transmitBytes":233001095491,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":47,"receivePackets":174969285,"transmitPackets":230601466,"receiveBytes":201159443242,"transmitBytes":305440849343,"receiveDropped":13280,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":48,"receivePackets":537931483,"transmitPackets":421746827,"receiveBytes":714109857440,"transmitBytes":493944918007,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":49,"receivePackets":136297,"transmitPackets":448584,"receiveBytes":23314418,"transmitBytes":45667433,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":50,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":51,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":52,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":53,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":54,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":55,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":56,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":57,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":58,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":59,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":60,"receivePackets":219029,"transmitPackets":1194345,"receiveBytes":20164234,"transmitBytes":105132275,"receiveDropped":391,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":61,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":62,"receivePackets":0,"transmitPackets":0,"receiveBytes":0,"transmitBytes":0,"receiveDropped":0,"transmitDropped":0,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0},{"portNumber":64,"receivePackets":260714867,"transmitPackets":171635150,"receiveBytes":329926650355,"transmitBytes":179064844496,"receiveDropped":35,"transmitDropped":589,"receiveErrors":0,"transmitErrors":0,"receiveFrameErrors":-1,"receiveOverrunErrors":-1,"receiveCRCErrors":0,"collisions":0}]} }}} Statics for ports '42' and '64' are of interest as shown by the details in the flow tables for the ExoGENI OF Switch. The flows between the 2 nodes 10.42.11.209 (pc9.pgeni.gpolab.bbn.com) and the address 10.42.11.198 *ExoGENI VM on shared VLAN 1750) are shown in this lists of flows on the ExoGENI switch: {{{ lnevers@mallorea:~$ curl http://localhost:9090/wm/core/switch/00:01:08:17:f4:b5:2a:00/flow/json {"00:01:08:17:f4:b5:2a:00":[{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"00:26:b9:7e:6c:c8","dataLayerSource":"fe:16:3e:00:63:62","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":0,"inputPort":48,"networkDestination":"10.50.1.100","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.50.2.2","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":8,"wildcards":0},"durationSeconds":103566,"durationNanoseconds":0,"packetCount":104000,"byteCount":11024000,"tableId":0,"actions":[{"maxLength":0,"port":64,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"fe:16:3e:00:63:62","dataLayerSource":"00:26:b9:7e:6c:c8","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":0,"inputPort":64,"networkDestination":"10.50.2.2","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.50.1.100","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":0,"wildcards":0},"durationSeconds":103565,"durationNanoseconds":0,"packetCount":103938,"byteCount":11017428,"tableId":0,"actions":[{"maxLength":0,"port":48,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"00:1f:29:32:72:b5","dataLayerSource":"fe:16:3e:00:70:fb","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":0,"inputPort":41,"networkDestination":"10.42.19.151","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.19.198","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":8,"wildcards":0},"durationSeconds":24103,"durationNanoseconds":0,"packetCount":24186,"byteCount":2563716,"tableId":0,"actions":[{"maxLength":0,"port":64,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"fe:16:3e:00:70:fb","dataLayerSource":"00:1f:29:32:72:b5","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":3,"inputPort":64,"networkDestination":"10.42.19.198","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.19.151","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":8,"wildcards":0},"durationSeconds":24102,"durationNanoseconds":0,"packetCount":24187,"byteCount":2563822,"tableId":0,"actions":[{"maxLength":0,"port":41,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"00:1f:29:32:72:b5","dataLayerSource":"fe:16:3e:00:70:fb","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":0,"inputPort":41,"networkDestination":"10.42.19.151","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.19.198","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":0,"wildcards":0},"durationSeconds":24102,"durationNanoseconds":0,"packetCount":24187,"byteCount":2563822,"tableId":0,"actions":[{"maxLength":0,"port":64,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"fe:16:3e:00:70:fb","dataLayerSource":"00:1f:29:32:72:b5","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":3,"inputPort":64,"networkDestination":"10.42.19.198","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.19.151","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":0,"wildcards":0},"durationSeconds":24101,"durationNanoseconds":0,"packetCount":24187,"byteCount":2563822,"tableId":0,"actions":[{"maxLength":0,"port":41,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"fe:16:3e:00:5b:d7","dataLayerSource":"fe:16:3e:00:5f:0b","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":0,"inputPort":47,"networkDestination":"10.42.18.15","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.18.12","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":8,"wildcards":0},"durationSeconds":15143,"durationNanoseconds":0,"packetCount":15192,"byteCount":1610352,"tableId":0,"actions":[{"maxLength":0,"port":64,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"fe:16:3e:00:5f:0b","dataLayerSource":"fe:16:3e:00:5b:d7","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":3,"inputPort":64,"networkDestination":"10.42.18.12","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.18.15","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":0,"wildcards":0},"durationSeconds":15140,"durationNanoseconds":0,"packetCount":15192,"byteCount":1610352,"tableId":0,"actions":[{"maxLength":0,"port":47,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"fe:16:3e:00:d1:21","dataLayerSource":"00:07:43:12:5c:40","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":0,"inputPort":49,"networkDestination":"10.42.18.16","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.18.11","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":8,"wildcards":0},"durationSeconds":15132,"durationNanoseconds":0,"packetCount":15179,"byteCount":1608974,"tableId":0,"actions":[{"maxLength":0,"port":64,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"00:07:43:12:5c:40","dataLayerSource":"fe:16:3e:00:d1:21","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":3,"inputPort":64,"networkDestination":"10.42.18.11","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.18.16","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":0,"wildcards":0},"durationSeconds":15130,"durationNanoseconds":0,"packetCount":15180,"byteCount":1609080,"tableId":0,"actions":[{"maxLength":0,"port":49,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"00:07:43:12:5c:40","dataLayerSource":"fe:16:3e:00:d1:21","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":3,"inputPort":64,"networkDestination":"10.42.18.11","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.18.16","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":8,"wildcards":0},"durationSeconds":15127,"durationNanoseconds":0,"packetCount":15168,"byteCount":1607808,"tableId":0,"actions":[{"maxLength":0,"port":49,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"fe:16:3e:00:d1:21","dataLayerSource":"00:07:43:12:5c:40","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":0,"inputPort":49,"networkDestination":"10.42.18.16","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.18.11","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":0,"wildcards":0},"durationSeconds":15127,"durationNanoseconds":0,"packetCount":15168,"byteCount":1607808,"tableId":0,"actions":[{"maxLength":0,"port":64,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"fe:16:3e:00:5f:0b","dataLayerSource":"fe:16:3e:00:5b:d7","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":3,"inputPort":64,"networkDestination":"10.42.18.12","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.18.15","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":8,"wildcards":0},"durationSeconds":15122,"durationNanoseconds":0,"packetCount":15172,"byteCount":1608232,"tableId":0,"actions":[{"maxLength":0,"port":47,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1},{"cookie":0,"idleTimeout":5,"hardTimeout":0,"match":{"dataLayerDestination":"fe:16:3e:00:5b:d7","dataLayerSource":"fe:16:3e:00:5f:0b","dataLayerType":"0x0800","dataLayerVirtualLan":1750,"dataLayerVirtualLanPriorityCodePoint":0,"inputPort":47,"networkDestination":"10.42.18.15","networkDestinationMaskLen":32,"networkProtocol":1,"networkSource":"10.42.18.12","networkSourceMaskLen":32,"networkTypeOfService":0,"transportDestination":0,"transportSource":0,"wildcards":0},"durationSeconds":15122,"durationNanoseconds":0,"packetCount":15172,"byteCount":1608232,"tableId":0,"actions":[{"maxLength":0,"port":64,"lengthU":8,"length":8,"type":"OUTPUT"}],"priority":-1}]} }}} Also verified memory usage: {{{ lnevers@mallorea:~$ curl http://localhost:9090/wm/core/memory/json {"total":33787904,"free":9788600} }}} __Statistics available to Administrators__ The head node runs the !FlowVisor for the !OpenFlow switch in the ExoGENI rack. To access switch and slice statistics a login on head node in the ExoGENI rack is required, this is not normally available to experimenters. This scenarios was executed using NOX as a controller for the slice EG-EXP-6-exp3. Determined how many slices were running according to !FlowVisor: {{{ [lnevers@bbn-hn ~]$ /opt/flowvisor/bin/fvctl --passwd-file=/opt/flowvisor/etc/flowvisor/fvpasswd listSlices Slice 0: d36e0975-092f-451b-b2aa-4fee9c9fe280 Slice 1: fvadmin Slice 2: a512fb29-d04f-4223-9a34-ae38158be609 Slice 3: 8aad0aae-ae92-4a3c-bd5e-43f7456f628e Slice 4: orca-2601 Slice 5: 013f6aa7-e600-4be5-9e31-5c0436223dfd Slice 6: bb48aca0-1e17-4e1c-b169-66f7b9a36eb3 Slice 7: 9aab744b-3d4b-4f31-a566-e1927a45c9c6 }}} In this example, we will be looking for the !FlowVisor slice associated with EG-EXP-6-exp3. So we have to show the slice information for each of the above to determine which is one that maps to EG-EXP-6-exp3. {{{ [lnevers@bbn-hn ~]$ /opt/flowvisor/bin/fvctl --passwd-file=/opt/flowvisor/etc/flowvisor/fvpasswd getSliceInfo bb48aca0-1e17-4e1c-b169-66f7b9a36eb3 Got reply: connection_1=00:01:08:17:f4:b5:2a:00-->/192.1.242.3:38533-->mallorea.gpolab.bbn.com/192.1.249.185:33019 contact_email=lnevers@bbn.com controller_hostname=mallorea.gpolab.bbn.com controller_port=33019 creator=fvadmin }}} The Experiment EG-EXP-6-exp-3 uses the controller mallorea.gpolab.bbn.com on port 33019 in the OpenFlow RSpec [http://groups.geni.net/geni/browser/trunk/GENIRacks/ExoGENI/Spiral4/Rspecs/AcceptanceTests/EG-EXP-6/EG-EXP-6-exp3-openflow-eg-gpo.rspec EG-EXP-6-exp3-openflow-eg-gpo.rspec] for the ExoGENI FOAM. Now that we have identified the slice, we can get statistics for it: {{{ [lnevers@bbn-hn ~]$ /opt/flowvisor/bin/fvctl --passwd-file=/opt/flowvisor/etc/flowvisor/fvpasswd getSliceStats bb48aca0-1e17-4e1c-b169-66f7b9a36eb3 Got reply: ---Sent--- slicer_bb48aca0-1e17-4e1c-b169-66f7b9a36eb3_dpid=00:01:08:17:f4:b5:2a:00 :: ECHO_REPLY=5885,FEATURES_REQUEST=1,PACKET_IN=304926,PACKET_OUT=148082,ECHO_REQUEST=5885,FLOW_MOD=8,ERROR=2,FEATURES_REPLY=1,HELLO=2,SET_CONFIG=1,FLOW_REMOVED=2,VENDOR=1 Total :: ECHO_REPLY=5885,FEATURES_REQUEST=1,PACKET_IN=304926,PACKET_OUT=148082,ECHO_REQUEST=5885,FLOW_MOD=8,ERROR=2,FEATURES_REPLY=1,HELLO=2,SET_CONFIG=1,FLOW_REMOVED=2,VENDOR=1 ---Recv--- slicer_bb48aca0-1e17-4e1c-b169-66f7b9a36eb3_dpid=00:01:08:17:f4:b5:2a:00 :: ECHO_REPLY=5885,FLOW_MOD=8,FEATURES_REQUEST=1,HELLO=1,SET_CONFIG=1,PACKET_OUT=148082,VENDOR=1 Total :: ECHO_REPLY=5885,FLOW_MOD=8,FEATURES_REQUEST=1,HELLO=1,SET_CONFIG=1,PACKET_OUT=148082,VENDOR=1 ---Drop--- Total :: }}} Determine the switch specific information, by first listing the devices and then the detailed information about them: {{{ $ /opt/flowvisor/bin/fvctl --passwd-file=/opt/flowvisor/etc/flowvisor/fvpasswd listDevices Device 0: 00:01:08:17:f4:b5:2a:00 [lnevers@bbn-hn ~]$ /opt/flowvisor/bin/fvctl --passwd-file=/opt/flowvisor/etc/flowvisor/fvpasswd getDeviceInfo 00:01:08:17:f4:b5:2a:00 nPorts=51 portList=1,5,9,13,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51,52,53,54,55,56,57,58,59,60,61,62,64,25,49 dpid=00:01:08:17:f4:b5:2a:00 remote=/192.168.103.10:6633-->/192.168.103.4:29044 portNames=1(1),5(5),9(9),13(13),17(17),18(18),19(19),20(20),21(21),22(22),23(23),24(24),26(26),27(27),28(28),29(29),30(30),31(31),32(32),33(33),34(34),35(35),36(36),37(37),38(38),39(39),40(40),41(41),42(42),43(43),44(44),45(45),46(46),47(47),48(48),50(50),51(51),52(52),53(53),54(54),55(55),56(56),57(57),58(58),59(59),60(60),61(61),62(62),64(64),25(25),49(49) }}} To show statistics for the one !OpenFlow device in the ExoGENI Rack: {{{ [lnevers@bbn-hn ~]$ /opt/flowvisor/bin/fvctl --passwd-file=/opt/flowvisor/etc/flowvisor/fvpasswd getSwitchStats 00:01:08:17:f4:b5:2a:00 Got reply: ---Sent--- classifier-dpid=00:01:08:17:f4:b5:2a:00 :: ECHO_REPLY=61176,FEATURES_REQUEST=117,STATS_REQUEST.DESC=86,GET_CONFIG_REQUEST=85,PACKET_OUT=14501852,STATS_REQUEST.FLOW=2,ECHO_REQUEST=367140,FLOW_MOD=1117636,HELLO=1,SET_CONFIG=112,STATS_REQUEST.PORT=1,VENDOR=27 Total :: ECHO_REPLY=61176,FEATURES_REQUEST=117,STATS_REQUEST.DESC=86,GET_CONFIG_REQUEST=85,PACKET_OUT=14501852,STATS_REQUEST.FLOW=2,ECHO_REQUEST=367140,FLOW_MOD=1117636,HELLO=1,SET_CONFIG=112,STATS_REQUEST.PORT=1,VENDOR=27 ---Recv--- classifier-dpid=00:01:08:17:f4:b5:2a:00 :: ECHO_REPLY=367140,STATS_REPLY.DESC=86,PACKET_IN=4600639,STATS_REPLY.PORT=52,GET_CONFIG_REPLY=85,ECHO_REQUEST=61176,PORT_STATUS=18,ERROR=47,FEATURES_REPLY=117,HELLO=1,FLOW_REMOVED=177882,STATS_REPLY.FLOW=29 Total :: ECHO_REPLY=367140,STATS_REPLY.DESC=86,PACKET_IN=4600639,STATS_REPLY.PORT=52,GET_CONFIG_REPLY=85,ECHO_REQUEST=61176,PORT_STATUS=18,ERROR=47,FEATURES_REPLY=117,HELLO=1,FLOW_REMOVED=177882,STATS_REPLY.FLOW=29 ---Drop--- Total :: }}} To show further topology information, used access to the head node to run !FlowVisor for the !OpenFlow switch in the ExoGENI rack. Note that ExoGENI head node access is not normally available to experimenters. These are the FlowSpaces related to the EG-EXP-6-exp3, which uses network address 10.42.11.0: {{{ [lnevers@bbn-hn ~]$ /opt/flowvisor/bin/fvctl --passwd-file=/opt/flowvisor/etc/flowvisor/fvpasswd listFlowSpace |egrep 10.42.11.0 rule 6: FlowEntry[dpid=[00:01:08:17:f4:b5:2a:00],ruleMatch=[OFMatch[dl_type=0x800,dl_vlan=0x6d6,nw_dst=10.42.11.0/24,nw_src=10.42.11.0/24]],actionsList=[Slice:9aab744b-3d4b-4f31-a566-e1927a45c9c6=4],id=[208167641],priority=[100],] rule 7: FlowEntry[dpid=[00:01:08:17:f4:b5:2a:00],ruleMatch=[OFMatch[dl_type=0x806,dl_vlan=0x6d6,nw_dst=10.42.11.0/24,nw_src=10.42.11.0/24]],actionsList=[Slice:9aab744b-3d4b-4f31-a566-e1927a45c9c6=4],id=[208167643],priority=[100],] }}} Some addition information about Version and configuration: {{{ [lnevers@bbn-hn ~]$ /opt/flowvisor/bin/fvctl --passwd-file=/opt/flowvisor/etc/flowvisor/fvpasswd getConfig 'flowvisor' flowvisor 0 = flowvisor!api_webserver_port::INT : 8080 flowvisor 1 = flowvisor!api_jetty_webserver_port::INT : -1 flowvisor 2 = flowvisor!log_ident::STR : flowvisor flowvisor 3 = flowvisor!checkpointing::BOOL : true flowvisor 4 = flowvisor!listen_port::INT : 6633 flowvisor 5 = flowvisor!track_flows::BOOL : false flowvisor 6 = flowvisor!stats_desc_hack::BOOL : true flowvisor 7 = flowvisor!logging::STR : NOTE flowvisor 8 = flowvisor!run_topology_server::BOOL : true flowvisor 9 = flowvisor!log_facility::STR : LOG_LOCAL7 [lnevers@bbn-hn ~]$ /opt/flowvisor/bin/fvctl --passwd-file=/opt/flowvisor/etc/flowvisor/fvpasswd ping hello Got reply: PONG(fvadmin): FV version=flowvisor-0.8.1::hello }}} == 33. Get layer 2 topology information about slivers in each slice. == __Statistics available to Experimenters__ In this scenario the !FloodLight Controller is used to capture topology information. The Floodlight controller was configured to run on port 33020, in place of NOX. First we list all devices tracked by the !FloodLight controller: {{{ lnevers@mallorea:~$ curl http://localhost:9090/wm/device/ [{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:6e:f9"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":22}],"lastSeen":1359155142909},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5b:00"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":52}],"lastSeen":1359155142665},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5b:19"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":21}],"lastSeen":1359155145847},{"entityClass":"DefaultEntityClass","mac":["fe:16:3e:00:f7:2f"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"06:d6:00:12:e2:b8:a5:d0","errorStatus":null,"port":5},{"switchDPID":"00:00:00:10:10:17:50:01","errorStatus":null,"port":5},{"switchDPID":"06:d6:00:24:a8:d2:b8:40","errorStatus":null,"port":49}],"lastSeen":1359155149276},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5b:09"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":28}],"lastSeen":1359155142688},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5a:f9"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":24}],"lastSeen":1359155142827},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5d:00"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":47}],"lastSeen":1359155142278},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5a:f0"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":48}],"lastSeen":1359155142827},{"entityClass":"DefaultEntityClass","mac":["fe:16:3e:00:69:80"],"ipv4":[],"vlan":[],"attachmentPoint":[],"lastSeen":1359155148679},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:6e:39"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b5:2a:00","errorStatus":null,"port":24}],"lastSeen":1359155146037},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5b:29"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b5:2a:00","errorStatus":null,"port":21}],"lastSeen":1359155148531},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5c:f0"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b5:2a:00","errorStatus":null,"port":47}],"lastSeen":1359155145792},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5b:20"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b5:2a:00","errorStatus":null,"port":45}],"lastSeen":1359155147532},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5a:e0"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":49}],"lastSeen":1359155142195},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:6e:f0"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":46}],"lastSeen":1359155142910},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5c:49"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b5:2a:00","errorStatus":null,"port":25}],"lastSeen":1359155142599},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5c:f9"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b5:2a:00","errorStatus":null,"port":23}],"lastSeen":1359155145792},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:6f:60"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b5:2a:00","errorStatus":null,"port":46}],"lastSeen":1359155147767},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:6e:30"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b5:2a:00","errorStatus":null,"port":48}],"lastSeen":1359155146037},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5b:10"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b3:5b:00","errorStatus":null,"port":45}],"lastSeen":1359155145847},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:6f:69"],"ipv4":[],"vlan":[],"attachmentPoint":[{"switchDPID":"00:01:08:17:f4:b5:2a:00","errorStatus":null,"port":22}],"lastSeen":1359155147767},{"entityClass":"DefaultEntityClass","mac":["00:07:43:12:5a:e9"],"ipv4":[],"vlan":[],"attachmentlnevers@mallorea:~$ }}} In the capture above the address 10.42.11.209 belongs to the node pc9.pgeni.gpolab.bbn.com and the address 10.42.11.198 belongs to the VM node reserved in the ExoGENI Rack on the shared VLAN 1750. Now some topology information about the inter-switch links: {{{ lnevers@mallorea:~$ curl http://localhost:9090/wm/topology/links/json [{"src-switch":"0e:84:00:12:e2:22:6f:e5","src-port":3,"src-port-state":512,"dst-switch":"0e:84:00:12:e2:22:63:6e","dst-port":2,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:26:f1:40:a8:00","src-port":51,"src-port-state":0,"dst-switch":"0e:84:00:24:a8:d2:48:00","dst-port":51,"dst-port-state":0,"type":"internal"},{"src-switch":"0e:84:00:12:e2:22:6f:e5","src-port":2,"src-port-state":512,"dst-switch":"0e:84:00:12:e2:22:63:1d","dst-port":3,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:26:f1:40:a8:00","src-port":50,"src-port-state":0,"dst-switch":"0e:84:00:23:47:c8:bc:00","dst-port":51,"dst-port-state":0,"type":"internal"},{"src-switch":"0e:84:00:12:e2:22:63:1d","src-port":2,"src-port-state":512,"dst-switch":"0e:84:00:12:e2:22:63:38","dst-port":3,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:23:47:c8:bc:00","src-port":51,"src-port-state":0,"dst-switch":"0e:84:00:26:f1:40:a8:00","dst-port":50,"dst-port-state":0,"type":"internal"},{"src-switch":"0e:84:00:24:a8:d2:b8:40","src-port":6,"src-port-state":0,"dst-switch":"06:d6:00:24:a8:d2:b8:40","dst-port":5,"dst-port-state":0,"type":"internal"},{"src-switch":"0e:84:00:23:47:ca:bc:40","src-port":51,"src-port-state":0,"dst-switch":"0e:84:00:24:a8:d2:48:00","dst-port":50,"dst-port-state":0,"type":"internal"},{"src-switch":"0e:84:00:12:e2:22:63:38","src-port":3,"src-port-state":512,"dst-switch":"0e:84:00:12:e2:22:63:1d","dst-port":2,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:24:a8:d2:48:00","src-port":50,"src-port-state":0,"dst-switch":"0e:84:00:23:47:ca:bc:40","dst-port":51,"dst-port-state":0,"type":"internal"},{"src-switch":"0e:84:00:12:e2:22:63:38","src-port":16,"src-port-state":512,"dst-switch":"06:d6:00:12:e2:22:63:38","dst-port":15,"dst-port-state":512,"type":"internal"},{"src-switch":"06:d6:00:12:e2:22:63:38","src-port":15,"src-port-state":512,"dst-switch":"0e:84:00:12:e2:22:63:38","dst-port":16,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:12:e2:22:63:6e","src-port":25,"src-port-state":512,"dst-switch":"0e:84:00:24:a8:d2:b8:40","dst-port":52,"dst-port-state":0,"type":"internal"},{"src-switch":"06:d6:00:24:a8:d2:b8:40","src-port":5,"src-port-state":0,"dst-switch":"0e:84:00:24:a8:d2:b8:40","dst-port":6,"dst-port-state":0,"type":"internal"},{"src-switch":"0e:84:00:12:e2:22:63:38","src-port":2,"src-port-state":512,"dst-switch":"0e:84:00:12:e2:22:81:42","dst-port":3,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:24:a8:d2:b8:40","src-port":52,"src-port-state":0,"dst-switch":"0e:84:00:12:e2:22:63:6e","dst-port":25,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:24:a8:d2:b8:40","src-port":51,"src-port-state":0,"dst-switch":"0e:84:00:23:47:ca:bc:40","dst-port":50,"dst-port-state":0,"type":"internal"},{"src-switch":"06:d6:00:12:e2:b8:a5:d0","src-port":15,"src-port-state":512,"dst-switch":"00:01:08:17:f4:b5:2a:00","dst-port":64,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:12:e2:22:63:1d","src-port":3,"src-port-state":512,"dst-switch":"0e:84:00:12:e2:22:6f:e5","dst-port":2,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:12:e2:22:81:42","src-port":3,"src-port-state":512,"dst-switch":"0e:84:00:12:e2:22:63:38","dst-port":2,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:12:e2:22:63:6e","src-port":2,"src-port-state":512,"dst-switch":"0e:84:00:12:e2:22:6f:e5","dst-port":3,"dst-port-state":512,"type":"internal"},{"src-switch":"0e:84:00:24:a8:d2:48:00","src-port":51,"src-port-state":0,"dst-switch":"0e:84:00:26:f1:40:a8:00","dst-port":51,"dst-port-state":0,"type":"internal"},{"src-switch":"0e:84:00:23:47:ca:bc:40","src-port":50,"src-port-state":0,"dst-switch":"0e:84:00:24:a8:d2:b8:40","dst-port":51,"dst-port-state":0,"type":"internal"}] }}} Note: The ExoGENI DPID is "00:01:08:17:f4:b5:2a:00" == 34. Install flows that match on layer 2 fields and/or layer 3 fields. == This step was executed with a !FloodLight controller on EG-EXP-6-exp3. Static Flows can be installed on a switch with the !FloodLight Static Flow Pusher which allows a user to manually insert flows into an !OpenFlow network. To enable this feature, the Forwarding modules must be removed from the floodlight.properties file and !FloodLight must be recompiled. Using !FloodLight Static Flow Pusher verified the existing list of static list of flow is empty: {{{ lnevers@mallorea:~$ curl http://localhost:9090/wm/staticflowentrypusher/list/00:01:08:17:f4:b5:2a:00/json {"00:01:08:17:f4:b5:2a:00":null} }}} Pushed a new flow to the switch.. (TO determine correct command.) {{{ lnevers@mallorea:~$ curl -d '{"switch": "00:01:08:17:f4:b5:2a:00", "name":"flow-mod-1", "cookie":"0", "priority":"32768", "inputPort":43,"networkDestination":"10.42.11.209", "active":"true"}' http://localhost:9090/wm/staticflowentrypusher/json {"status" : "Entry pushed"} $ }}} Traffic between nodes was dropped due to incomplete flow rules. Cleared the static flow: {{{ lnevers@mallorea:~$ curl -X DELETE -d '{"switch": "00:01:08:17:f4:b5:2a:00", "name":"flow-mod-1", "cookie":"0", "priority":"32768", "inputPort":43,"networkDestination":"10.42.11.209", "active":"true"}' http://localhost:9090/wm/staticflowentrypusher/json {"status" : "Entry flow-mod-1 deleted"} }}} == 35. Run test for at least 4 hours == Test ran 6 hours. == 36. Review monitoring statistics and checks as above == Initial plan for this step was to review the slice monitoring data at [https://gmoc-db.grnoc.iu.edu/protected-openid/index.pl?method=slices GMOC DB] location, but after discussion with ExoGENI team, this step is being modified to use Iperf to determine statistics for the experimenter. First checked performance for the nodes in EG-EXP-6-exp3, endpoints are one ExoGENI VM and one GPO ProtoGENI meso-scale node (pc9), following are the results reported on the ExoGENI iperf server: {{{ root@debian:~iperf -c 10.42.11.209 ------------------------------------------------------------ Client connecting to 10.42.11.209, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 10.42.11.198 port 49713 connected with 10.42.11.209 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.08 GBytes 930 Mbits/sec }}} These are the results from the client iperf running on the GPO ProtoGENI node pc9: {{{ vm:~> iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 10.42.11.209 port 5001 connected with 10.42.11.198 port 49713 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 1.08 GBytes 930 Mbits/sec }}} == 37. Stop traffic and delete slivers == As Experimenter1, delete the sliver associated with experiment 1: {{{ $ omni.py -a eg-gpo deletesliver EG-EXP-6-exp1 $ omni.py -a eg-of-gpo deletesliver EG-EXP-6-exp1 -V1 $ omni.py -a of-gpo deletesliver EG-EXP-6-exp1 -V1 $ omni.py -a of-nlr deletesliver EG-EXP-6-exp1 $ omni.py -a eg-of-renci deletesliver EG-EXP-6-exp1 -V1 $ omni.py -a eg-renci deletesliver EG-EXP-6-exp1 }}} As Experimenter2, delete the sliver associated with experiment 2: {{{ $ omni.py -a eg-gpi deletesliver EG-EXP-6-exp2 $ omni.py -a eg-of-gpo deletesliver EG-EXP-6-exp2 -V1 $ omni.py -a of-gpo deletesliver EG-EXP-6-exp2 -V1 $ omni.py -a of-nlr deletesliver EG-EXP-6-exp2 -V1 $ omni.py -a eg-of-renci deletesliver EG-EXP-6-exp2 -V1 $ omni.py -a eg-renci deletesliver EG-EXP-6-exp2 }}} As Experimenter3, delete the sliver associated with experiment 3: {{{ $ omni.py -a eg-gpo deletesliver EG-EXP-6-exp3 $ omni.py -a eg-of-gpo deletesliver EG-EXP-6-exp3 -V1 $ omni.py -a pgeni deletesliver EG-EXP-6-exp3 $ omni.py -a of-gpo deletesliver EG-EXP-6-exp3 -V1 $ omni.py -a of-i2 deletesliver EG-EXP-6-exp3 -V1 $ omni.py -a of-rutgers deletesliver EG-EXP-6-exp3 -V1 $ omni.py -a pg-utah deletesliver EG-EXP-6-exp3 }}}