| 263 | |
| 264 | = OFv2 to OFv3 conversion examples = |
| 265 | |
| 266 | == Request port TCP port on a subnet == |
| 267 | |
| 268 | === OF v1 === |
| 269 | {{{ |
| 270 | #!xml |
| 271 | <!-- This rspec will reserve the OpenFlow resources at example.net that are used |
| 272 | for the Aster*x experiment with OFv1 |
| 273 | --> |
| 274 | <resv_rspec type="openflow"> |
| 275 | <user affiliation="BBN" email="aster*x@example.net" firstname="Aster*x" lastname="Stanford" password="ast"/> |
| 276 | <project description="Asterix" name="Stanford's Asterix demo"/> |
| 277 | <slice controller_url="tcp:ctrl.example.net:8833" description="The Asterix controller." |
| 278 | name="stanford-asterix"/> |
| 279 | <flowspace> |
| 280 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:55"/> |
| 281 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:56"/> |
| 282 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:71"/> |
| 283 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:12:e2:b8:a5:d0+port:20"/> |
| 284 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:12:e2:b8:a5:d0+port:5"/> |
| 285 | <dl_type from="2048" to="2048"/> |
| 286 | <nw_src from="10.42.111.0" to "10.42.111.255.0" /> |
| 287 | <nw_dst from="10.42.111.0" to "10.42.111.255.0" /> |
| 288 | <tp_src from="10001" to="10001"/> |
| 289 | </flowspace> |
| 290 | |
| 291 | <flowspace> |
| 292 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:55"/> |
| 293 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:56"/> |
| 294 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:71"/> |
| 295 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:12:e2:b8:a5:d0+port:20"/> |
| 296 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:12:e2:b8:a5:d0+port:5"/> |
| 297 | <dl_type from="2048" to="2048"/> |
| 298 | <nw_src from="10.42.111.0" to "10.42.111.255.0" /> |
| 299 | <nw_dst from="10.42.111.0" to "10.42.111.255.0" /> |
| 300 | <tp_src from="10001" to="10001"/> |
| 301 | </flowspace> |
| 302 | |
| 303 | <flowspace> |
| 304 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:55"/> |
| 305 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:56"/> |
| 306 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:71"/> |
| 307 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:12:e2:b8:a5:d0+port:20"/> |
| 308 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:12:e2:b8:a5:d0+port:5"/> |
| 309 | <dl_type from="2054" to="2054"/> |
| 310 | <nw_src from="10.42.111.0" to "10.42.111.255.0" /> |
| 311 | <nw_dst from="10.42.111.0" to "10.42.111.255.0" /> |
| 312 | <tp_src from="10001" to="10001"/> |
| 313 | </flowspace> |
| 314 | |
| 315 | <flowspace> |
| 316 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:55"/> |
| 317 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:56"/> |
| 318 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:24:a8:c4:b9:00+port:71"/> |
| 319 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:12:e2:b8:a5:d0+port:20"/> |
| 320 | <port urn="urn:publicid:IDN+texpedient.example.net:expedient:openflow+switch:06:d6:00:12:e2:b8:a5:d0+port:5"/> |
| 321 | <dl_type from="2054" to="2054"/> |
| 322 | <nw_src from="10.42.111.0" to "10.42.111.255.0" /> |
| 323 | <nw_dst from="10.42.111.0" to "10.42.111.255.0" /> |
| 324 | <tp_src from="10001" to="10001"/> |
| 325 | </flowspace> |
| 326 | </resv_rspec> |
| 327 | }}} |
| 328 | |
| 329 | === OF v3 === |
| 330 | {{{ |
| 331 | #!xml |
| 332 | <?xml version="1.1" encoding="UTF-8"?> |
| 333 | <rspec xmlns="http://www.protogeni.net/resources/rspec/2" |
| 334 | xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" |
| 335 | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
| 336 | xs:schemaLocation="http://www.protogeni.net/resources/rspec/2 |
| 337 | http://www.protogeni.net/resources/rspec/2/request.xsd |
| 338 | http://www.geni.net/resources/rspec/ext/openflow/3 |
| 339 | http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd" |
| 340 | type="request"> |
| 341 | <!-- This rspec will reserve the OpenFlow resources at example.net that are used |
| 342 | for the Aster*x experiment with OFv1 |
| 343 | --> |
| 344 | <openflow:sliver email="asterx@example.net" description="Asterix" name="Stanford's Asterix demo"/> |
| 345 | <openflow:controller url="tcp:ctrl.example.net:8833" type="primary"/> |
| 346 | |
| 347 | <openflow:group name="aster*x"> |
| 348 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.example.net+datapath:06:d6:00:24:a8:c4:b9:00" |
| 349 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.example.net+authority+am"> |
| 350 | <openflow:port num="55"/> |
| 351 | <openflow:port num="56"/> |
| 352 | <openflow:port num="71"/> |
| 353 | </openflow:datapath> |
| 354 | <openflow:datapath component_id="urn:publicid:IDN+openflow:foam:foam.example.net+datapath:06:d6:00:12:e2:b8:a5:d0" |
| 355 | component_manager_id="urn:publicid:IDN+openflow:foam:foam.example.net+authority+am"> |
| 356 | <openflow:port num="5"/> |
| 357 | <openflow:port num="20"/> |
| 358 | </openflow:datapath> |
| 359 | </openflow:group> |
| 360 | |
| 361 | <openflow:match> |
| 362 | <openflow:use-group name="aster*x" /> |
| 363 | <openflow:packet> |
| 364 | <openflow:dl_type value="0x800, 0x806"/> |
| 365 | <openflow:nw_src value="10.42.111.0/24" /> |
| 366 | <openflow:nw_dst value="10.42.111.0/24" /> |
| 367 | <openflow:tp_src value="10001" /> |
| 368 | </openflow:match> |
| 369 | |
| 370 | <openflow:match> |
| 371 | <openflow:use-group name="aster*x" /> |
| 372 | <openflow:packet> |
| 373 | <openflow:dl_type value="0x800, 0x806"/> |
| 374 | <openflow:nw_src value="10.42.111.0/24" /> |
| 375 | <openflow:nw_dst value="10.42.111.0/24" /> |
| 376 | <openflow:tp_dst value="10001" /> |
| 377 | </openflow:match> |
| 378 | </resv_rspec> |
| 379 | }}} |