54 | | To write a MyPLC RSpec you must determine which nodes will be used for the experiment at each site. This section describes this process, which is comprised of the following steps: |
55 | | |
56 | | Step 1. Collect listresources from all MyPLC Aggregates. [[BR]] |
57 | | Step 2. Determine the MyPLC host to be reserved. [[BR]] |
58 | | Step 3. Generate the MyPLC Rspecs. [[BR]] |
59 | | |
60 | | === Step 1. Collect listresources from all MyPLC Aggregates === |
61 | | |
62 | | As a first step, the experimenter determines the available compute resources at each site. Following are the Omni commands issued to get the advertisements of available compute resources from the BBN, Clemson and Wisconsin MyPLC aggregates: |
63 | | |
64 | | {{{ |
65 | | $ ./src/omni.py -a plc-bbn -V 1 listresources -t ProtoGENI 2 -o # generates rspec-myplc-gpolab-bbn-com-12346-.xml |
66 | | $ ./src/omni.py -a plc-clemson -V 1 listresources -t ProtoGENI 2 -o # generates rspec-myplc-clemson-edu-12346-.xml |
67 | | $ ./src/omni.py -a plc-wisconsin listresources -V 1 -t ProtoGENI 2 -o # generates rspec-wings-openflow-1-wail-wisc-edu-12346-.xml |
68 | | }}} |
69 | | |
70 | | The Omni commands above used the following options: [[BR]] |
71 | | ''-t'' to request the advertisement in V2 RSpec format, the default MyPLc advertisement is in SFA format. [[BR]] |
72 | | ''-o'' argument to get the listresources output into advertisement RSpec files, which are all attached to this page as a reference. [[BR]] |
73 | | |
74 | | === Step 2. Determine the MyPLC hosts to be reserved === |
75 | | |
76 | | From each site's advertisement RSpecs generated above, we choose one host to use in the experiment. Detailed instructions for defining a MyPLC V2 RSpec are available [http://groups.geni.net/geni/wiki/GEC12OmniTutorial/Tutorial#CreatingPlanetLabRequestRSpecsfromAdvertisementRSpecs here]. This sections shows the MyPLC node details for each site: |
77 | | |
78 | | ==== BBN MyPLC Host ==== |
79 | | At the BBN MyPLC, we choose the host ''navis'': |
80 | | {{{ |
81 | | <node component_id="urn:publicid:IDN+plc:gpolab:gpolab+node+navis.gpolab.bbn.com" |
82 | | component_manager_id="urn:publicid:IDN+plc:gpolab+authority+am" |
83 | | component_name="navis.gpolab.bbn.com" client_id="navis" exclusive="false"> |
84 | | <sliver_type name="plab-vnode"> |
85 | | </sliver_type> |
86 | | </node> |
87 | | }}} |
88 | | |
89 | | ==== Clemson MyPLC Host ==== |
90 | | At the Clemson MyPLC, we choose the host ''planetlab4'': |
91 | | {{{ |
92 | | <node component_id="urn:publicid:IDN+plc:cu+node+planetlab4.clemson.edu" |
93 | | component_manager_id="urn:publicid:IDN+plc+authority+am" |
94 | | component_name="planetlab4.clemson.edu" client_id="planetlab4" exclusive="false"> |
95 | | <sliver_type name="plab-vnode"> |
96 | | </sliver_type> |
97 | | </node> |
98 | | }}} |
99 | | |
100 | | ==== Wisconsin MyPLC Host ==== |
101 | | At the Wisconsin MyPLC, we choose the host ''wings-openflow-2'': |
102 | | {{{ |
103 | | <node component_id="urn:publicid:IDN+plc:wisc+node+wings-openflow-2.wail.wisc.edu" |
104 | | component_manager_id="urn:publicid:IDN+plc+authority+am" |
105 | | component_name="wings-openflow-2.wail.wisc.edu" client_id="wings-of2" exclusive="false"> |
106 | | <sliver_type name="plab-vnode"> |
107 | | </sliver_type> |
108 | | </node> |
109 | | |
110 | | }}} |
111 | | |
112 | | === Step 3. Generate the MyPLCs RSpecs === |
113 | | |
114 | | To generate the MyPLC RSpec, we combine the request V2 RSpec template below with the node details in step 2. Here is the RSpec V2 template: |
115 | | {{{ |
116 | | #!xml |
117 | | <?xml version="1.0" ?> |
118 | | <!-- Resources at AM: |
119 | | URN: unspecified_AM_URN |
120 | | URL: http://myplc.gpolab.bbn.com:12346/ |
121 | | --> |
122 | | <rspec type="request" xmlns="http://www.protogeni.net/resources/rspec/2" |
123 | | xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" |
124 | | xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" |
125 | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
126 | | xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 |
127 | | http://www.protogeni.net/resources/rspec/2/request.xsd"> |
128 | | |
129 | | <!-- Insert MyPLC node details here --> |
130 | | |
131 | | </rspec> |
132 | | }}} |
133 | | |
134 | | Following are the complete MyPLC RSpecs for each site: |
135 | | |
136 | | '''BBN MyPLC Compute Resource RSpec ''' |
137 | | {{{ |
138 | | #!xml |
139 | | <?xml version="1.0" ?> |
140 | | <!-- Resources at AM: |
141 | | URN: unspecified_AM_URN |
142 | | URL: http://myplc.gpolab.bbn.com:12346/ |
143 | | --> |
144 | | <rspec type="request" xmlns="http://www.protogeni.net/resources/rspec/2" |
145 | | xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" |
146 | | xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" |
147 | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
148 | | xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 |
149 | | http://www.protogeni.net/resources/rspec/2/request.xsd"> |
150 | | <node component_id="urn:publicid:IDN+plc:gpolab:gpolab+node+navis.gpolab.bbn.com" |
151 | | component_manager_id="urn:publicid:IDN+plc:gpolab+authority+am" |
152 | | component_name="navis.gpolab.bbn.com" client_id="navis" exclusive="false"> |
153 | | <sliver_type name="plab-vnode"> |
154 | | </sliver_type> |
155 | | </node> |
156 | | </rspec> |
157 | | }}} |
158 | | |
159 | | ''' Clemson MyPLC Compute Resources RSpec''' |
160 | | {{{ |
161 | | #!xml |
162 | | <?xml version="1.0" ?> |
163 | | <!-- Resources at AM: |
164 | | URN: unspecified_AM_URN |
165 | | URL: http://myplc.gpolab.bbn.com:12346/ |
166 | | --> |
167 | | <rspec type="request" xmlns="http://www.protogeni.net/resources/rspec/2" |
168 | | xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" |
169 | | xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" |
170 | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
171 | | xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 |
172 | | http://www.protogeni.net/resources/rspec/2/request.xsd"> |
173 | | <node component_id="urn:publicid:IDN+plc:cu+node+planetlab4.clemson.edu" |
174 | | component_manager_id="urn:publicid:IDN+plc+authority+am" |
175 | | component_name="planetlab4.clemson.edu" client_id="planetlab4" exclusive="false"> |
176 | | <sliver_type name="plab-vnode"> |
177 | | </sliver_type> |
178 | | </node> |
179 | | </rspec> |
180 | | }}} |
181 | | |
182 | | |
183 | | '''Wisconsin MyPLC Compute Resources RSpec''' |
184 | | {{{ |
185 | | #!xml |
186 | | <?xml version="1.0" ?> |
187 | | <!-- Resources at AM: |
188 | | URN: unspecified_AM_URN |
189 | | URL: http://myplc.gpolab.bbn.com:12346/ |
190 | | --> |
191 | | <rspec type="request" xmlns="http://www.protogeni.net/resources/rspec/2" |
192 | | xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" |
193 | | xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" |
194 | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
195 | | xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 |
196 | | http://www.protogeni.net/resources/rspec/2/request.xsd"> |
197 | | <node component_id="urn:publicid:IDN+plc:wisc+node+wings-openflow-2.wail.wisc.edu" |
198 | | component_manager_id="urn:publicid:IDN+plc+authority+am" |
199 | | component_name="wings-openflow-2.wail.wisc.edu" client_id="wings-of2" exclusive="false"> |
200 | | <sliver_type name="plab-vnode"> |
201 | | </sliver_type> |
202 | | </node> |
203 | | </rspec> |
204 | | }}} |
205 | | |
206 | | The MyPLC plnodes are pre-configured to use pre-defined addresses; MyPLC doesn't allow experimenters to change that configuration. When the experiment is running you will need to choose the appropriate interface for your experiment traffic based on the IP subnet assigned to you by the GPO infrastructure group as described in the section [wiki:GENIExperimenter/ExperimentExample-OF#a2.ReserveGENIIPsubnet above]. |
| 53 | If you are interested in finding out available resources, you can execute the following commands at the each of the compute aggregates : |
| 54 | {{{ |
| 55 | $ omni.py -a ig-gpo listresources -o # generates rspec-instageni-gpolab-bbn-com-protogeniv2.xml |
| 56 | $ omni.py -a pg-utah listresources -o # generates rspec-www-emulab-net-protogeniv2.xml |
| 57 | $ omni.py -a eg-renci listresources -o # generates rspec-rci-hn-exogeni-net-11443-orca.xml |
| 58 | }}} |
| 59 | |
| 60 | Note the ''-o'' option sends the Advertisement RSpec output to a file. |
| 61 | |
| 62 | This experiment requests VM compute resources that are not tied to any specific compute component in the aggregate (aka un-bound). Requests for un-bound resources are not tied to any specific component at the aggregate. The aggregate decides which compute component to use for the compute resource request. No checking of resources is needed, whatever resources are available will be assigned. Following are the three Compute Resource RSpecs used: |
| 63 | |
| 64 | - GPO IG request RSpec: [http://groups.geni.net/geni/browser/trunk/of-example/compute-ig-gpo.rspec compute-ig-gpo.rspec] |
| 65 | - Utah PG request RSpec: [http://groups.geni.net/geni/browser/trunk/of-example/compute-pg-utah.rspec compute-pg-utah.rspec] |
| 66 | - RENCI EG request RSpec: [http://groups.geni.net/geni/browser/trunk/of-example/compute-eg-renci.rspec compute-eg-renci.rspec] |
| 67 | |
| 68 | |
| 69 | == 5. Define !OpenFlow Network Resources RSpecs == |
| 70 | |
| 71 | To write an !OpenFlow RSpec you must determine the end-to-end path that will be used for the experiment. This section describes this process, which is comprised of the following steps: |
| 72 | |
| 73 | - Collect listresources from all FOAM Aggregates. Note that these !OpenFlow advertisement RSpecs provide insight into all resources at the aggregate, but do not provide any insight into whether they are available. |
| 74 | - Determine addresses and ports, and define site specific !OpenFlow packet filter rules. |
| 75 | - Using guidelines from the [http://groups.geni.net/geni/wiki/HowTo/WriteOFv3Rspecs#WritingOpenFlowv3requestrspecs Writing OF V3 RSpec] page merge the information from Step 2 to generate the FOAM request RSpecs. |
| 76 | |
| 77 | Each of the above steps is covered in detail below: |
| 78 | |
| 79 | === Collect listresources from all FOAM Aggregate === |
| 80 | |
| 81 | To determine the resource definitions to use in this experiment, we check resources on each FOAM aggregates in the experiment. |
| 82 | The GPO Site uses 2 FOAM aggregates in the experiment, the Site's FOAM aggregate and the InstaGENI FOAM aggregates: |
| 83 | {{{ |
| 84 | $ omni.py -a of-gpo -V 1 listresources -o # generates rspec-foam-gpolab-bbn-com.xml |
| 85 | $ omni.py -a ig-of-gpo -V 1 listresources -o # generates spec-foam-instageni-gpolab-bbn-com.xml |
| 86 | }}} |
| 87 | The NLR Core FOAM aggregate: |
| 88 | {{{ |
| 89 | $ omni.py -a of-nlr -V 1 listresources -o # generates rspec-foam-nlr-net.xml |
| 90 | }}} |
| 91 | The Internet2 Core FOAM aggregate: |
| 92 | {{{ |
| 93 | $ omni.py -a of-i2 -V 1 listresources -o # generates rspec-foam-net-internet2-edu.xml |
| 94 | }}} |
| 95 | The Utah PG site uses the UEN FOAM aggregates: |
| 96 | {{{ |
| 97 | $ omni.py -a of-uen -V 1 listresources -o # generates rspec-foamyflow-chpc-utah-edu.xml |
| 98 | }}} |
| 99 | The RENCI FOAM Aggregate: |
| 100 | {{{ |
| 101 | $ omni.py -a eg-of-renci -V 1 listresources -o # rspec-rci-hn-exogeni-net.xml |
| 102 | }}} |
| 103 | |
| 104 | The output Advertisement RSpec files generated by the ''-o'' capture the switch and the port information to be used in the FOAM request RSpec. |
| 105 | |
| 106 | === Determine site specific !OpenFlow details === |
| 107 | |
| 108 | This sections shows you how to determine the site specific !OpenFlow RSpec details by walking through the information gathering process. To determine which !OpenFlow resources to use, go to the [http://groups.geni.net/geni/wiki/GeniAggregate GeniAggregate] page and select the !OpenFlow Aggregate links for GPO Lab, PG Utah, and RENCI ExoGENI. Each of these !OpenFlow Aggregate pages contain a site diagram. The !OpenFlow site diagrams show ports, DPIDs, and hosts mapping for the site's !OpenFlow switch, which you will have to include in the RSpec. In addition you also have to define how the host traffic will be handled by !OpenFlow by defining packet filters. |
| 109 | |
| 110 | Now, let's map the nodes in the compute resource RSpecs to the appropriate !OpenFlow switch ports and determine how they connect to the GENI CORE network VLAN 3715. |
| 111 | |
| 112 | ==== GPO !OpenFlow Aggregates ==== |
| 113 | |
| 114 | To define the !OpenFlow request RSpec for the GPO site we need to consider the compute resource we selected, one InstaGENI Node. We then determine how the InstaGENI !OpenFlow switch is connected to the GPO site !OpenFlow switch, then we find the Data Path IDentifier (DPID) for the switch VLAN 1750 which is used at every meso-scale site for InstaGENI resources to access the backbone !OpenFlow VLANs, and finally we determine the path required to connects to the network core !OpenFlow VLAN 3715. All this information can be found in the [http://groups.geni.net/geni/wiki/GeniAggregate/GpoLabInstaGENIOpenFlow GPOLab InstaGENI OpenFlow Aggregate] page. Below is a diagram of the GPO Site FOAMs with the relevant request RSpec details highlighted: |
| 115 | |
| 116 | [[Image(GPOLab-OF-InstaGENI.jpg)]] |
| 117 | |
| 118 | The GPO !OpenFlow Aggregate image above shows some the information required for the !OpenFlow RSpec such as the ports assignments: |
| 119 | * The InstaGENI rack is connected to port name 16 of the !OpenFlow switch named ''poblano'' |
| 120 | * The InstaGENI VM servers are on ports 1 and 4. |
| 121 | * The GPO Site OF switch poblano uses port 3 to map the shared meso-scale VLAN 1750 to the Backbone OF VLAN 3715. |
208 | | |
209 | | == 5. Define OpenFlow Network Resources RSpecs == |
210 | | |
211 | | To write an !OpenFlow RSpec you must determine the end-to-end path that will be used for the experiment. This section describes this process, which is comprised of the following steps: |
212 | | |
213 | | Step 1. Collect listresources from all FOAM Aggregates. Note that these !OpenFlow advertisement RSpecs provide insight into all resources at the aggregate, but do not provide any insight into whether they are available. [[BR]] |
214 | | |
215 | | Step 2. Review [http://groups.geni.net/geni/wiki/GeniAggregate GeniAggregate] to determine how each experiment MyPLC host maps to the site's !OpenFlow switch. Determine addresses and ports, and define site specific !OpenFlow packet filter rules. [[BR]] |
216 | | |
217 | | Step 3. Using guidelines from the [http://groups.geni.net/geni/wiki/HowTo/WriteOFv3Rspecs#WritingOpenFlowv3requestrspecs Writing OF V3 RSpec] page merge the information from Step 2 to generate the request RSpecs. [[BR]] |
218 | | |
219 | | |
220 | | Each of the above steps is covered in detail below: |
221 | | |
222 | | |
223 | | === Step 1: Collect listresources from all FOAM Aggregate === |
224 | | |
225 | | 1. Clemson FOAM aggregate: |
226 | | {{{ |
227 | | $ ./src/omni.py -a of-clemson -V 1 listresources -o # generates output file rspec-foam-clemson-edu-3626-foam-gapi-1.xml |
228 | | }}} |
229 | | 2. Wisconsin FOAM aggregate: |
230 | | {{{ |
231 | | $ ./src/omni.py -a of-wisconsin -V 1 listresources -o # generates rspec-foam-wail-wisc-edu-3626-foam-gapi-1.xml |
232 | | }}} |
233 | | 3. BBN FOAM aggregate: |
234 | | {{{ |
235 | | $ ./src/omni.py -a of-bbn -V 1 listresources -o # generates rspec-foam-gpolab-bbn-com-3626-foam-gapi-1.xml |
236 | | }}} |
237 | | 4. NLR !OpenFlow Core FOAM aggregate: |
238 | | {{{ |
239 | | $ ./src/omni.py -a of-nlr -V 1 listresources -o # generates rspec-foam-nlr-net-3626-foam-gapi-1.xml |
240 | | }}} |
241 | | |
242 | | The Omni commands above used the ''-o'' argument to get the listresources output into advertisement RSpec files, which are all attached to this page as a reference. The output Advertisement RSpec files provide the switch and the port information to be used in the !OpenFlow request RSpec. |
243 | | |
244 | | |
245 | | === Step 2: Determine site specific !OpenFlow details === |
246 | | |
247 | | This sections shows you how to determine the site specific !OpenFlow RSpec details by walking through the information gathering process. To determine which !OpenFlow resources to use, go to the [http://groups.geni.net/geni/wiki/GeniAggregate GeniAggregate] page and select the !OpenFlow Aggregate links for BBN, Clemson and Wisconsin. Each of these !OpenFlow Aggregate pages contain a site diagram. The !OpenFlow site diagrams show ports, DPIDs, and hosts mapping for the site's !OpenFlow switch, which you will have to include in the RSpec. In addition you also have to define how the host traffic will be handled by !OpenFlow by defining packet filters. |
248 | | |
249 | | Now, let's map the 3 nodes we chose in the compute resource RSpecs to the appropriate !OpenFlow switch ports and determine how they connect to the GENI CORE network VLAN 3715. |
250 | | |
251 | | ==== BBN !OpenFlow Aggregate ==== |
252 | | |
253 | | To define the !OpenFlow request RSpec for the BBN site we need to consider the compute resource we selected, which is the MyPLC node navis.gpolab.bbn.com. We then determine how the node ''navis'' is connected to the !OpenFlow switch, then we find the Data Path IDentifier (DPID) for the switch VLAN 1750 which is used at every meso-scale site for MyPLC resources to access the backbone !OpenFlow VLANs, and finally we determine the path required to connects to the network core !OpenFlow VLAN 3715. All this information can be found in the [http://groups.geni.net/geni/wiki/GeniAggregate/GpoLabOpenFlow BBN OF Aggregate] diagram, which is shown below with the relevant BBN !OpenFlow request RSpec details highlighted: |
254 | | |
255 | | [[Image(BBNOFAggregateResources.jpg)]] |
256 | | |
257 | | The BBN !OpenFlow Aggregate image above shows the information required for the !OpenFlow RSpec: |
258 | | * Host ''navis.bbn.com'' is connected to port name 32 of the !OpenFlow switch named ''habanero'' |
259 | | * !OpenFlow switch ''habanero'' has a DPID of ''06:d6:00:24:a8:c4:b9:00'' for VLAN 1750. |
260 | | * !OpenFlow switch ''habanero'' uses port name 47 to connect to port name 20 on the !OpenFlow switch ''poblano''. |
| 123 | The [http://groups.geni.net/geni/wiki/GeniAggregate/GpoLabInstaGENIOpenFlow GPOLab InstaGENI !OpenFlow Aggregate] page also shown the DPIDs for the two GPO !OpenFlow switches. DPIDs are also listed in the listresource output. |
326 | | The BBN !OpenFlow request RSpec will be completed in [wiki:GENIExperimenter/ExperimentExample-OF#Step3:GenerateOpenFlowV3RSpec Step 3]. |
327 | | |
328 | | ==== Clemson !OpenFlow Aggregate ==== |
329 | | |
330 | | To define the !OpenFlow RSpec for the Clemson site review the information in the [http://groups.geni.net/geni/wiki/GeniAggregate/ClemsonOpenFlow Clemson OF Aggregate] diagram. The compute resource used is the MyPLC node ''planetlab4.clemson.edu''. The following image highlights the the information required from the Clemson !OpenFlow Aggregate site diagram: |
331 | | |
332 | | [[Image(ClemsonOFAggregateResources.jpg)]] |
333 | | |
334 | | The Clemson !OpenFlow Aggregate image above shows the information required for the !OpenFlow RSpec: |
335 | | * Host ''planetlab4.clemosn.edu'' is connected to port name ''39'' |
336 | | * The !OpenFlow switch had a DPID of ''06:d6:00:26:f1:3f:e4:80'' |
337 | | * The site !OpenFlow VLAN 1750 is connected to backbone VLAN 3715 on port name ''43'' |
338 | | |
339 | | These are the lines from the Advertisement that should be used in the !OpenFlow request RSpec: |
340 | | {{{ |
341 | | |
342 | | <openflow:group name="clemson-1750-3715"> |
343 | | |
344 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam+datapath+06:d6:00:26:f1:3f:e4:80" |
345 | | component_manager_id="urn:publicid:IDN+openflow:foam:foam+authority+am" dpid="06:d6:00:26:f1:3f:e4:80"> |
346 | | <openflow:port name="39" num="39"/> |
347 | | <openflow:port name="43" num="43"/> |
348 | | </openflow:datapath> |
349 | | </openflow:group> |
350 | | }}} |
351 | | |
352 | | In addition packet filters must defined to allow traffic for the IP subnet range reserved for the experiment. Following is the packet filter definitions for Clemson: |
| 151 | ''Note:'' The ''openflow:use-group'' section of the !OpenFlow RSpec defines the traffic characteristics allowed for the experiment. [[BR]] |
| 152 | ''Note:'' The ''group-name'' should match the ''openflow:group'' specific to the !OpenFlow switch [[BR]] |
| 153 | ''Note:'' The address ''10.42.11.0/24'' was requested as described in the section [wiki:GENIExperimenter/ExperimentExample-OF#a2.ReserveGENIIPsubnet above]. Your RSpec will use the subnet you reserved. |
| 154 | |
| 155 | For a detailed look at !OpenFlow configuration parameters, see the [http://groups.geni.net/geni/wiki/HowTo/WriteOFv3Rspecs/Spec OF V3 RSpec] page. On this page you will also find the list of available [http://groups.geni.net/geni/wiki/HowTo/WriteOFv3Rspecs/Spec#Filterelements packet header fields] that can be used to filter the !OpenFlow traffic. |
| 156 | |
| 157 | ''' GPO InstaGENI !OpenFlow RSpec''': These are the RSpec lines that define the datapath for the GPO InstaGENI !OpenFlow switch: |
| 158 | {{{ |
| 159 | <openflow:group name="ig-gpo-1750"> |
| 160 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.instageni.gpolab.bbn.com+datapath+06:d6:84:34:97:c6:c9:00" |
| 161 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.instageni.gpolab.bbn.com+authority+am" |
| 162 | dpid="06:d6:84:34:97:c6:c9:00"> |
| 163 | <openflow:port name="E4" num="100"/><!-- GPO InstaGENI VM Server PC2 --> |
| 164 | <openflow:port name="E1" num="97"/> <!-- GPO InstaGENI VM server PC1 --> |
| 165 | <openflow:port name="E24" num="120"/> <!-- GPO InstaGENI rack connection to GPO Site Switch--> |
| 166 | <openflow:port name="E23" num="119"/> <!-- GPO InstaGENI Campus Resources --> |
| 167 | </openflow:datapath> |
| 168 | </openflow:group> |
| 169 | |
| 170 | }}} |
| 171 | The GPO InstaGENI !OpenFlow RSpec also includes a packet filter definition for traffic characteristics allowed: |
| 172 | {{{ |
| 173 | <openflow:match> |
| 174 | <openflow:use-group name="ig-gpo-1750" /> |
| 175 | <openflow:packet> |
| 176 | <openflow:dl_type value="0x800,0x806"/> |
| 177 | <openflow:nw_dst value="10.42.11.0/24"/> |
| 178 | <openflow:nw_src value="10.42.11.0/24"/> |
| 179 | </openflow:packet> |
| 180 | </openflow:match> |
| 181 | }}} |
| 182 | |
| 183 | The GPO !OpenFlow request RSpecs will be completed in [wiki:GENIExperimenter/ExperimentExample-OF#Step3:GenerateOpenFlowV3RSpec Step 3]. |
| 184 | |
| 185 | ==== PG Utah !OpenFlow Aggregate ==== |
| 186 | |
| 187 | To define the !OpenFlow RSpec for the PG Utah site review the information in the [http://groups.geni.net/geni/wiki/GeniAggregate/UtahUEN-OpenFlow Utah UEN OF Aggregate] page. This experiment uses 1 one PG VM on the Meso-scale shared-vlan 1750. The PG Node will use the UEN FOAM aggregate to connect to the GENI network. As detailed in the [http://groups.geni.net/geni/wiki/GeniAggregate/UtahUEN-OpenFlow#UENOpenFlowSwitchPortList UEN OpenFlow Switch Port List] section, the UEN !OpenFlow switch only uses two ports: |
| 188 | * Port 21 connect to the PG aggregation switch which connects both Utah PG and Utah InstaGENI |
| 189 | * Port 22 connects to the Internet2 !OpenFlow Switch in Los Angeles. |
| 190 | |
| 191 | This very simple topology is captured in the diagram below which illustrates the ports and !OpenFlow datapath: |
| 192 | |
| 193 | [[Image(UEN-OF-PG-Aggregate.jpg)]] |
| 194 | |
| 195 | The UEN !OpenFlow switch DPID can be found by executing an omni listresources; DPID is ''06:d6:ac:16:2d:f5:2d:00''. |
| 196 | |
| 197 | These are the settings for the datapath in the UEN OpenFlow request RSpec: |
| 198 | {{{ |
| 199 | <openflow:group name="uen-1750"> |
| 200 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foamyflow.chpc.utah.edu+datapath+06:d6:ac:16:2d:f5:2d:00" |
| 201 | component_manager_id="urn:publicid:IDN+openflow:foam:foamyflow.chpc.utah.edu+authority+am" |
| 202 | dpid="06:d6:ac:16:2d:f5:2d:00"> |
| 203 | <openflow:port name="A21" num="21"/> |
| 204 | <openflow:port name="A22" num="22"/> |
| 205 | </openflow:datapath> |
| 206 | </openflow:group> |
| 207 | |
| 208 | }}} |
| 209 | |
| 210 | This is the packet filter definitions for the IP subnet range reserved for this experiment: |
367 | | The Clemson !OpenFlow request RSpec will be completed in [wiki:GENIExperimenter/ExperimentExample-OF#Step3:GenerateOpenFlowV3RSpec Step 3]. |
368 | | |
369 | | ==== Wisconsin !OpenFlow Aggregate ==== |
370 | | |
371 | | To define the !OpenFlow RSpec for the Wisconsin site review the [http://groups.geni.net/geni/wiki/GeniAggregate/WisconsinOpenFlow Winsconsin OF Aggregate] diagram. The compute resource used is the MyPLC node ''wings-openflow-2.wail.wisc.edu''. The [http://groups.geni.net/geni/wiki/GeniAggregate/WisconsinOpenFlow Winsconsin OF Aggregate] diagram only shows the MAC address for the !OpenFlow switch, to determine the DPID simply combine the hexadecimal value for 1750 (06d6) and the MAC address of the switch (00:23:47:CC:44:00) to create the DPID (06:d6:00:23:47:CC:44:00). The following image highlights the the information required from the Wisconsin !OpenFlow Aggregate site diagram: |
372 | | |
373 | | [[Image(WisconsinOFAggregateResources.jpg)]] |
374 | | |
375 | | |
376 | | The Wisonsin !OpenFlow Aggregate image above shows the information required for the !OpenFlow RSpec: |
377 | | * Host ''wings-openflow-2.wail.wisc.edu'' is connected to port name ''22''. |
378 | | * The !OpenFlow switch with the hosts has a DPID of ''06:d6:00:23:47:cc:44:00'' |
379 | | * The !OpenFlow switch with the hosts uses port name ''1'' to connect to a second switch where VLAN 1750 is mapped to 3715. |
380 | | * The second !OpenFlow switch has a DPID os ''06:d6:00:21:f7:be:8d:00''. |
381 | | * The second !OpenFlow switch uses port name''C3'' to map VLAN 1750 to 3715. |
382 | | |
383 | | Ignore the diagram instructions to add 48 to the C port name on the second !OpenFlow switch, this is done for you by FOAM. Simply look for the port names in the listresources output, and borrow the syntax from the listresources associated to each DPID. |
384 | | |
385 | | |
386 | | These are the lines from the Wisconsin !OpenFlow Advertisement that should be used in the !OpenFlow request RSpec: |
387 | | {{{ |
388 | | <openflow:group name="wisconsin-nodes-1750"> |
389 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.wail.wisc.edu+datapath+06:d6:00:23:47:cc:44:00" |
390 | | component_manager_id="urn:publicid:IDN+openflow:foam:foam.wail.wisc.edu+authority+am"> |
391 | | <openflow:port name="1" num="1"/> |
392 | | <openflow:port name="22" num="22"/> |
393 | | |
394 | | </openflow:datapath> |
395 | | </openflow:group> |
396 | | |
397 | | <openflow:group name="wisconsin-1750-3715"> |
398 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.wail.wisc.edu+datapath+06:d6:00:21:f7:be:8d:00" |
399 | | component_manager_id="urn:publicid:IDN+openflow:foam:foam.wail.wisc.edu+authority+am"> |
400 | | <openflow:port name="3" num="3"/> |
401 | | <openflow:port name="C3" num="51"/> |
402 | | </openflow:datapath> |
403 | | </openflow:group> |
404 | | }}} |
405 | | |
406 | | |
407 | | In addition packet filters are defined to allow traffic for the IP subnet range reserved for the experiment. Following is the packet filter definition for the Wisconsin !OpenFlow resources: |
| 222 | The Utah UEN !OpenFlow request RSpec will be completed in [wiki:GENIExperimenter/ExperimentExample-OF#Step3:GenerateOpenFlowV3RSpec Step 3]. |
| 223 | |
| 224 | |
| 225 | ==== RENCI !OpenFlow Aggregate ==== |
| 226 | |
| 227 | To define the !OpenFlow RSpec for the RENCI ExoGENI site we review the omni listresources which shows that 51 ports are connected to support the sites VM Servers, in order to simplify this experiment RSpec we will simply request all ports even though we will only use one compute resource on shared-vlan 1750. From the omni listresources we find that the RENCI !OpenFlow switch DPID is ''00:01:08:17:f4:b3:5b:00'' and we will not specify ports to simply RSpec. Additionally RENCI is directly connected to NLR Atlanta. These are the lines from the RENCI ExoGENI !OpenFlow Advertisement that should be used in the !OpenFlow request RSpec: |
| 228 | {{{ |
| 229 | <openflow:group name="eg-renci-1750"> |
| 230 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:rci-hn.exogeni.net+datapath+00:01:08:17:f4:b3:5b:00" |
| 231 | component_manager_id="urn:publicid:IDN+openflow:foam:rci-hn.exogeni.net+authority+am" dpid="00:01:08:17:f4:b3:5b:00" > |
| 232 | </openflow:datapath> |
| 233 | </openflow:group> |
| 234 | }}} |
| 235 | |
| 236 | |
| 237 | In addition packet filters are defined to allow traffic for the IP subnet range reserved for the experiment. Following is the packet filter definition for the RENCI ExoGENI !OpenFlow resources: |
410 | | |
411 | | <openflow:use-group name="wisconsin-nodes-1750" /> |
412 | | <openflow:use-group name="wisconsin-1750-3715" /> |
413 | | |
| 240 | <openflow:use-group name="eg-renci-1750" /> |
| 241 | <openflow:packet> |
| 242 | <openflow:dl_vlan value="1750"/> |
| 243 | <openflow:dl_type value="0x800,0x806"/> |
| 244 | <openflow:nw_dst value="10.42.11.0/24"/> |
| 245 | <openflow:nw_src value="10.42.11.0/24"/> |
| 246 | </openflow:packet> |
| 247 | </openflow:match> |
| 248 | }}} |
| 249 | |
| 250 | The RENCI ExoGENI !OpenFlow request RSpec will be completed in [wiki:GENIExperimenter/ExperimentExample-OF#Step3:GenerateOpenFlowV3RSpec Step 3]. |
| 251 | |
| 252 | ==== NLR !OpenFlow Aggregate ==== |
| 253 | |
| 254 | To define the NLR !OpenFlow RSpec we must first decide which path we will choose from the available GENI backbone VLANs. See the [http://groups.geni.net/geni/wiki/NetworkCore GENI Network Core] page for all available VLANs. For this example, we will use [http://groups.geni.net/geni/wiki/NetworkCore#VLAN3715 VLAN 3715 to provide the path for our experiment. The following diagram shows which network core path and the switches that will be used to connect the 3 meso-scale sites in this experiment: |
| 255 | |
| 256 | [[Image(OF-Example-VLAN-3715.jpg)]] |
| 257 | |
| 258 | From the network core path diagram we determined that we will use 2 NLR switches (NLR Chicago and NLR Atlanta) and 3 Internet2 switches (I2 Atlanta, I2 Houston, and I2 Los Angeles). These 5 core switches will be in the !OpenFlow RSpecs for NLR and Internet2. |
| 259 | |
| 260 | '''Define Experiment NLR Sites Details''': |
| 261 | |
| 262 | The GPO site is connected to the GENI Network core at NLR Chicago, and the RENCI ExoGENI site is connected to NLR Atlanta. We need to figure out the ports used for the 2 NLR experiment sites (IG GPO and EG RENCI). Review the [http://groups.geni.net/geni/wiki/GeniAggregate/NLROpenFlow NLR !OpenFlow Aggregate] page and look for the NLR tables for VLAN 1750 or DPIDs starting with '' ''' "06:d6" ''' '' (hex equivalent of 1750). We will need the following port information from the NLR tables: |
| 263 | |
| 264 | __[http://groups.geni.net/geni/wiki/GeniAggregate/NLROpenFlow#NLRCHIC175006:d6:00:23:47:c8:bc:00 NLR CHIC 1750 (06:d6:00:23:47:c8:bc:00)]__: |
| 265 | - Port Name = 3; Port Number = 3; Connects to = NLR CHIC 3715 |
| 266 | - Port Name = 9; Port Number = 9; Connects to = GPO 1750 |
| 267 | [[BR]] |
| 268 | __[http://groups.geni.net/geni/wiki/GeniAggregate/NLROpenFlow#NLRATLA175006:d6:00:24:a8:d2:b8:40 NLR ATLA 1750 (06:d6:00:24:a8:d2:b8:40)]__: |
| 269 | - Port Name = 3; Port Number = 3; Connects to = NLR ATLA 3715 |
| 270 | - Port Name = 25; Port Number = 49; Connects to = RENCI 1750 |
| 271 | |
| 272 | Note that you may choose to use only the core sites that are required for the three experiment sites to communicate, but you can also choose to define all DPIDs in the NLR Core for VLAN 3715. Although this example only defines the core switches used, it is possible to define all GENI backbone switches available at the time of this experiment. |
| 273 | |
| 274 | Now back to our RSpec definition, first we define the experiment site and ports information. First we define the site-specific ports for VLAN 1750 and map them to VLAN 3715: |
| 275 | |
| 276 | {{{ |
| 277 | <openflow:group name="nlr-chic-1750"> |
| 278 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+06:d6:00:23:47:c8:bc:00" |
| 279 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" |
| 280 | dpid="06:d6:00:23:47:c8:bc:00"> <!-- NLR CHIC 3715 --> |
| 281 | <openflow:port name="3" num="3"/> <!-- NLR CHIC 3715 Port --> |
| 282 | <openflow:port name="9" num="9"/> <!-- GPO 1750 --> |
| 283 | </openflow:datapath> |
| 284 | </openflow:group> |
| 285 | |
| 286 | <openflow:group name="nlr-atla-1750"> |
| 287 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+06:d6:00:24:a8:d2:b8:40" |
| 288 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" |
| 289 | dpid="06:d6:00:24:a8:d2:b8:40"> <!-- NLR ATLA 3715 --> |
| 290 | <openflow:port name="3" num="3"/> <!-- NLR ATLA 3715 Port --> |
| 291 | <openflow:port name="25" num="49"/> <!-- RENCI 1750 --> |
| 292 | </openflow:datapath> |
| 293 | </openflow:group> |
| 294 | }}} |
| 295 | |
| 296 | '''Define Network Core VLAN 3715 Details''': |
| 297 | |
| 298 | Then we review the [http://groups.geni.net/geni/wiki/GeniAggregate/NLROpenFlow NLR !OpenFlow Aggregate] page and look for the NLR tables for VLAN 3715 for DPIDs starting with ''' "0e:83" ''' (hex equivalent of 3715) for the two switches (Chicago and Atlanta) that we will be using in the NLR core VLAN 3715: |
| 299 | [[BR]] |
| 300 | __[http://groups.geni.net/geni/wiki/GeniAggregate/NLROpenFlow#NLRCHIC37150e:83:00:23:47:c8:bc:00 NLR CHIC 3715 (0e:83:00:23:47:c8:bc:00)]__ |
| 301 | [[BR]] |
| 302 | __[http://groups.geni.net/geni/wiki/GeniAggregate/NLROpenFlow#NLRATLA37150e:83:00:24:a8:d2:b8:40 NLR ATLA 3715 (0e:83:00:24:a8:d2:b8:40)]__ |
| 303 | |
| 304 | and we define the NLR 3715 datapath for NLR Chicago and Atlanta: |
| 305 | {{{ |
| 306 | |
| 307 | <openflow:group name="nlr-chic-3715"> |
| 308 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:23:47:c8:bc:00" |
| 309 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" |
| 310 | dpid="0e:83:00:23:47:c8:bc:00"> <!-- NLR CHIC 3715 --> |
| 311 | </openflow:datapath> |
| 312 | </openflow:group> |
| 313 | |
| 314 | <openflow:group name="nlr-atla-3715"> |
| 315 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:24:a8:d2:b8:40" |
| 316 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" |
| 317 | dpid="0e:83:00:24:a8:d2:b8:40"> <!-- NLR ATLA 3715 --> |
| 318 | </openflow:datapath> |
| 319 | </openflow:group> |
| 320 | |
| 321 | }}} |
| 322 | As with all RSpecs, we define the packet filtering for the subnet used in the experiment: |
| 323 | {{{ |
| 324 | <openflow:match> |
| 325 | <openflow:use-group name="nlr-chic-1750" /> |
| 326 | <openflow:use-group name="nlr-atla-1750" /> |
| 327 | <openflow:use-group name="nlr-chic-3715" /> |
| 328 | <openflow:use-group name="nlr-atla-3715" /> |
419 | | |
420 | | </openflow:match> |
421 | | |
422 | | }}} |
423 | | |
424 | | The Wisconsin !OpenFlow request RSpec will be completed in [wiki:GENIExperimenter/ExperimentExample-OF#Step3:GenerateOpenFlowV3RSpec Step 3]. |
425 | | |
426 | | |
427 | | ==== NLR !OpenFlow Aggregate ==== |
428 | | |
429 | | To define the NLR !OpenFlow RSpec review the [http://groups.geni.net/geni/wiki/GeniSite/NLR#OpenFlow OpenFlow DPIDs] table for the core in the [http://groups.geni.net/geni/wiki/GeniSite/NLR National LambaRail] GENI page. From the table you can see the DPIDs for NLR !OpenFlow VLAN 3715. You may choose to use only the two core sites (Chicago and Atlanta) associated with the three experiment sites, but you can also choose to define all DPIDs in the NLR Core for VLAN 3715. This example uses all sites and does not define any port to simplify the experiment workflow. So if you add a site, there is no need to delete, re-create, and re-approved the sliver. Here are the NLR definitions: |
430 | | {{{ |
431 | | <openflow:group name="nlr-3715"> |
432 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:23:47:c8:bc:00" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
433 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:23:47:ca:bc:40" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
434 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:24:a8:d2:48:00" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
435 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:24:a8:d2:b8:40" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
436 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:26:f1:40:a8:00" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
| 334 | </openflow:match> |
| 335 | }}} |
| 336 | |
| 337 | |
| 338 | The NLR !OpenFlow request RSpec will be completed in [wiki:GENIExperimenter/ExperimentExample-OF#Step3:GenerateOpenFlowV3RSpec Step 3]. |
| 339 | |
| 340 | |
| 341 | ==== Internet2 !OpenFlow Aggregate ==== |
| 342 | |
| 343 | From the network core path diagram we see that we are using 3 Internet2 switches (I2 Atlanta, I2 Houston, and I2 Los Angeles). You may choose to use only the core sites that are required for the three experiment sites to communicate, but you can also choose to define all DPIDs in the Internet2 Core for VLAN 3715. This example only defines the core switches used in the diagram above, but an RSpeccan be defined to include all GENI backbone switches. We now proceed to define the RSpec that only defines the minimum set of configuration for this experiment. |
| 344 | |
| 345 | '''Define Experiment Site Details:''' |
| 346 | |
| 347 | There is only one site in this experiment that is connected to the Los Angeles Internet2 switch. We need to figure out the ports used for the site connection. Review the [http://groups.geni.net/geni/wiki/GeniAggregate/I2OpenFlow Internet2 !OpenFlow Aggregate] page and look for the Internet2 tables for 1750 or DPIDs starting with '' ''' "06:d6" ''' ''(hex equivalent of 1750). The information for the PG Utah connection: |
| 348 | [[BR]] |
| 349 | __[http://groups.geni.net/geni/wiki/GeniAggregate/I2OpenFlow#I2LOSA175006:d6:00:12:e2:22:63:38 I2 LOSA 1750 (06:d6:00:12:e2:22:63:38) ]__: |
| 350 | - Port Name = 12; Port Number = 12; Connects to = I2 UEN 1750 |
| 351 | - Port Name = 13; Port Number = 13; Connects to = I2 Los Angeles 3715 |
| 352 | |
| 353 | We use this information to define the site specific portion of the RSpec that maps VLAN 1750 to VLAN 3715: |
| 354 | {{{ |
| 355 | |
| 356 | <openflow:group name="i2-losa-1750"> |
| 357 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.net.internet2.edu+datapath+06:d6:00:12:e2:22:63:38" |
| 358 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.net.internet2.edu+authority+am" |
| 359 | dpid="06:d6:00:12:e2:22:63:38"> <!-- I2 Los Angeles 3715 Path --> |
| 360 | <openflow:port name="GBE0/12" num="12"/> <!-- I2 UEN 1750 --> |
| 361 | <openflow:port name="GBE0/13" num="13"/> <!-- I2 Los Angeles 3715 Port --> |
| 362 | </openflow:datapath> |
| 363 | </openflow:group> |
| 364 | }}} |
| 365 | |
| 366 | '''Define Network Core VLAN 3715 Details''': |
| 367 | |
| 368 | Then we review the [http://groups.geni.net/geni/wiki/GeniAggregate/I2OpenFlow Internet2 !OpenFlow Aggregate] page and look for the Internet2 tables for VLAN 3715 for DPIDs starting with ''' "0e:83" ''' (hex equivalent of 3715) for the three switches (Atlanta, Houston and Los Angeles) that we will be using in the Internet2 core VLAN 3715: |
| 369 | |
| 370 | [[BR]] |
| 371 | __[http://groups.geni.net/geni/wiki/GeniAggregate/I2OpenFlow#I2ATLA37150e:83:00:12:e2:22:63:6e I2 ATLA 3715 (0e:83:00:12:e2:22:63:6e)]__ |
| 372 | [[BR]] |
| 373 | __[http://groups.geni.net/geni/wiki/GeniAggregate/I2OpenFlow#I2HOUS37150e:83:00:12:e2:22:81:42 I2 HOUS 3715 (0e:83:00:12:e2:22:81:42)]__ |
| 374 | [[BR]] |
| 375 | __[http://groups.geni.net/geni/wiki/GeniAggregate/I2OpenFlow#I2LOSA37150e:83:00:12:e2:22:63:38 I2 LOSA 3715 (0e:83:00:12:e2:22:63:38)]__ |
| 376 | |
| 377 | [[BR]] |
| 378 | |
| 379 | Now we define the RSpec entries for the path: |
| 380 | |
| 381 | {{{ |
| 382 | <openflow:group name="i2-atla-3715"> |
| 383 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.net.internet2.edu+datapath+0e:83:00:12:e2:22:63:6e" |
| 384 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.net.internet2.edu+authority+am" |
| 385 | dpid="0e:83:00:12:e2:22:63:6e"> <!-- I2 ATLA 3715 --> |
| 386 | </openflow:datapath> |
513 | | <?xml version="1.1" encoding="UTF-8"?> |
514 | | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
515 | | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
516 | | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
517 | | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
518 | | http://www.geni.net/resources/rspec/3/request.xsd |
519 | | http://www.geni.net/resources/rspec/ext/openflow/3 |
520 | | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
521 | | type="request"> |
522 | | |
523 | | <openflow:sliver email="lnevers@geni.net" description="OF Experiment" ref="http://www.geni.net"> |
524 | | <openflow:controller url="tcp:navis.gpolab.bbn.com:33017" type="primary" /> |
525 | | |
526 | | <openflow:group name="bbn-1750-nodes"> |
527 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.gpolab.bbn.com+datapath+06:d6:00:24:a8:c4:b9:00" |
528 | | component_manager_id="urn:publicid:IDN+openflow:foam:foam.gpolab.bbn.com+authority+am" |
529 | | dpid="06:d6:00:24:a8:c4:b9:00"> |
530 | | <openflow:port name="32" num="56"/> |
531 | | <openflow:port name="47" num="71"/> |
532 | | </openflow:datapath> |
533 | | </openflow:group> |
534 | | |
535 | | <openflow:group name="bbn-1750-3715"> |
536 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.gpolab.bbn.com+datapath+06:d6:00:12:e2:b8:a5:d0" |
537 | | component_manager_id="urn:publicid:IDN+openflow:foam:foam.gpolab.bbn.com+authority+am" |
538 | | dpid="06:d6:00:12:e2:b8:a5:d0"> |
539 | | <openflow:port num="3"/> |
540 | | <openflow:port num="20"/> |
541 | | </openflow:datapath> |
542 | | </openflow:group> |
543 | | |
544 | | <openflow:match> |
545 | | |
546 | | <openflow:use-group name="bbn-1750-nodes" /> |
547 | | <openflow:use-group name="bbn-1750-3715" /> |
548 | | |
| 485 | <?xml version="1.0" encoding="UTF-8"?> |
| 486 | <!-- |
| 487 | AM: https://foam.gpolab.bbn.com:3626/foam/gapi/1 |
| 488 | --> |
| 489 | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
| 490 | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
| 491 | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
| 492 | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
| 493 | http://www.geni.net/resources/rspec/3/request.xsd |
| 494 | http://www.geni.net/resources/rspec/ext/openflow/3 |
| 495 | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
| 496 | type="request"> |
| 497 | |
| 498 | <openflow:sliver description="OpenFlow Experiment Example" email="lnevers@bbn.com"> |
| 499 | <openflow:controller url="tcp:mallorea.gpolab.bbn.com:33020" type="primary" /> |
| 500 | |
| 501 | <openflow:group name="gpo-1750"> |
| 502 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.gpolab.bbn.com+datapath+06:d6:00:12:e2:b8:a5:d0" |
| 503 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.gpolab.bbn.com+authority+am"> |
| 504 | <openflow:port name="GBE0/7" num="7"/> <!-- to NLR 2650 --> |
| 505 | <openflow:port name="GBE0/16" num="16"/> <!-- to BBN InstaGENI rack --> |
| 506 | </openflow:datapath> |
| 507 | </openflow:group> |
| 508 | <openflow:match> |
| 509 | |
| 510 | <openflow:use-group name="gpo-1750" /> |
567 | | <?xml version="1.1" encoding="UTF-8"?> |
568 | | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
569 | | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
570 | | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
571 | | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
572 | | http://www.geni.net/resources/rspec/3/request.xsd |
573 | | http://www.geni.net/resources/rspec/ext/openflow/3 |
574 | | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
575 | | type="request"> |
576 | | |
577 | | <openflow:sliver email="lnevers@geni.net" description="OF Experiment" ref="http://www.geni.net"> |
578 | | <openflow:controller url="tcp:navis.gpolab.bbn.com:33017" type="primary" /> |
579 | | |
580 | | <openflow:group name="clemson-1750-3715"> |
581 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam+datapath+06:d6:00:26:f1:3f:e4:80" |
582 | | component_manager_id="urn:publicid:IDN+openflow:foam:foam+authority+am" dpid="06:d6:00:26:f1:3f:e4:80"> |
583 | | <openflow:port name="39" num="39"/> |
584 | | <openflow:port name="43" num="43"/> |
585 | | </openflow:datapath> |
586 | | </openflow:group> |
587 | | |
588 | | <openflow:match> |
589 | | <openflow:use-group name="clemson-1750-3715" /> |
| 527 | <?xml version="1.0" encoding="UTF-8"?> |
| 528 | <!-- |
| 529 | AM: https://foam.instageni.gpolab.bbn.com:3626/foam/gapi/1 |
| 530 | --> |
| 531 | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
| 532 | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
| 533 | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
| 534 | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
| 535 | http://www.geni.net/resources/rspec/3/request.xsd |
| 536 | http://www.geni.net/resources/rspec/ext/openflow/3 |
| 537 | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
| 538 | type="request"> |
| 539 | |
| 540 | <openflow:sliver description="OpenFlow Experiment Example" email="lnevers@bbn.com"> |
| 541 | <openflow:controller url="tcp:mallorea.gpolab.bbn.com:33020" type="primary" /> |
| 542 | |
| 543 | <openflow:group name="ig-gpo-1750"> |
| 544 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.instageni.gpolab.bbn.com+datapath+06:d6:84:34:97:c6:c9:00" |
| 545 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.instageni.gpolab.bbn.com+authority+am" dpid="06:d6:84:34:97:c6:c9:00"> |
| 546 | <openflow:port name="E1" num="97"/> <!-- VM Server 1 --> |
| 547 | <openflow:port name="E4" num="100"/> <!-- VM Server 2 --> |
| 548 | <openflow:port name="E24" num="120"/> <!-- to GPO FOAM --> |
| 549 | </openflow:datapath> |
| 550 | </openflow:group> |
| 551 | |
| 552 | <openflow:match> |
| 553 | <openflow:use-group name="ig-gpo-1750" /> |
| 554 | <openflow:packet> |
| 555 | <openflow:dl_type value="0x800,0x806"/> |
| 556 | <openflow:nw_dst value="10.42.11.0/24"/> |
| 557 | <openflow:nw_src value="10.42.11.0/24"/> |
| 558 | </openflow:packet> |
| 559 | |
| 560 | </openflow:match> |
| 561 | |
| 562 | </openflow:sliver> |
| 563 | </rspec> |
| 564 | }}} |
| 565 | |
| 566 | ==== PG Utah !OpenFlow RSpecs ==== |
| 567 | |
| 568 | The following request RSpec is for the PG Utah FOAM aggregate which is the Regional UEN FOAM aggregate [http://groups.geni.net/geni/browser/trunk/RSpecExamples/ExperimentExample-OF/openflow-uen.rspec openflow-uen.rspec]: |
| 569 | |
| 570 | {{{ |
| 571 | #!xml |
| 572 | <?xml version="1.0" encoding="UTF-8"?> |
| 573 | <!-- |
| 574 | AM: https://foamyflow.chpc.utah.edu:3626/foam/gapi/1 |
| 575 | --> |
| 576 | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
| 577 | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
| 578 | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
| 579 | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
| 580 | http://www.geni.net/resources/rspec/3/request.xsd |
| 581 | http://www.geni.net/resources/rspec/ext/openflow/3 |
| 582 | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
| 583 | type="request"> |
| 584 | |
| 585 | <openflow:sliver description="OpenFlow Experiment Example" email="lnevers@bbn.com"> |
| 586 | <openflow:controller url="tcp:mallorea.gpolab.bbn.com:33020" type="primary" /> |
| 587 | |
| 588 | <openflow:group name="uen-1750"> |
| 589 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foamyflow.chpc.utah.edu+datapath+06:d6:ac:16:2d:f5:2d:00" |
| 590 | component_manager_id="urn:publicid:IDN+openflow:foam:foamyflow.chpc.utah.edu+authority+am" dpid="06:d6:ac:16:2d:f5:2d:00"> |
| 591 | <openflow:port name="A21" num="21"/> |
| 592 | <openflow:port name="A22" num="22"/> |
| 593 | </openflow:datapath> |
| 594 | </openflow:group> |
| 595 | |
| 596 | <openflow:match> |
| 597 | <openflow:use-group name="uen-1750" /> |
606 | | <?xml version="1.1" encoding="UTF-8"?> |
607 | | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
608 | | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
609 | | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
610 | | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
611 | | http://www.geni.net/resources/rspec/3/request.xsd |
612 | | http://www.geni.net/resources/rspec/ext/openflow/3 |
613 | | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
614 | | type="request"> |
615 | | |
616 | | <openflow:sliver email="lnevers@geni.net" description="OF Experiment" ref="http://www.geni.net"> |
617 | | <openflow:controller url="tcp:navis.gpolab.bbn.com:33017" type="primary" /> |
618 | | |
619 | | <openflow:group name="wisconsin-nodes-1750"> |
620 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.wail.wisc.edu+datapath+0 |
621 | | 6:d6:00:23:47:cc:44:00" |
622 | | component_manager_id="urn:publicid:IDN+openflow:foam:foam.wail.wisc.edu+au |
623 | | thority+am"> |
624 | | <openflow:port name="1" num="1"/> |
625 | | <openflow:port name="22" num="22"/> |
626 | | |
627 | | </openflow:datapath> |
628 | | </openflow:group> |
629 | | |
630 | | <openflow:group name="wisconsin-1750-3715"> |
631 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.wail.wisc.edu+datapath+0 |
632 | | 6:d6:00:21:f7:be:8d:00" |
633 | | component_manager_id="urn:publicid:IDN+openflow:foam:foam.wail.wisc.edu+au |
634 | | thority+am"> |
635 | | <openflow:port name="3" num="3"/> |
636 | | <openflow:port name="C3" num="51"/> |
637 | | </openflow:datapath> |
638 | | </openflow:group> |
639 | | |
640 | | <openflow:match> |
641 | | <openflow:use-group name="wisconsin-nodes-1750" /> |
642 | | <openflow:use-group name="wisconsin-1750-3715" /> |
| 615 | <?xml version="1.0" encoding="UTF-8"?> |
| 616 | <!-- |
| 617 | AM: https://rci-hn.exogeni.net:3626/foam/gapi/1 |
| 618 | --> |
| 619 | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
| 620 | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
| 621 | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
| 622 | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
| 623 | http://www.geni.net/resources/rspec/3/request.xsd |
| 624 | http://www.geni.net/resources/rspec/ext/openflow/3 |
| 625 | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
| 626 | type="request"> |
| 627 | |
| 628 | <openflow:sliver description="OpenFlow Experiment Example" email="lnevers@bbn.com"> |
| 629 | <openflow:controller url="tcp:mallorea.gpolab.bbn.com:33020" type="primary" /> |
| 630 | |
| 631 | <openflow:group name="renci-1750"> |
| 632 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:rci-hn.exogeni.net+datapath+00:01:08:17:f4:b3:5b:00" |
| 633 | component_manager_id="urn:publicid:IDN+openflow:foam:rci-hn.exogeni.net+authority+am" > |
| 634 | </openflow:datapath> |
| 635 | </openflow:group> |
| 636 | |
| 637 | <openflow:match> |
| 638 | |
| 639 | <openflow:use-group name="renci-1750" /> |
| 640 | |
| 641 | <openflow:packet> |
| 642 | <openflow:dl_vlan value="1750"/> |
| 643 | <openflow:dl_type value="0x800,0x806"/> |
| 644 | <openflow:nw_dst value="10.42.11.0/24"/> |
| 645 | <openflow:nw_src value="10.42.11.0/24"/> |
| 646 | </openflow:packet> |
| 647 | |
| 648 | </openflow:match> |
| 649 | |
| 650 | </openflow:sliver> |
| 651 | </rspec> |
| 652 | }}} |
| 653 | |
| 654 | ==== NLR !OpenFlow RSpec ==== |
| 655 | |
| 656 | The following request RSpec is for the NLR FOAM aggregate [http://groups.geni.net/geni/browser/trunk/RSpecExamples/ExperimentExample-OF/openflow-nlr.rspec openflow-nlr.rspec]: |
| 657 | |
| 658 | {{{ |
| 659 | #!xml |
| 660 | <?xml version="1.0" encoding="UTF-8"?> |
| 661 | <!-- |
| 662 | AM: https://foam.nlr.net:3626/foam/gapi/1 |
| 663 | --> |
| 664 | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
| 665 | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
| 666 | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
| 667 | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
| 668 | http://www.geni.net/resources/rspec/3/request.xsd |
| 669 | http://www.geni.net/resources/rspec/ext/openflow/3 |
| 670 | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
| 671 | type="request"> |
| 672 | |
| 673 | <openflow:sliver description="OpenFlow Experiment Example" email="lnevers@bbn.com"> |
| 674 | <openflow:controller url="tcp:mallorea.gpolab.bbn.com:33020" type="primary" /> |
| 675 | |
| 676 | <openflow:group name="nlr-chic-1750"> |
| 677 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+06:d6:00:23:47:c8:bc:00" |
| 678 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" |
| 679 | dpid="06:d6:00:23:47:c8:bc:00"> <!-- NLR CHIC 3715 --> |
| 680 | <openflow:port name="3" num="3"/> <!-- NLR CHIC 3715 Port --> |
| 681 | <openflow:port name="9" num="9"/> <!-- GPO 1750 --> |
| 682 | </openflow:datapath> |
| 683 | </openflow:group> |
| 684 | |
| 685 | <openflow:group name="nlr-atla-1750"> |
| 686 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+06:d6:00:24:a8:d2:b8:40" |
| 687 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" |
| 688 | dpid="06:d6:00:24:a8:d2:b8:40"> <!-- NLR ATLA 3715 --> |
| 689 | <openflow:port name="3" num="3"/> <!-- NLR ATLA 3715 Port --> |
| 690 | <openflow:port name="25" num="49"/> <!-- RENCI 1750 --> |
| 691 | </openflow:datapath> |
| 692 | </openflow:group> |
| 693 | |
| 694 | <openflow:group name="nlr-chic-3715"> |
| 695 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:23:47:c8:bc:00" |
| 696 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" |
| 697 | dpid="0e:83:00:23:47:c8:bc:00"> <!-- NLR CHIC 3715 --> |
| 698 | </openflow:datapath> |
| 699 | </openflow:group> |
| 700 | |
| 701 | <openflow:group name="nlr-atla-3715"> |
| 702 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:24:a8:d2:b8:40" |
| 703 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" |
| 704 | dpid="0e:83:00:24:a8:d2:b8:40"> <!-- NLR ATLA 3715 --> |
| 705 | </openflow:datapath> |
| 706 | </openflow:group> |
| 707 | |
| 708 | <openflow:match> |
| 709 | <openflow:use-group name="nlr-chic-1750" /> |
| 710 | <openflow:use-group name="nlr-atla-1750" /> |
| 711 | <openflow:use-group name="nlr-chic-3715" /> |
| 712 | <openflow:use-group name="nlr-atla-3715" /> |
660 | | <?xml version="1.1" encoding="UTF-8"?> |
661 | | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
662 | | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
663 | | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
664 | | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
665 | | http://www.geni.net/resources/rspec/3/request.xsd |
666 | | http://www.geni.net/resources/rspec/ext/openflow/3 |
667 | | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
668 | | type="request"> |
669 | | |
670 | | <openflow:sliver email="lnevers@geni.net" description="OF Experiment" ref="http://www.geni.net"> |
671 | | <openflow:controller url="tcp:navis.gpolab.bbn.com:33017" type="primary" /> |
672 | | |
673 | | <openflow:group name="nlr-3715"> |
674 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:23:47:c8:bc:00" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
675 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:23:47:ca:bc:40" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
676 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:24:a8:d2:48:00" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
677 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:24:a8:d2:b8:40" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
678 | | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+datapath+0e:83:00:26:f1:40:a8:00" component_manager_id="urn:publicid:IDN+openflow:foam:foam.nlr.net+authority+am" /> |
| 729 | <?xml version="1.0" encoding="UTF-8"?> |
| 730 | <!-- |
| 731 | AM: https://foam.net.internet2.edu:3626/foam/gapi/1 |
| 732 | --> |
| 733 | <rspec xmlns="http://www.geni.net/resources/rspec/3" |
| 734 | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
| 735 | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
| 736 | xs:schemaLocation="http://www.geni.net/resources/rspec/3 |
| 737 | http://www.geni.net/resources/rspec/3/request.xsd |
| 738 | http://www.geni.net/resources/rspec/ext/openflow/3 |
| 739 | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
| 740 | type="request"> |
| 741 | |
| 742 | <openflow:sliver description="OpenFlow Experiment Example" email="lnevers@bbn.com"> |
| 743 | <openflow:controller url="tcp:mallorea.gpolab.bbn.com:33020" type="primary" /> |
| 744 | |
| 745 | <openflow:group name="i2-losa-1750"> |
| 746 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.net.internet2.edu+datapath+06:d6:00:12:e2:22:63:38" |
| 747 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.net.internet2.edu+authority+am" |
| 748 | dpid="06:d6:00:12:e2:22:63:38"> <!-- I2 Los Angeles 3715 Path --> |
| 749 | <openflow:port name="GBE0/12" num="12"/> <!-- I2 UEN 1750 --> |
| 750 | <openflow:port name="GBE0/13" num="13"/> <!-- I2 Los Angeles 3715 Port --> |
| 751 | </openflow:datapath> |
| 752 | </openflow:group> |
| 753 | |
| 754 | <openflow:group name="i2-atla-3715"> |
| 755 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.net.internet2.edu+datapath+0e:83:00:12:e2:22:63:6e" |
| 756 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.net.internet2.edu+authority+am" |
| 757 | dpid="0e:83:00:12:e2:22:63:6e"> <!-- I2 ATLA 3715 --> |
| 758 | </openflow:datapath> |
697 | | Using the !OpenFlow and compute resource RSpecs we defined above, we can now set up an experimennt with Omni. First, we create a slice using the GPO Clearinghouse credentials as defined in the [wiki:GENIExperimenter/ExperimentExample-OF#AuthenticationandOmnitoolsconfiguration Omni configuration]. Note, you should choose a slice name that is meaningful to you. Then, we create a sliver for each resource aggregate. In this example there are 4 !OpenFlow aggregates (one per site plus one for the GENI core) and 3 compute resource aggregates (3 MyPLC), which maps to creating 7 slivers. The following commands are executed to set up the experiment: |
698 | | {{{ |
699 | | $ cd gcf-1.6.1 |
700 | | $ ./src/omni.py createslice 3sites-OF |
701 | | $ ./src/omni.py -a of-bbn -V 1 createsliver 3sites-OF openflow-bbn.rspec |
702 | | $ ./src/omni.py -a of-clemson -V 1 createsliver 3sites-OF openflow-clemson.rspec |
703 | | $ ./src/omni.py -a of-wisconsin -V 1 createsliver 3sites-OF openflow-wisconsin.rspec |
704 | | $ ./src/omni.py -a of-nlr -V 1 createsliver 3sites-OF openflow-nlr.rspec |
705 | | $ ./src/omni.py -a plc-bbn -V 1 createsliver 3sites-OF myplc-bbn.rspec |
706 | | $ ./src/omni.py -a plc-clemson -V 1 createsliver 3sites-OF myplc-clemson.rspec |
707 | | $ ./src/omni.py -a plc-wisconsin -V 1 createsliver 3sites-OF myplc-wisconsin.rspec |
708 | | |
709 | | }}} |
710 | | |
711 | | The output for running each of the above commands is attached [http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/ExperimentExample-OF/openflow-foam-example.txt here]. Also each of the RSpecs used to create slivers are also attached to this page. |
712 | | |
713 | | Remember, to renew the slice and slivers reservation time, as the default time is 8 hours. You may find out the current expiration time by using Omni sliverstatus commands. Following are the commands to determine the current sliverstatus along with the expiration times at each aggregate: |
714 | | {{{ |
715 | | $ ./src/omni.py -a of-bbn -V 1 sliverstatus 3sites-OF |
716 | | $ ./src/omni.py -a of-clemson -V 1 sliverstatus 3sites-OF |
717 | | $ ./src/omni.py -a of-wisconsin -V 1 sliverstatus 3sites-OF |
718 | | $ ./src/omni.py -a of-nlr -V 1 sliverstatus 3sites-OF |
719 | | $ ./src/omni.py -a plc-clemson -V 1 sliverstatus 3sites-OF |
720 | | $ ./src/omni.py -a plc-wisconsin -V 1 sliverstatus 3sites-OF |
721 | | $ ./src/omni.py -a plc-bbn -V 1 sliverstatus 3sites-OF |
722 | | }}} |
723 | | The output for running each of the above commands is attached [http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/ExperimentExample-OF/openflow-foam-sliverstatus.txt here]. |
724 | | |
725 | | |
726 | | You can now renew the slice and slivers. Following are the commands to extend the reservation for the resources: |
727 | | {{{ |
728 | | $ ./src/omni.py renewslice 3sites-OF 2012-04-30 |
729 | | $ ./src/omni.py -a of-bbn -V 1 renewsliver 3sites-OF 2012-04-30 |
730 | | $ ./src/omni.py -a of-clemson -V 1 renewsliver 3sites-OF 2012-04-30 |
731 | | $ ./src/omni.py -a of-wisconsin -V 1 renewsliver 3sites-OF 2012-04-30 |
732 | | $ ./src/omni.py -a of-nlr -V 1 renewsliver 3sites-OF 2012-04-30 |
733 | | $ ./src/omni.py -a of-clemson -V 1 renewsliver 3sites-OF 2012-04-30 |
734 | | $ ./src/omni.py -a of-wisconsin -V 1 renewsliver 3sites-OF 2012-04-30 |
735 | | $ ./src/omni.py -a of-bbn renewsliver -V 1 3sites-OF 2012-04-30 |
736 | | }}} |
737 | | |
738 | | The output for running each of the above renew commands is attached [http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/ExperimentExample-OF/openflow-foam-renew.txt here]. |
739 | | |
740 | | |
741 | | === FOAM sliver approval === |
742 | | |
743 | | Each of the !OpenFlow slivers must be approved by an administrator at each of the !OpenFlow Aggregates. You do not need to take any action, an email notification will be sent for each of the FOAM aggregates that looks as follows: |
744 | | |
745 | | [[Image(FOAM-sliver-approve.jpg)]] |
746 | | |
747 | | In the scenario captured in this page, there are 4 sliver approval notifications, one from each of the FOAM aggregates (BBN, Clemson, NLR and Wisconsin). |
| 795 | Using the !OpenFlow and compute resource RSpecs we defined above, we can now set up an experimennt with Omni. First, we create a slice using the GPO Clearinghouse credentials as defined in the [wiki:GENIExperimenter/ExperimentExample-OF#AuthenticationandOmnitoolsconfiguration Omni configuration]. Note, you should choose a slice name that is meaningful to you. Then, we create a sliver for each resource aggregate. In this example there are 6 !OpenFlow aggregates and 3 compute resource aggregates (1 ProtoGENI, 1 ExoGENI, and 1 InstaGENI), which maps to creating 9 slivers. The following commands are executed to set up the experiment: |
| 796 | |
| 797 | {{{ |
| 798 | $ omni.py createslice 3sites-OF |
| 799 | }}} |
| 800 | Create slivers at each compute resource aggregate (GPO IG, RENCI EG, Utah PG): |
| 801 | {{{ |
| 802 | $ omni.py -a ig-gpo createsliver 3sites-OF compute-ig-gpo.rspec |
| 803 | $ omni.py -a eg-renci createsliver 3sites-OF compute-eg-renci.rspec |
| 804 | $ omni.py -a pg-utah createsliver 3sites-OF compute-pg-utah.rspec |
| 805 | }}} |
| 806 | |
| 807 | Create a slivers for each of the FOAM aggregate: |
| 808 | {{{ |
| 809 | |
| 810 | $ omni.py -a of-gpo -V1 createsliver 3sites-OF openflow-gpo.rspec |
| 811 | $ omni.py -a of-nlr -V1 createsliver 3sites-OF openflow-nlr.rspec |
| 812 | $ omni.py -a of-i2 -V1 createsliver 3sites-OF openflow-internet2.rspec |
| 813 | $ omni.py -a of-uen -V1 createsliver 3sites-OF openflow-uen.rspec |
| 814 | $ omni.py -a eg-of-renci -V1 createsliver 3sites-OF openflow-eg-renci.rspec |
| 815 | $ omni.py -a ig-of-gpo -V1 createsliver 3sites-OF openflow-ig-gpo.rspec |
| 816 | }}} |
| 817 | |
| 818 | The output for running each of the above commands is attached [http://groups.geni.net/syseng/attachment/wiki/LuisaSandbox/ExperimentExample-OF/openflow-foam-example.txt here]. The RSpecs used can be found [http://groups.geni.net/geni/browser/trunk/RSpecExamples/ExperimentExample-OF/ here]. |
| 819 | |
| 820 | Remember, to renew the slice and slivers reservation time, as the default time is 8 hours. You may find out the current expiration time by using Omni print_slice_expiration commands. |
| 821 | {{{ |
| 822 | $ omni.py print_slice_expiration 3sites-OF |
| 823 | INFO:omni:Loading config file /home/lnevers/.gcf/omni_config |
| 824 | INFO:omni:Using control framework pg |
| 825 | INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+3sites-OF expires on 2013-03-01 21:30:06 UTC |
| 826 | INFO:omni: ------------------------------------------------------------ |
| 827 | INFO:omni: Completed print_slice_expiration: |
| 828 | Options as run: |
| 829 | framework: pg |
| 830 | Args: print_slice_expiration 3sites-OF |
| 831 | Result Summary: Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+3sites-OF expires on 2013-03-01 21:30:06 UTC |
| 832 | INFO:omni: ============================================================ |
| 833 | }}} |
| 834 | |
| 835 | You can now renew the slice and slivers. Following are the commands to extend the reservation for the compute and network resources: |
| 836 | |
| 837 | {{{ |
| 838 | $ omni.py renewslice 3sites-OF 2013-03-13 |
| 839 | $ omni.py -a of-gpo -V 1 renewsliver 3sites-OF 2013-03-03 |
| 840 | $ omni.py -a of-nlr -V 1 renewsliver 3sites-OF 2013-03-03 |
| 841 | $ omni.py -a of-i2 -V 1 renewsliver 3sites-OF 2013-03-03 |
| 842 | $ omni.py -a of-uen -V 1 renewsliver 3sites-OF 2013-03-03 |
| 843 | $ omni.py -a eg-of-renci -V 1 renewsliver 3sites-OF 2013-03-03 |
| 844 | $ omni.py -a ig-of-gpo -V 1 renewsliver 3sites-OF 2013-03-03 |
| 845 | $ omni.py -a pg-utah -V 1 renewsliver 3sites-OF 2013-03-03 |
| 846 | $ omni.py -a ig-gpo renewsliver 3sites-OF 2013-03-03 |
| 847 | }}} |
| 848 | |
| 849 | '' Note: The sliver for RENCI resources is not renewed, as the feature is currently not supported, default sliver is 2 weeks for ExoGENI''. |
| 850 | |
| 851 | The output for running each of the above renew commands is attached [http://groups.geni.net/syseng/attachment/wiki/LuisaSandbox/ExperimentExample-OF/openflow-example-renew.txt here]. |
| 852 | |
| 853 | |
| 854 | === FOAM slivers approval === |
| 855 | |
| 856 | SOme of the !OpenFlow slivers must be approved by an administrator at each of the !OpenFlow Aggregates. You do not need to take any action, an email notification will be sent for each of the FOAM aggregates that looks as follows: |
| 857 | |
| 858 | {{{ |
| 859 | (This is an automated message from FOAM.) |
| 860 | |
| 861 | Your FOAM sliver at foam.gpolab.bbn.com |
| 862 | has been automatically approved, and is now in the FlowVisor: |
| 863 | |
| 864 | Sliver URN: urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+3sites-OF:6454a7b0-f4cf-4c98-863e-2f1db3a4613c |
| 865 | Owner URN: urn:publicid:IDN+pgeni.gpolab.bbn.com+user+lnevers |
| 866 | Owner e-mail: lnevers@bbn.com |
| 867 | |
| 868 | If this is unexpected, please contact foam-admin@gpolab.bbn.com |
| 869 | for further assistance. |
| 870 | }}} |
| 871 | |
| 872 | In the scenario captured in this page, there are 6 sliver approval notifications, one from each of the FOAM aggregates (GPO, NLR, I2, UEN, IG, and EG). |
751 | | Once your flowspace has been approved, you should be able [wiki:HowTo/LoginToNodes login to each of the MyPLC hosts] and exchange traffic over the approved flows. Simply SSH into one of the hosts and ping any of the other hosts to verify connectivity. If you have connectivity between the allocated hosts, you may start your experiment, if you do not have connectivity, contact [mailto:help@geni.net]. |
752 | | |
753 | | === Login to a MyPLC host === |
754 | | |
755 | | To figure out how to login to the MyPLC hosts that you reserved use the Omni ''sliverstatus'' commands. Following are examples for the experiment captured in this page: |
756 | | {{{ |
757 | | $ ./src/omni.py -a plc-clemson -V 1 sliverstatus 3sites-OF |
758 | | $ ./src/omni.py -a plc-bbn -V 1 sliverstatus 3sites-OF |
759 | | $ ./src/omni.py -a plc-wisconsin -V 1 sliverstatus 3sites-OF |
760 | | }}} |
761 | | |
762 | | The output for running each of the above sliverstatus commands is attached [http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/ExperimentExample-OF/sliverstatus-3sites-OF-exp.txt here]. |
763 | | |
764 | | From the output of the sliverstatus commands, we use the ''pl_login'' and the ''pl_hostname'' to ssh into the MyPLC hosts. Following is a summary for the sites in this experiment: |
765 | | |
766 | | || MyPLC Site || Login (pl_login) || MyPLC Host (pl_hostname) || Command to connect || |
767 | | || || |
768 | | ||BBN || pgenigpolabbbncom_3sitesOF || navis.gpolab.bbn.com || ssh pgenigpolabbbncom_3sitesOF@navis.gpolab.bbn.com |
769 | | |||| |
770 | | ||Clemson || pgenigpolabbbncom_3sitesOF || planetlab4.clemson.edu|| ssh pgenigpolabbbncom_3sitesOF@planetlab4.clemson.edu || |
771 | | || || |
772 | | ||Wisconsin|| pgenigpolabbbncom_3sitesOF || wings-openflow-2.wail.wisc.edu|| ssh pgenigpolabbbncom_3sitesOF@wings-openflow-2.wail.wisc.edu || |
773 | | |
774 | | |
775 | | Login to each of the 3 hosts to determine the host address for the network 10.42.11.0/24, which is the network reserved and configured for the !OpenFlow groups. Here is an example for the node ''navis'': |
776 | | {{{ |
777 | | $ ssh pgenigpolabbbncom_3sitesOF@navis.gpolab.bbn.com |
778 | | Last login: Fri Apr 20 15:22:13 2012 from sendaria.gpolab.bbn.com |
779 | | [pgenigpolabbbncom_3sitesOF@navis ~]$ /sbin/ifconfig |egrep "10.42.11\." -A 1 -B 1 |
780 | | eth1.1750:42011 Link encap:Ethernet HWaddr 00:1B:21:5A:E6:A9 |
781 | | inet addr:10.42.11.55 Bcast:10.42.11.255 Mask:255.255.255.0 |
782 | | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
783 | | }}} |
784 | | |
785 | | You should verify connectivity between the MyPLC hosts before running your experiment. The following example show connectivity from BBN host ''navis'' to Clemson host ''planetlab4'': |
786 | | {{{ |
787 | | [pgenigpolabbbncom_3sitesOF@navis ~]$ ping 10.42.11.104 -c 3 |
788 | | PING 10.42.11.104 (10.42.11.104) 56(84) bytes of data. |
789 | | 64 bytes from 10.42.11.104: icmp_seq=1 ttl=64 time=59.3 ms |
790 | | 64 bytes from 10.42.11.104: icmp_seq=2 ttl=64 time=59.3 ms |
791 | | 64 bytes from 10.42.11.104: icmp_seq=3 ttl=64 time=59.3 ms |
792 | | |
793 | | --- 10.42.11.104 ping statistics --- |
794 | | 3 packets transmitted, 3 received, 0% packet loss, time 2006ms |
795 | | rtt min/avg/max/mdev = 59.327/59.337/59.354/0.199 ms |
796 | | [pgenigpolabbbncom_3sitesOF@navis ~]$ |
797 | | }}} |
798 | | |
799 | | and from Wisconsin host ''wings-openflow-2'' to Clemson host ''planetlab4'': |
800 | | {{{ |
801 | | [pgenigpolabbbncom_3sitesOF@wings-openflow-2 ~]$ ping 10.42.11.104 -c 3 |
802 | | PING 10.42.11.104 (10.42.11.104) 56(84) bytes of data. |
803 | | 64 bytes from 10.42.11.104: icmp_seq=1 ttl=64 time=40.6 ms |
804 | | 64 bytes from 10.42.11.104: icmp_seq=2 ttl=64 time=40.6 ms |
805 | | 64 bytes from 10.42.11.104: icmp_seq=3 ttl=64 time=40.6 ms |
806 | | |
807 | | --- 10.42.11.104 ping statistics --- |
808 | | 3 packets transmitted, 3 received, 0% packet loss, time 2044ms |
809 | | rtt min/avg/max/mdev = 40.610/40.652/40.699/0.168 ms |
| 876 | Once your flowspace has been approved, you can determine the login information for each compute resource host as follows: |
| 877 | {{{ |
| 878 | $ readyToLogin.py -a ig-gpo 3sites-OF |
| 879 | <....> |
| 880 | ================================================================================ |
| 881 | LOGIN INFO for AM: https://instageni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0 |
| 882 | ================================================================================ |
| 883 | gpo-ig's geni_status is: ready (am_status:ready) |
| 884 | User lnevers logins to gpo-ig using: |
| 885 | xterm -e ssh -p 30522 -i /home/lnevers/.ssh/id_rsa lnevers@pc1.instageni.gpolab.bbn.com & |
| 886 | |
| 887 | |
| 888 | $ readyToLogin.py -a pg-utah 3sites-OF |
| 889 | <..> |
| 890 | ================================================================================ |
| 891 | LOGIN INFO for AM: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0 |
| 892 | ================================================================================ |
| 893 | |
| 894 | utah-pg's geni_status is: ready (am_status:ready) |
| 895 | User lnevers logins to utah-pg using: |
| 896 | xterm -e ssh -p 32570 -i /home/lnevers/.ssh/id_rsa lnevers@pc423.emulab.net & |
| 897 | |
| 898 | |
| 899 | $ readyToLogin.py -a eg-renci 3sites-OF |
| 900 | <...> |
| 901 | ================================================================================ |
| 902 | LOGIN INFO for AM: https://rci-hn.exogeni.net:11443/orca/xmlrpc |
| 903 | ================================================================================ |
| 904 | User root logins to renci-eg using: |
| 905 | xterm -e ssh -i /home/lnevers/.ssh/id_rsa root@152.54.14.17 & |
| 906 | |
| 907 | }}} |
| 908 | |
| 909 | You can now simply SSH into one of the hosts and ping any of the other site's hosts to verify connectivity. If you have connectivity between the allocated hosts, you may start your experiment, if you do not have connectivity, contact [mailto:help@geni.net]. |
| 910 | |
| 911 | In our example, we login to the hosts at each site and ping a remote host. On the GPO InstaGENI host ping the RENCI ExoGENI host and the ProtoGENI host: |
| 912 | {{{ |
| 913 | |
| 914 | $ ssh -p 30522 -i /home/lnevers/.ssh/id_rsa lnevers@pc1.instageni.gpolab.bbn.com |
| 915 | |
| 916 | [lnevers@gpo-ig ~]$ /sbin/ifconfig |egrep 10.42 |
| 917 | inet addr:10.42.11.65 Bcast:10.42.11.255 Mask:255.255.255.0 |
| 918 | |
| 919 | [lnevers@gpo-ig ~]$ ping 10.42.11.205 -c 5 |
| 920 | PING 10.42.11.205 (10.42.11.205) 56(84) bytes of data. |
| 921 | 64 bytes from 10.42.11.205: icmp_req=1 ttl=64 time=1676 ms |
| 922 | 64 bytes from 10.42.11.205: icmp_req=2 ttl=64 time=779 ms |
| 923 | 64 bytes from 10.42.11.205: icmp_req=3 ttl=64 time=66.4 ms |
| 924 | 64 bytes from 10.42.11.205: icmp_req=4 ttl=64 time=66.3 ms |
| 925 | 64 bytes from 10.42.11.205: icmp_req=5 ttl=64 time=66.3 ms |
| 926 | |
| 927 | --- 10.42.11.205 ping statistics --- |
| 928 | 5 packets transmitted, 5 received, 0% packet loss, time 4003ms |
| 929 | rtt min/avg/max/mdev = 66.332/530.917/1676.312/635.755 ms, pipe 2 |
| 930 | |
| 931 | [lnevers@gpo-ig ~]$ ping 10.42.11.134 -c 5 |
| 932 | PING 10.42.11.134 (10.42.11.134) 56(84) bytes of data. |
| 933 | 64 bytes from 10.42.11.134: icmp_req=1 ttl=64 time=138 ms |
| 934 | 64 bytes from 10.42.11.134: icmp_req=2 ttl=64 time=138 ms |
| 935 | 64 bytes from 10.42.11.134: icmp_req=3 ttl=64 time=138 ms |
| 936 | 64 bytes from 10.42.11.134: icmp_req=4 ttl=64 time=138 ms |
| 937 | 64 bytes from 10.42.11.134: icmp_req=5 ttl=64 time=138 ms |
| 938 | |
| 939 | --- 10.42.11.134 ping statistics --- |
| 940 | 5 packets transmitted, 5 received, 0% packet loss, time 4006ms |
| 941 | rtt min/avg/max/mdev = 138.567/138.595/138.619/0.408 ms |
| 942 | }}} |
| 943 | |
| 944 | On the ProtoGENI Utah host ping the RENCI ExoGENI host and the GPO InstaGENI host: |
| 945 | {{{ |
| 946 | |
| 947 | $ ssh -p 32570 -i /home/lnevers/.ssh/id_rsa lnevers@pc423.emulab.net |
| 948 | |
| 949 | [lnevers@utah-pg ~]$ /sbin/ifconfig |egrep 10.42 |
| 950 | inet addr:10.42.11.134 Bcast:10.42.11.255 Mask:255.255.255.0 |
| 951 | [lnevers@utah-pg ~]$ ping 10.42.11.205 -c 5 |
| 952 | PING 10.42.11.205 (10.42.11.205) 56(84) bytes of data. |
| 953 | 64 bytes from 10.42.11.205: icmp_req=1 ttl=64 time=1692 ms |
| 954 | 64 bytes from 10.42.11.205: icmp_req=2 ttl=64 time=710 ms |
| 955 | 64 bytes from 10.42.11.205: icmp_req=3 ttl=64 time=92.4 ms |
| 956 | 64 bytes from 10.42.11.205: icmp_req=4 ttl=64 time=92.5 ms |
| 957 | 64 bytes from 10.42.11.205: icmp_req=5 ttl=64 time=92.5 ms |
| 958 | |
| 959 | --- 10.42.11.205 ping statistics --- |
| 960 | 5 packets transmitted, 5 received, 0% packet loss, time 4003ms |
| 961 | rtt min/avg/max/mdev = 92.416/536.194/1692.752/625.889 ms, pipe 2 |
| 962 | [lnevers@utah-pg ~]$ /sbin/ifconfig |egrep 10.42 |
| 963 | inet addr:10.42.11.134 Bcast:10.42.11.255 Mask:255.255.255.0 |
| 964 | [lnevers@utah-pg ~]$ ping 10.42.11.65 -c 5 |
| 965 | PING 10.42.11.65 (10.42.11.65) 56(84) bytes of data. |
| 966 | 64 bytes from 10.42.11.65: icmp_req=1 ttl=64 time=2103 ms |
| 967 | 64 bytes from 10.42.11.65: icmp_req=2 ttl=64 time=1121 ms |
| 968 | 64 bytes from 10.42.11.65: icmp_req=3 ttl=64 time=138 ms |
| 969 | 64 bytes from 10.42.11.65: icmp_req=4 ttl=64 time=138 ms |
| 970 | 64 bytes from 10.42.11.65: icmp_req=5 ttl=64 time=138 ms |
| 971 | |
| 972 | --- 10.42.11.65 ping statistics --- |
| 973 | 5 packets transmitted, 5 received, 0% packet loss, time 4003ms |
| 974 | rtt min/avg/max/mdev = 138.555/728.028/2103.317/785.896 ms, pipe 3 |
| 975 | |
| 976 | }}} |
| 977 | |
| 978 | On RENCI ExoGENI host ping the PG Utah host and the GPO InstaGENI host: |
| 979 | {{{ |
| 980 | |
| 981 | $ ssh -i /home/lnevers/.ssh/id_rsa root@152.54.14.17 |
| 982 | |
| 983 | root@VM1:~# /sbin/ifconfig |grep 10.42 |
| 984 | inet addr:10.42.11.205 Bcast:10.42.11.255 Mask:255.255.255.0 |
| 985 | root@VM1:~# ping 10.42.11.134 -c 5 |
| 986 | PING 10.42.11.134 (10.42.11.134) 56(84) bytes of data. |
| 987 | 64 bytes from 10.42.11.134: icmp_req=1 ttl=64 time=3707 ms |
| 988 | 64 bytes from 10.42.11.134: icmp_req=2 ttl=64 time=2714 ms |
| 989 | 64 bytes from 10.42.11.134: icmp_req=3 ttl=64 time=1711 ms |
| 990 | 64 bytes from 10.42.11.134: icmp_req=4 ttl=64 time=726 ms |
| 991 | 64 bytes from 10.42.11.134: icmp_req=5 ttl=64 time=92.4 ms |
| 992 | |
| 993 | --- 10.42.11.134 ping statistics --- |
| 994 | 5 packets transmitted, 5 received, 0% packet loss, time 4022ms |
| 995 | rtt min/avg/max/mdev = 92.433/1790.207/3707.214/1307.640 ms, pipe 4 |
| 996 | |
| 997 | root@VM1:~# ping 10.42.11.65 -c 5 |
| 998 | PING 10.42.11.65 (10.42.11.65) 56(84) bytes of data. |
| 999 | 64 bytes from 10.42.11.65: icmp_req=1 ttl=64 time=3389 ms |
| 1000 | 64 bytes from 10.42.11.65: icmp_req=2 ttl=64 time=2408 ms |
| 1001 | 64 bytes from 10.42.11.65: icmp_req=3 ttl=64 time=1405 ms |
| 1002 | 64 bytes from 10.42.11.65: icmp_req=4 ttl=64 time=435 ms |
| 1003 | 64 bytes from 10.42.11.65: icmp_req=5 ttl=64 time=66.2 ms |
| 1004 | |
| 1005 | --- 10.42.11.65 ping statistics --- |
| 1006 | 5 packets transmitted, 5 received, 0% packet loss, time 4017ms |
| 1007 | rtt min/avg/max/mdev = 66.212/1540.944/3389.023/1231.504 ms, pipe 4 |