Difference between revisions of "SPP Command Interface"
Line 182: | Line 182: | ||
=== Fastpath Creation === | === Fastpath Creation === | ||
+ | |||
+ | xxx | ||
+ | |||
+ | == Examples == | ||
xxx | xxx |
Revision as of 20:38, 11 December 2009
Contents
System Resource Manager (SRM) and Resource Manager Proxy (RMP)
The page SPP Control Software describes the System Resource Manager (SRM) that runs on the SPP's Control Processor and the Resource Manager Proxy (RMP) that runs on each SPP's GPE, and it describes the programming API provided by the RMP. This page describes the accompanying command line interface which allows users to reserve and configure resources interactively or through a shell script. In brief, the SRM coordinates the use of various SPP resources while the RMP provides an interface through which user slices can request and configure resources. The RMP, in turn, may communicate with the Substrate Control Daemons (SCD) in the Line Card and the NPE to configure packet pathways.
User requests are made through an interface provided by the RMP on the user’s assigned GPE. The RMP forwards these requests to the SRM which manages all system level resources, including external port numbers, physical interface bandwidth and NPE resources. For example, a user can request the use of a specific external port number in order to run a server that listens on that port at the user's GPE. Or a user may want to reserve resources in advance (e.g., port bandwidth and NPE fastpath).
That command line interface is currently provided through four programs: client, resrv, fltr_ipv4 and create_fp_ipv4. The client and resrv programs apply to any metanet while fltr_ipv4 and create_fp_ipv4 are specific to the IPv4 code option.
Program | Functionality |
---|---|
client | Interface information, endpoint management, fastpath management, queue management |
resrv | Resource reservation |
fltr_ipv4 | Filter management |
create_fp_ipv4 | Fastpath configuration, LD and EX traffic handling |
There will be other metanet-specific programs as other code options get developed. It is worth noting that all of these programs implement their functionallity by calling RMP library functions. The fact that these programs exist as separate programs is historic. For example, one could have a single ipv4_control program that included all of the functionality of these programs. Furthermore, a new code option such as vnet would have a vnet_control program that included the functionality in the client and resrv programs above and vnet-specific functionality for filters and handling LD and EX traffic. (Note: The programs fltr_ipv4 and create_fp_ipv4 were called fltr and create_fp respectively in The GEC4 Demo.)
Command Interface Syntax
The client and resrv commands use GNU-style long options (e.g., --cmd get_endpoint, --ipaddr 10.1.2.3). And although they both have a few arguments that controls their configuration (e.g., message log noise volume), this page only describes the user commands. In the descriptions below, the following metasymbols are used in the syntactic descriptions:
A | An IP address (e.g., 192.168.2.32) | K | The number of Kilobits per second | |
D | A date in YYYMMDDHHMMSS format | N | A number (non-negative) | |
F | A filename | P | Protocol number (e.g., 6 (TCP), 17 (UDP)) | |
I | An identifier or index | Q | Queue identifier |
When a command uses multiple instances of a metasymbol, quotes or integers may be used to distinguish each instance (e.g., N and N' or N1, N2 and N3).
Command Interface
Getting Interface Information
client --cmd get_ifaces
-
Display all interfaces
client --cmd get_ifpeer --ifn N
-
Display the peer of interface num N
client --cmd get_ifattrs --ifn N
-
Display the attributes of interface num N
client --cmd get_ifn --ipaddr A
-
Display the interface associated with IP address A
client --cmd get_endpoint --fpid I --mii I'
-
Display the endpoint associated with (fastpath I, meta-interface I')
Reservation Management
resrv --cmd get_resrvs
-
Display all slice reservations
resrv --cmd get_resrv [--date D]
-
Display slice reservation for period covered by date D (default: current).
Date format is YYYYMMDDHHMMSS.
resrv --cmd make_resrv --xfile F
-
Make a reservation described by XML file F
resrv --cmd cancel_resrv [--date D]
-
Cancel slice reservation for period covered by date D (default: current).
Date format is YYYYMMDDHHMMSS.
resrv --cmd update_resrv --xfile F
-
Update slice reservation described by XML file F
resrv --cmd alloc_plspec
-
Allocate GPE slice resources
resrv --cmd free_plspec
-
Free GPE slice resources
resrv --cmd free_fpspec --fpid I
-
Free fastpath slice resources for fastpath I
Endpoint Management
client --cmd alloc_endpoint --bw K --ipaddr A --port N --proto P
-
Create the K Kbps capacity LC endpoint (A, N, P)
client --cmd free_endpoint --ipaddr A --port N --proto P
-
Remove the K Kbps capacity LC endpoint (A, N, P)
Fastpath Management
client --cmd alloc_udp_tunnel --fpid I --bw K --ipaddr A --port N
-
Add (A, N) as a local end of a UDP tunnel with capacity K Kbps to fastpath I
client --cmd free_udp_tunnel --fpid I --ipaddr A --port N
-
Free (A, N) as a local end of a UDP tunnel
Queue Management
client --cmd get_queue_params --fpid I --qid Q
-
Get the threshold and bandwidth for (fastpath I, queue Q)
client --cmd get_queue_len --fpid I --qid Q
-
Get the length (bytes) of (fastpath I, queue Q)
client --cmd bind_queue --fpid I --miid I' --qid_list_type 0 --qid_list Q1 --qid_list Q2 ...
-
Bind queues Q1, Q2, ... to (fastpath I, meta-interface I')
client --cmd bind_queue --fpid I --miid I' --qid_list_type 1 --qid_list Q1 --qid_list Q2
-
Bind queues in the range Q1 to Q2-1 inclusive to (fastpath I, meta-interface I')
client --cmd set_queue_params --fpid I --qid Q --threshold B --bw K
-
Set the threshold and bandwidth of (fastpath I, queue I') to B bytes and K Kbps
Filter Management
xxx
Fastpath Creation
xxx
Examples
xxx