Version 2 (modified by 14 years ago) (diff) | ,
---|
BGPMux Evaluation
BGPMux (a.k.a. dtunnel) version 53 was downloaded from the SVN repository http://davis.gtnoise.net/svn/dtunnel/ with the login/password provided.
Time frame: This evaluation took place June 14-29, 2010.
BGPMux Findings
Initial SVN revision 56 was missing the following files: ref.bib, rfc.bib and data.py. Verified that files are in the next svn revision 57.
With a revoked certificate, the server process is started and no failure is reported to user. Logs show an un-handled error and the revoked certificate message, this may be missed, if user does not look at the logs, also process should not be started if cert is revoked. Verified that files are in the next svn revision 57.
With a properly started server, starting a client results in a twisted exception. Verified that files are in the next svn revision 57.
Using Version 57, new problem was found with tools not handling scenario where ProtoGENI cannot get the requested node information. Handler added and new rspec to be provided. (revision 58)
BGPMux How-to
The package is delivered with a README that captures all software pre-requisites and installation steps:
This file describes the distribution of the Aggregate Manager (AM) for BGP-mux. 1. INSTALLING AM Before running AM make sure that you have following Python libraries installed and working: 1) Twisted 2) Pexpect 3) Pxssh 2. RUNNING AM Just run: ./server.py this will start the AM engine which will bind to a TCP port 8080. AM accepts requests from XMLRPC clients and implements 'RedeemTicket' method. Method accepts only one parameter which is an XML string formatted as RSpec. AM needs emulab.net credentials to perform Resolve() calls to Emulab AM. Right now credentials are hardcoded to point to /home/valas/.ssl directory in ProtoGENI.py file. If you plan to test AM please change the pointers to point to your Emulab AM credentials. 3. TESTING AM A sample RSpec is in the file flash-rspec.xml. Note that this file is extended version of "official" RSpec and contains some additional attributes necessary for our script to establish a client tunnel and BGP session. We also provide a sample client. To feed in an XML file "RedeemTicket" call, simply execute: ./client.py flash-rspec.xml 4. KNOWN BUGS AM should run as close (in terms of network delay) to the Mux as possible. Jitter and delay can cause expect script sessions to timeout.
The sample rspec provided flash-rspec.xml:
<rspec type="request" xmlns="http://www.protogeni.net/resources/rspec/0.1"> <node component_uuid="urn:publicid:IDN+emulab.net+node+pc1" component_manager_uuid="28a10955-aa00-11dd-ad1f-001143e453fe" virtual_id="pc1" virtualization_type="emulab-vnode" exclusive="1"> <node_type type_name="pc" type_slots="1"/> <interface virtual_id="control"/> </node> <node component_uuid="gtnoise.net+node+atlanta_mux" component_manager_uuid="f00" virtual_id="atlanta_mux" virtualization_type="emulab-vnode" exclusive="1"> <node_type type_name="bgpmux" type_slots="1"> <field key="upstream_as" value="2637"/> <field key="prefix" value="168.62.16.0"/> <field key="netmask" value="21"/> </node_type> <interface virtual_id="control"/> </node> <link virtual_id="link0"> <link_type name="GRE"> <field key="key" value="0"/> <field key="ttl" value="0"/> </link_type> <interface_ref virtual_node_id="atlanta_mux" tunnel_ip="192.168.0.1" virtual_interface_id="control"/> <interface_ref virtual_node_id="pc1" tunnel_ip="192.168.0.2" virtual_interface_id="control"/> </link> </rspec>
Start the server process, which takes over TCP port 8080 with Twisted Web httpd 8.2.0:
$ sudo ./server.py
Start the client:
$./client.py flash-rspec.xml
GENI Integration Release 2.1 Guidelines Spiral 2 Release 1