= 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: [[Image(FixedEndPoint.jpg)]] 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 [mailto:geni-dev-utah@flux.utah.edu] to add stitching advertisement and to [mailto:gmoc@grnoc.iu.edu] to update the AL2S stitching advertisement. Requests to add stitching endpoints must include this type of [http://groups.geni.net/syseng/attachment/wiki/LuisaSandbox/GENIFixeEndpoint/StitchingRequest.txt 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 provisioned from the site to AL2S and that 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 update to advertise its stitching, and has been configured to extend one VLANs to 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: {{{ }}} If you are interested in stitching to a real compute resource in the UTC rack, you can replace the campus node with the following: {{{ }}} '' Note: The IP address above is specific to the connection to USC, you will use an address that applies to your experiment''[[BR]] '' Note: The sliver_type ''emulab-connect'' was specifically configured for connecting the campus port to the High School. ''' 2. 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: {{{ }}} 3. 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: {{{ 10 10000000 l2sc ethernet 9000 3224 3224 true consumer producer }}} ''Note: The request above uses VLAN 3224. This is specific to the example experiment, you will use a VLAN that applies to your setup'' 4. 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: {{{ 10 1000000 l2sc ethernet 9000 3514 3514 false }}} '' 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 [http://groups.geni.net/syseng/attachment/wiki/LuisaSandbox/GENIFixeEndpoint/stitch-fixedEndpoint.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''.