Commit aea8b2c9 authored by Robert Ricci's avatar Robert Ricci

Clear out some old cruft and add user-controlled switch section

parent bc92fb9a
......@@ -2,8 +2,6 @@
@(require "defs.rkt")
@title[#:tag "advanced-topics" #:version apt-version]{Advanced Topics}
@section[#:tag "disk-images"]{Disk Images}
......@@ -141,10 +139,6 @@ You will probably find the
@hyperlink[""]{Markdown manual} to
be useful.
@section[#:tag "tours"]{Tours}
@italic{This feature under development}
@section[#:tag "introspection"]{Introspection}
@(tb) implements @hyperlink[""]{the
......@@ -210,3 +204,38 @@ is the parameter name as specified in the @tt{geni-lib} script
@tt{defineParameter} call. For example, @tt{geni-get "param n"} would
retrieve the number of nodes in an instance of the profile shown in
the @seclink["geni-lib-example-parameters"]{@tt{geni-lib} parameter section}.
@section[#:tag "user-controlled-switches"]{User-controlled switches and layer-1 topologies}
Some experiments require exclusive access to Ethernet switches and/or the
ability for users to reconfigure those switches. One example of a good use
case for this feature is to enable or tune QoS features that cannot be enabled
on @(tb)'s shared infrastructure switches.
User-allocated switches are treated similarly to the way @(tb) treats
servers: the switches appear as nodes in your topology, and you 'wire'
them to PCs and each other using point-to-point layer-1 links. When one
of these switches is allocated to an experiment, that experiment is the
exclusive user, just as it is for a raw PC, and the user has ssh access with
full administrative control. This means that users are free to enable and
disable features, tweak parameters, reconfigure as will, etc. Users are
be given the switches in a 'clean' state (we do little configuration on
them), and can reload and reboot them like you would do with a server.
The list of available switches is found in our @seclink["hardware"]{hardware
chapter}, and the following example shows how to request a simple topology
using @seclink["geni-lib"]{@tt{geni-lib}}.
@profile-code-sample["PortalProfiles" "layer1-sw-2pcs"]
This feature is implemented using a set of @italic{layer-1} switches between some
servers and Ethernet switches. These switches act as ``patch panels,'' allowing us
to ``wire'' servers to switches with no intervening Ethernet packet processing and
minimal impact on latency. This feature can also be used to ``wire'' servers directly
to one another, and to create links between switches, as seen in the following two
@profile-code-sample["PortalProfiles" "layer1-2pcs"]
@profile-code-sample["PortalProfiles" "layer1-2sws-2pcs"]
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment