Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Wiki / Gec6Demorspecexample

Gec6Demorspecexample

This is the RSpec used for the ProtoGENI demo at GEC6, which connected a PC in the demo room (acting as an 802.11 access point) with a PC in the Washington DC Internet2 POP at Layer 2.

<!--
    RSpec for ProtoGENI backbone demo, GEC6, November 16, 2009
    Contains an access point in Utah, a server in the Washington, DC POP,
    and hops through a series of NetFPGAs in between.
-->
<rspec type="request" xmlns="http://www.protogeni.net/resources/rspec/0.1">

    <!--
        Request that this slice last through November 18
    -->
    <valid_until>20091118T22:00:00</valid_until>

    <!--
        AP in the stadium: pcwf141
    -->
  <node component_uuid="urn:publicid:IDN+emulab.net+node+pcwf141" component_manager_uuid="urn:publicid:IDN+emulab.net+authority+cm" virtual_id="ap" virtualization_type="emulab-vnode" exclusive="1">
    <node_type type_name="pc" type_slots="1"/>
    <!-- Note that we declare an interface here; below, we'll reference this
         interface when we make a LAN -->
    <interface virtual_id="virt-0"/>
  </node>

  <!--
       Webserver in DC POP: pg41
  -->
  <node component_uuid="urn:publicid:IDN+emulab.net+node+pg41" component_manager_uuid="urn:publicid:IDN+emulab.net+authority+cm" virtual_id="server" virtualization_type="emulab-vnode" exclusive="1">
    <node_type type_name="pcpg-i2" type_slots="1"/>
    <interface virtual_id="virt-0"/>
  </node>

  <!--
      Machine in Emulab to send router advertisements, which act as the IPv6
      equivalent of DHCP for our purposes.
      Note that the component_uuid is blank: This lets the component manager
      select a node for us.
   -->
  <node component_manager_uuid="urn:publicid:IDN+emulab.net+authority+cm" virtual_id="nd" virtualization_type="emulab-vnode" exclusive="1">
    <node_type type_name="pc" type_slots="1"/>
    <interface virtual_id="virt-0"/>
  </node>

  <!--
      netfpga and host in SALT POP
  -->
  <node component_uuid="urn:publicid:IDN+emulab.net+node+pg44" component_manager_uuid="urn:publicid:IDN+emulab.net+authority+cm" virtual_id="nfhost-salt" virtualization_type="emulab-vnode" exclusive="1">
    <node_type type_name="pc" type_slots="1"/>
  </node>
  <node component_uuid="urn:publicid:IDN+emulab.net+node+netfpga18" component_manager_uuid="urn:publicid:IDN+emulab.net+authority+cm" virtual_id="nf-salt" virtualization_type="emulab-vnode" exclusive="1">
    <node_type type_name="netfpga2" type_slots="1"/>
    <!-- Note that the NetFPGA is declared as a 'subnode' of the PC that hosts
         it. In an advertisement, we use the virtual ID of the host machine -->
    <subnode_of>nfhost-salt</subnode_of>
    <interface virtual_id="virt-0"/>
    <interface virtual_id="virt-1"/>
  </node>

  <!--
      netfpga and host in KANS POP
  -->
  <node component_uuid="urn:publicid:IDN+emulab.net+node+pg42" component_manager_uuid="urn:publicid:IDN+emulab.net+authority+cm" virtual_id="nfhost-kans" virtualization_type="emulab-vnode" exclusive="1">
    <node_type type_name="pc" type_slots="1"/>
  </node>
  <node component_uuid="urn:publicid:IDN+emulab.net+node+netfpga14" component_manager_uuid="urn:publicid:IDN+emulab.net+authority+cm" virtual_id="nf-kans" virtualization_type="emulab-vnode" exclusive="1">
    <node_type type_name="netfpga2" type_slots="1"/>
    <subnode_of>nfhost-kans</subnode_of>
    <interface virtual_id="virt-0"/>
    <interface virtual_id="virt-1"/>
  </node>

  <!--
      netfpga and host in WASH POP
  -->
  <node component_uuid="urn:publicid:IDN+emulab.net+node+pg40" component_manager_uuid="urn:publicid:IDN+emulab.net+authority+cm" virtual_id="nfhost-wash" virtualization_type="emulab-vnode" exclusive="1">
    <node_type type_name="pc" type_slots="1"/>
  </node>
  <node component_uuid="urn:publicid:IDN+emulab.net+node+netfpga10" component_manager_uuid="urn:publicid:IDN+emulab.net+authority+cm" virtual_id="nf-wash" virtualization_type="emulab-vnode" exclusive="1">
    <node_type type_name="netfpga2" type_slots="1"/>
    <subnode_of>nfhost-wash</subnode_of>
    <interface virtual_id="virt-0"/>
    <interface virtual_id="virt-1"/>
  </node>

  <!--
      LAN containing AP, neighbor discovery server, and the first-hop
      NetFPGA in the SALT POP
  -->
  <link virtual_id="ap-link" link_type="ethernet">
    <!-- Note that these are references to interface declared above.
         A LAN is simply a link that contains more than two interfaces -->
    <interface_ref virtual_node_id="nd" virtual_interface_id="virt-0"/>
    <interface_ref virtual_node_id="ap" virtual_interface_id="virt-0"/>
    <interface_ref virtual_node_id="nf-salt" virtual_interface_id="virt-0"/>
    <bandwidth>1000000</bandwidth>
  </link>

  <!--
      Hop from SALT to KANS
  -->
  <link virtual_id="salt-kans-link" link_type="ethernet">
    <interface_ref virtual_node_id="nf-salt" virtual_interface_id="virt-1"/>
    <interface_ref virtual_node_id="nf-kans" virtual_interface_id="virt-0"/>
    <bandwidth>1000000</bandwidth>
  </link>

  <!--
      Hop from KANS to WASH
  -->
  <link virtual_id="kans-wash-link" link_type="ethernet">
    <interface_ref virtual_node_id="nf-kans" virtual_interface_id="virt-1"/>
    <interface_ref virtual_node_id="nf-wash" virtual_interface_id="virt-0"/>
    <bandwidth>1000000</bandwidth>
  </link>

  <!--
      Final hop from NetFPGA to server
  -->
  <link virtual_id="server-link" link_type="ethernet">
    <interface_ref virtual_node_id="nf-wash" virtual_interface_id="virt-1"/>
    <interface_ref virtual_node_id="server" virtual_interface_id="virt-0"/>
    <bandwidth>1000000</bandwidth>
  </link>

</rspec>