ibroute(8) query InfiniBand switch forwarding tables


ibroute [-d(ebug)] [-a(ll)] [-n(o_dests)] [-v(erbose)] [-D(irect)] [-G(uid)] [-M(ulticast)] [-s smlid] [-C ca_name] [-P ca_port] [-t(imeout) timeout_ms] [-V(ersion)] [-h(elp)] [<dest dr_path|lid|guid> [<startlid> [<endlid>]]]


ibroute uses SMPs to display the forwarding tables (unicast (LinearForwardingTable or LFT) or multicast (MulticastForwardingTable or MFT)) for the specified switch LID and the optional lid (mlid) range. The default range is all valid entries in the range 1...FDBTop.


-a, --all
show all lids in range, even invalid entries
-n, --no_dests
do not try to resolve destinations
-M, --Multicast
show multicast forwarding tables In this case, the range parameters are specifying the mlid range.


Most OpenIB diagnostics take the following common flags. The exact list of supported flags per utility can be found in the usage message and can be shown using the util_name -h syntax.

# Debugging flags

-d raise the IB debugging level.
        May be used several times (-ddd or -d -d -d).

-e show send and receive errors (timeouts and others)

-h show the usage message

-v increase the application verbosity level.
        May be used several times (-vv or -v -v -v)

-V show the version info.

# Addressing flags

-D use directed path address arguments. The path
        is a comma separated list of out ports.
        "0"             # self port
        "0,1,2,1,4"     # out via port 1, then 2, ...

-G use GUID address argument. In most cases, it is the Port GUID.

-s <smlid> use 'smlid' as the target lid for SM/SA queries.

# Other common flags:

-C <ca_name> use the specified ca_name.

-P <ca_port> use the specified ca_port.

-t <timeout_ms> override the default timeout for the solicited mads.

Multiple CA/Multiple Port Support

When no IB device or port is specified, the port to use is selected by the following criteria:

1. the first port that is ACTIVE.

2. if not found, the first port that is UP (physical link up).

If a port and/or CA name is specified, the user request is attempted to be fulfilled, and will fail if it is not possible.


Unicast examples

ibroute 4 # dump all lids with valid out ports of switch with lid 4

ibroute -a 4 # same, but dump all lids, even with invalid out ports

ibroute -n 4 # simple dump format - no destination resolution

ibroute 4 10 # dump lids starting from 10 (up to FDBTop)

ibroute 4 0x10 0x20 # dump lid range

ibroute -G 0x08f1040023 # resolve switch by GUID

ibroute -D 0,1 # resolve switch by direct path

Multicast examples

ibroute -M 4 # dump all non empty mlids of switch with lid 4

ibroute -M 4 0xc010 0xc020 # same, but with range

ibroute -M -n 4 # simple dump format


Hal Rosenstock
<[email protected]>