Section 8 · System administration

smc_run.8

Package: smc-tools

SMC_RUN

NAME
SYNOPSIS
DESCRIPTION
RETURN CODES
EXAMPLES
SEE ALSO


NAME

smc_run − start a TCP socket program with the capability to use SMC as networking protocol

SYNOPSIS

smc_run [−dhrtv][−r SIZE] [-t SIZE] program parameters

DESCRIPTION

smc_run starts a program specified as argument with its parameters, allowing to use the SMC protocol for program-used TCP socket connections.
The script specifies libsmc-preload.so as a preload shared library for the Linux program loader, and may adjust transmit and receive buffer sizes to SIZE by setting socket options SO_RCVBUF and SO_SNDBUF respectively. SIZE can be specified in Bytes or using metric prefixes k and m, e.g. 8k…1024k/1m.
The preload library libsmc-preload.so intercepts a few TCP socket calls and triggers the equivalent execution through SMC.
Note: If it is not possibile to use smc_run, the libsmc-preload.so may be installed as apreload library via environment variable LD_PRELOAD. Use environment varibles SMC_SNDBUF and SMC_RCVBUF to request specific transmit and receive buffer sizes respectively. Supports metric prefixes k and m.

The following options can be specified:

−dDisplay additional diagnostic messages during the program execution.
−hDisplay a brief usage information.

−r SIZE

Request receive buffer size SIZE. **
Notes**:

•May be overridden by the application.
•Increases net.core.rmem_max if necessary.

−t SIZE

Request transmit buffer size SIZE. **
Notes**:

•May be overridden by the application.
•Increases net.core.wmem_max if necessary.
−v

Display version information.

RETURN CODES

On success, the smc_run command returns 0. If an error occurs smc_run writes a message to stdout and completes with a return code other than 0.

1An invalid option was specified.

EXAMPLES

Run program foo using SMC, requesting a receive buffer size of 512KB

$ smc_run -r 512k ./foo

SEE ALSO

af_smc(7), smc_chk(8) smc_pnet(8), smc_rnics(8), smcd(8), smcr(8), smcss(8), tcp(7)