wiki:GeniNetworkStitchingSites/GENIFixeEndpoint

Version 4 (modified by Aaron Helsinger, 9 years ago) (diff)

--

Fixed End Point Topology Using GENI Stitching

This page captures steps required by GENI Operators to configure a non-GENI resource (aka fixed endpoint) to be an endpoint in a GENI stitched topology. This procedure is not intended for GENI experimenters. GENI Operators must coordinate with sites contact to get approval for the configuration changes required in this setup, as well as work directly with site contacts for the initial setup of site resource connectivity. The topology used in this example includes the following:

The above topology allows the High School behind the UTC IG rack campus connection to use a GENI stitching path to the USC fixed endpoint. There is no compute resource in the UTC rack, but simply a special nodes for the campus port using a pre-configured VLAN tag for the special sliver_type "emulab-connect" and has a special component_id "interconnect-highschool".

Prerequisites

Coordination and approval from site contacts are required to get the GENI and non-GENI site connectivity in place. Once connectivity is in place, stitching must be configured. This is set in motion by submitting a request to the InstaGENI team geni-dev-utah@flux.utah.edu to add the new endpoint to the stitching advertisement and to gmoc@grnoc.iu.edu to update the AL2S stitching advertisement. Requests to add stitching endpoints must include this type of information. The request results in a GMOC ticket that covers both AL2S and Stitching Computation Service (SCS) changes.

Before you can proceed to create the GENI stitched topology example described in this procedure it is assumed that the following have already taken place:

  1. Fixed endpoint VLAN has been provisioned from the site to AL2S and the site link name is known to GPO. In this example usc is the link and 3224 is the VLAN for the fixed endpoint.
  2. ACLs have been created in GENI-FOAM group for the fixed endpoint.
  3. InstaGENI rack (UTC IG in this example) has been updated to advertise its stitching, and has been configured to extend one or more VLANs to the campus interface to the High School. In this example VLAN is 3514.
  4. AL2S has updated its advertisement RSpec to include the stitching information for the UTG IG rack and USC fixed endpoint.
  5. SCS has picked up the topology for the site and the fixed endpoint.

You are now ready to proceed to create an RSpec for the stitcher tool.

Creating a Fixed Endpoint Stitching Request RSpec

Follow these steps to create a request RSpec for the above stitched topology:

  1. Add a GENI node for UTC IG campus connection, but do not include a node for the fixed endpoint. This node allows the High School campus endpoint connection through the rack and on to the remote non-GENI site fixed endpoint. Add:
     <node client_id="utc-hc"
           component_manager_id="urn:publicid:IDN+instageni.utc.edu+authority+cm"
           component_id="urn:publicid:IDN+instageni.utc.edu+node+interconnect-highschool"  exclusive="false" >
       <sliver_type name="emulab-connect"/>
       <interface client_id="utc-hc:if0">
         <ip address="10.42.212.1" netmask="255.255.255.0" type="ipv4"/>  
       </interface>
     </node>
    

If you are interested in stitching to a real compute resource in the UTC rack, you can replace the campus node with the following:

 <node client_id="utc-hc" component_manager_id="urn:publicid:IDN+instageni.utc.edu+authority+cm" exclusive="false" >
    <sliver_type name="emulab-xen"/>
    <interface client_id="utc-hc:if0">
      <ip address="10.42.212.1" netmask="255.255.255.0" type="ipv4"/>  
    </interface>
 </node>

Note: The IP address above is specific to the connection to USC, you will use an address that applies to your experiment
Note: The sliver_type emulab-connect was specifically configured for connecting the campus port to the High School.

  1. Define a link that includes both GENI aggregates (UTC & AL2S) component_manager. Must also include the interface_ref for the rack's GENI node that terminates the link. Add:
     <link client_id="link-utc-hc-usc">
       <component_manager name="urn:publicid:IDN+instageni.utc.edu+authority+cm"/>
       <interface_ref client_id="utc-hc:if0" />
       <component_manager name="urn:publicid:IDN+al2s.internet2.edu+authority+am"/>
     </link>
    
  1. Get the AL2S advertisement and look for the peering link that maps to the fixed endpoint, in this example usc. This link will become hop id="1" in the stitching extension path of your RSpec, along with the VLAN that is used for fixed endpoint. Note that the order of the two hops defined in the stitching path is not important, so UTC could be defined first.

