Your company here ā€” click to reach over 10,000 unique daily visitors

smc_run - Man Page

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


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


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:


Display additional diagnostic messages during the program execution.


Display a brief usage information.


Request receive buffer size SIZE.

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

Request transmit buffer size SIZE.

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

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.


An invalid option was specified.


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)

Referenced By

af_smc(7), smc_pnet(8), smcss(8).

January 2017 smc-tools Linux Programmer's Manual