smc_pnet - Man Page

create, destroy, and change the SMC PNET table


smc_pnet { -a | --add <pnetid> } { -I | --interface <ethernet-interface> }

smc_pnet { -a | --add <pnetid> } { -D | --ibdevice <infiniband-or-ISM-device> } [ -P | --ibport <infiniband-port> ]

smc_pnet { -a | --add <pnetid> } { -I | --interface <ethernet-interface> } { -D | --ibdevice <infiniband-or-ISM-device> } [ -P | --ibport <infiniband-port> ]

smc_pnet { -s | --show <pnetid> }

smc_pnet { -d | --delete <pnetid> }

smc_pnet { -f | --flush }

smc_pnet { -v | --version }

smc_pnet { -h | --help }


The SMC protocol requires grouping of standard Ethernet and RoCE networks or ISM devices. Such groups are called Physical Networks (PNETs). The mapping is configured within a table called pnet table. Any available Ethernet interface can be combined with an available RDMA-capable network interface card (RNIC) or a DMA-capable ISM device, if they belong to the same Converged Ethernet fabric. To configure mapping of a RoCE Adapter port or an ISM device to a standard Ethernet interface, both devices need to have the same PNET ID; either hardware-defined or user-defined using the pnet table. Hardware-defined PNET IDs cannot be overwritten.

The smc_pnet command configures the pnet table.


By default, smc_pnet shows all entries of the pnet table.


defines a name for a grouping of Ethernet interface and RNICs or ISM devices. A PNET ID consists of up to 16 alphanumeric uppercase characters without blanks.

-a,  --add

creates a new PNET ID definition to the pnet table (if it does not already exist). Only one PNET ID can be defined for a certain Ethernet interface, a certain InfiniBand device port or a certain ISM device. Adding more than one PNET ID fails. Hardware defined PNET IDs cannot be overwritten.

-s,  --show

shows a certain PNET ID definition in the pnet table.

-d,  --delete

deletes an existing PNET ID definition from the pnet table.

-f,  --flush

removes all PNET ID definitions from the pnet table.

-I,  --interface <ethernet-interface>

specifies the name of the Ethernet interface to be added for a certain PNET ID definition.

-D,  --ibdevice <infiniband-or-ISM-device>

specifies the ID of the InfiniBand device or ISM device.

-P,  --ibport <infiniband-port>

specifies the port number of the InfiniBand device port. Valid numbers are 1 or 2. The default value is 1.

-v,  --version

displays smc_pnet program version.

-h,  --help

displays a brief smc_pnet usage information.


Define PNET ID ABC for the ethernet device names encf500 and bond0, and define PNET ID ABC for the InfiniBand device ID 0001:00:00.0 (port 2) and the ISM device ID 0004:00:00.0:

$ smc_pnet -a ABC -I encf500
$ smc_pnet -a ABC -I bond0
$ smc_pnet -a ABC -D 0001:00:00:00.0 -P 2
$ smc_pnet -a ABC -D 0004:00:00:00.0

Show all pnet table entries:

$ smc_pnet
ABC encf500 n/a 255
ABC bond0 n/a 255
ABC n/a 0001:00:00.0 2
ABC n/a 0004:00:00.0 1

Define PNET ID XYZ for the ethernet interface name vlan0201 and the InfiniBand device ID 0001:00:00.0 (port 1):

$ smc_pnet -a XYZ -I vlan0201 -D 0001:00:00.0 -P 1

Show all entries for PNET ID XYZ:

$ smc_pnet -s XYZ
XYZ vlan0201 n/a 255
XYZ n/a 0001:00:00.0 1

Delete all pnet table entries with PNET ID named ABC:

$ smc_pnet -d ABC

Delete all entries in the pnet table:

$ smc_pnet -f

Return Codes

Successful smc_pnet commands return 0. If an error occurs, smc_pnet writes a message to stderr and  completes with a return code other than 0.

See Also

af_smc(7), smc_chk(8) smc_rnics(8), smc_run(8), smcd(8), smcr(8), smcss(8)

Referenced By

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

January 2017 smc-tools Linux Programmer's Manual