The AL2S peering link for the USC fixed endpoint is modified to became a hop definition in our request. Note that the remoteLinkId is not required because the SCS does not care about the remoteLinkId if it does not point to a known GENI stitching aggregate. So the remoteLinkId need not be defined in the stitching path. Add:

   <link id="urn:publicid:IDN+al2s.internet2.edu+interface+sdn-sw.losa.net.internet2.edu:eth5/1:usc">
       <trafficEngineeringMetric>10</trafficEngineeringMetric>
       <capacity>10000000</capacity>
       <switchingCapabilityDescriptor>
         <switchingcapType>l2sc</switchingcapType>
         <encodingType>ethernet</encodingType>
         <switchingCapabilitySpecificInfo>
           <switchingCapabilitySpecificInfo_L2sc>
            <interfaceMTU>9000</interfaceMTU>
            <vlanRangeAvailability>3224</vlanRangeAvailability>
            <suggestedVLANRange>3224</suggestedVLANRange>
            <vlanTranslation>true</vlanTranslation>
           </switchingCapabilitySpecificInfo_L2sc>
         </switchingCapabilitySpecificInfo>
       </switchingCapabilityDescriptor>
      <capabilities>
       <capability>consumer</capability>
        <capability>producer</capability>
      </capabilities>
    </link>

Note: The request above uses VLAN 3224. This is specific to the example experiment, you will use a VLAN that applies to your setup

  1. Get the UTC IG advertisement, from which we will use the site link as a hop id="2" for the campus node that maps VLAN to the High school. Add:
   <link id="urn:publicid:IDN+instageni.utc.edu+interface+procurve2:1.21.al2s">
      <trafficEngineeringMetric>10</trafficEngineeringMetric>
      <capacity>1000000</capacity>
      <switchingCapabilityDescriptor>
        <switchingcapType>l2sc</switchingcapType>
       <encodingType>ethernet</encodingType>
       <switchingCapabilitySpecificInfo>
         <switchingCapabilitySpecificInfo_L2sc>
            <interfaceMTU>9000</interfaceMTU>
            <vlanRangeAvailability>3514</vlanRangeAvailability>
            <suggestedVLANRange>3514</suggestedVLANRange>
            <vlanTranslation>false</vlanTranslation>
          </switchingCapabilitySpecificInfo_L2sc>
        </switchingCapabilitySpecificInfo>
      </switchingCapabilityDescriptor>
    </link>

Note: The example request uses VLAN 3514 that is specific to this experiment, you will use a VLAN that applies to your setup

You now have the request RSpec needed to set up this example topology. See the complete request RSpec stitch-fixedEndpoint.rspec.

Run the Experiment

A patched version of the stitcher from GCF 2.9 is required to run this experiment. Using the v2.9 stitcher create the sliver:

 $ stitcher createsliver slice-name stitch-fixedEndpoint.rspec  --fixedEndpoint \
   --excludehop  urn:publicid:IDN+instageni.utc.edu+interface+procurve2:1.21.al2s=3500-3513 -o

The above command will create a stitcher sliver from UTC IG to AL2S USC fixed-endpoint, and the stitcher will request VLAN 3514 from the UTC IG rack from the available UTC VLAN range of 3500-3514. The IG aggregate allows the inclusion of a 'vlantag' attribute on the link, but other AMs do not like this manifest attribute in a request. To avoid this problem, we specify the --excludehop to get the desired VLAN.

Stitcher excludeHop option

The stitcher --excludehop option can be used to accomplish the following path options:

  • Exclude a hop URN from any path in the request. For example:
 --excludehop urn:publicid:IDN+instageni.stanford.edu+interface+procurve2:1.24.ion.salt.xe-0_1_1 

results in the hop specified not being used in any part of the GENI stitching path.

  • Exclude a specific VLAN on a specific hop URN. For examples:
 --excludehop  urn:publicid:IDN+instageni.utc.edu+interface+procurve2:1.21.al2s=3512 

results in VLAN 3512 being excluded from the potential VLANs to be used on the GENI stitching path at hop urn:publicid:IDN+instageni.utc.edu+interface+procurve2:1.21.al2s.

  • Exclude ranges of VLANs on a specific hop URN. For examples:
 --excludehop  urn:publicid:IDN+instageni.utc.edu+interface+procurve2:1.21.al2s=3500-3510,3512-3514 

results in VLAN 3511 being used from the potential VLAN range (3500-3514) in the GENI stitching path at hop urn:publicid:IDN+instageni.utc.edu+interface+procurve2:1.21.al2s.


If additional help is needed, please contact help@geni.net.


Attachments (3)

Download all attachments as: .zip