7. Command Reference

dis_ssocks_cfg

dis_ssocks_cfg is run on SuperSockets startup and passes the configuration data from /etc/dis/dishosts.conf, /etc/dis/supersockets_profiles.conf and /etc/dis/supersockets_ports.conf to the SuperSockets kernel module dis_ssocks. Whenever these files are changed, dis_ssocks_cfg needs to be run to propagate these changes into the kernel.

Supported options:

-v

verbose output

dis_ssocks_adm

dis_ssocks_adm allows to retrieve current configuration data from the kernel module dis_ssocks, and to perform certain administrative tasks.

Only one operation per invocation is supported:

-i

Show the current configuration status.

-m

List the mapping of IP addresses, or address masks, to PCI Express NodeIds.

-n

List the PCI Express NodeIds that the local node has recognized, and marks the local NodeId.

-p

Print the status of the configuration for enabled and disabled ports for SuperSockets.

-d

Print the status of the dynamic IP resolution. By default, SuperSockets are configured for static IP resolution.

-l

Print the local IP interfaces that SuperSockets has recognized.

Output verbosity:

-v

verbose output

Options not useful for typical user:

-u [0|1]

To keep configuration data persistent, the kernel module dis_ssocks is blocked from being unloaded if not in use. To manually unload the module, it needs to be unlocked via the option -u 0.

Note

The recommended way to control the SuperSockets service, including loading and unloading of the respective kernel modules, is to use the standard SMF for the service dis_supersockets.

-f

Print the index value for the AF_SSOCKS address family to stdout. The default value is 27, but SuperSockets will chose another available value if 27 is already in use.

-c [0|1]

Enable or disable kernel socket callbacks (default: disabled).

dis_ssocks_stat

dis_ssocks_stat allows to retrieve SuperSockets usage information and statistics.

-G

Show global SuperSockets usage counters for the different socket types STREAM, DGRAM and RDS. Every open socket is counted, no matter if it is connected or not.

-t

List details of open STREAM sockets.

-u

List details of open DGRAM and RDS sockets.

-x [0|1]

Enable or disable extended statistics. Enabling extended statistics has minor performance impacts (in the order of 100ns per operation).

-H

Generate a histogram for send() and receive() operations, accumulated for all SuperSockets sockets.

-r

Reset all statistics counters.

-v

more verbose output

dis_ssocks_stat

dis_ssocks_stat allows to retrieve SuperSockets usage information and statistics.

-G

Show global SuperSockets usage counters for the different socket types STREAM, DGRAM and RDS. Every open socket is counted, no matter if it is connected or not.

-t

List details of open STREAM sockets.

-u

List details of open DGRAM and RDS sockets.

-x [0|1]

Enable or disable extended statistics. Enabling extended statistics has minor performance impacts (in the order of 100ns per operation).

-H

Generate a histogram for send() and receive() operations, accumulated for all SuperSockets sockets.

-r

Reset all statistics counters.

-v

more verbose output

dis_ssocks_diag

dis_ssocks_diag allows to retrieve SuperSockets events and to perform internal diagnostics.

-E

Turn on event logging on all levels, and print all events to the console. Stopping the command via CTRL-C will turn off event logging.

-l [n|a|w|e]

Control event logging. Available logging levels are trace (socket creation, connection, accept and release), warning (fall-back connections and fail-over to Ethernet) and error (resource outage and other failures).

n

no logging

a

logging on all levels

w

logging of warnings and errors

e

logging of errors

-e

Get the next pending event. Will return immediately if no event is pending unless a timeout is specified (-t)

-t <timeout>

Specify timeout in seconds to wait for next event (-e). Timeout value of 0 specifies indefinite timeout.

-v

verbose output

The following options are not useful for the typical user, but can be useful in cooperation with Dolphin support or for developers:

-s [0|1|2]

Dump the status of STREAM sockets to the kernel log with different verbosity levels.

-w

Wakeup all connections.

-R [0|1|s]

Dump the status of DGRAM/RDS receive sockets to the kernel log.

-T [0|1]

Dump the status of DGRAM/RDS send sockets to the kernel log.

-d [0|c|t]

Control debug tracing of SuperSockets operation (off, common, transfer)

-f [n|s]

Explicit control of fall back (n) and fall forward (s) of all connected STREAM sockets.

dis_ssocks_rate

dis_ssocks_rate is a script that uses dis_ssocks_stat to continuously report on the receive (RX) and send (TX) data transfer rate on SuperSockets via PCI Express (and Ethernet for fall-back connections).

-d <seconds>

Delay in seconds between measurements. This will cause dis_ssocks_stat to loop until interrupted.

-t

Print time stamp next to measurement point.

-w

Print all output to a single line.

Example:

# dis_ssocks_stat -d 1 -t
(1 s) RX: 162.82 MB/s  TX: 165.43 MB/s  ( 0 B/s 0 B/s )   Mon Nov 12 17:59:33 CET 2007
(1 s) RX: 149.83 MB/s  TX: 168.65 MB/s  ( 0 B/s 0 B/s )   Mon Nov 12 17:59:34 CET 2007 
...

The first two pairs show the receive (RX) and send (TX) throughput via PCI Express of all sockets. The number pair in parentheses shows the throughput of sockets that operated by SuperSockets, but are currently in fall back (Ethernet) mode. Typically, there will be no fall back traffic.

dis_ssocks_run

dis_ssocks_run is a wrapper script to start applications that should use SuperSockets to accelerate its socket operations.