Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Thursday, June 13, 2019
 
 

soconfig(8)

Name

soconfig - configure transport providers for use by sockets

Synopsis

/usr/sbin/soconfig -d dir
/usr/sbin/soconfig -f file
/usr/sbin/soconfig -F name [[-h hint] [-m modname]
     -t family:type:protocol[,...]]
/usr/sbin/soconfig family type protocol [module | path]
/usr/sbin/soconfig -l [-np]

Description

The soconfig utility configures the transport provider driver for use with sockets. It specifies how the family, type, and protocol parameters in the socket(3C) call are mapped to the name of a transport provider such as /dev/tcp. This utility can be used to add an additional mapping or remove a previous mapping.

The soconfig utility is also used to configure socket filters.

The init(8) utility uses soconfig with the sock2path.d(5) file during the booting sequence.

Options

The following options are supported:

–d dir

Set up the soconfig configuration for each driver according to the information stored in the files in dir.

–f file

Set up the soconfig configuration for each driver according to the information stored in file. A soconfig file consists of lines of at least the first three fields listed below, separated by spaces:

family type protocol [module | path]

These fields are described in the OPERANDS section below.

An example of file can be found in the EXAMPLES section below.

–F name [[–h hint] [–m modname] –t family:type:protocol[,...]]

Update socket filter configuration. If only the name is specified, then the filter is unconfigured. Otherwise, the filter will be configured.

The following are options associated with the –F option.

–h hint

Placement hint for the filter. If the placement cannot be satisfied, then the configuration request will fail. The hint can be one of the following:

top

The filter should be placed on top, closest to the socket.

bottom

The filter should be placed on the bottom, closest to the protocol.

above:name

The filter should be placed above the filter specified by name. The filter will lie closer to the socket than name.

below:name

The filter should be placed below the filter specified by name. The filter will lie closer to the socket than name.

–m modname

Name of the filter module. The module must be located in the socketmod namespace. If unspecified, then the module name is expected to be the same as the filter name.

–t family:type:protocol[,...]

Socket tuple for the filter. The fields making up the tuple are described in the OPERANDS section. The configuration will fail if any of the socket tuples refer to a socket that uses a transport provider that does not support socket filters. STREAMS-based transport providers are not supported by socket filters.

–l [–np]

Dump the in-kernel socket configuration table. This option has the following suboptions:

–n

Do not convert socket family, type, and protocol to string representation.

–p

Display machine-parseable output.

Operands

The following operands are supported:

family

The protocol family as listed in the /usr/include/sys/socket.h file, expressed as an integer. This file is contained in the system/header package, which might not be part of your Solaris distribution.

type

The socket type as listed in the /usr/include/sys/socket.h file, expressed as an integer. This file is contained in the system/header package, which might not be part of your Solaris distribution.

protocol

The protocol number as specified in the family-specific include file, expressed as an integer. For example, for AF_INET this number is specified in /usr/include/netinet/in.h. An unspecified protocol number is denoted with the value zero.

module | path

The module name or path name of a device that corresponds to the transport provider, such as tcp or /dev/tcp. Modules must reside in kernel/socketmod. A device name must begin with /dev. If this parameter is specified, the configuration will be added for the specified family, type, and protocol. If this parameter is not specified, the configuration will be removed.

Examples

Example 1 Setting Up a Module

The following example sets up a module for family AF_INET and type SOCK_STREAM:

example# soconfig 2 2 0 tcp

The following example sets up /dev/tcp for family AF_INET and type SOCK_STREAM:

example# soconfig 2 2 0 /dev/tcp

The following is a sample file used with the –f option. Comment lines begin with a hash mark (#):

#   Family  Type  Protocol   Module | Path
      2       2       0          tcp
      2       2       6          tcp

      2       1       0          udp
      2       1       17         udp

      1       2       0          /dev/ticotsord
      1       1       0          /dev/ticlts

      2       4       0          icmp
Example 2 Configuring a Socket Filter

The following command configures a socket filter, foo, which has the loadable module named foomod. The filter will automatically be attached to all AF_INET TCP sockets.

example# soconfig -F foo -m foomod -t 2:2:0,2:2:6

The following command unconfigures the filter foo.

example# soconfig -F foo

Files

/etc/sock2path.d

Directory containing files with mappings from sockets to transport providers.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/network

See Also

sock2path.d(5), attributes(7), init(8)