IBROUTE(8)

NAME
ibroute - query InfiniBand switch forwarding tables

SYNOPSIS

ibroute [options] [<dest dr_path|lid|guid> [<startlid> [<endlid>]]]

DESCRIPTION

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.

OPTIONS

    -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.

  Addressing Flags

-D, --Direct The address specified is a directed route

        Examples:
           [options] -D [options] "0"          # self port
           [options] -D [options] "0,1,2,1,4"  # out via port 1, then 2, ...

           (Note the second number in the path specified must match the port being
           used.  This can be specified using the port selection flag '-P' or the
           port found through the automatic selection process.)

-G, --Guid The address specified is a Port GUID

-L, --Lid The address specified is a LID

-s, --sm_port <smlid> use 'smlid' as the target lid for SA queries.

  Port Selection flags

-C, --Ca <ca_name> use the specified ca_name.

-P, --Port <ca_port> use the specified ca_port.

  Local port Selection

Multiple port/Multiple CA support: when no IB device or port is specified (see the "local umad parameters" below), the libibumad library selects the port to use 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 libibumad library attempts to fulfill the user request, and will fail if it is not possible.

        For example:

                ibaddr                 # use the first port (criteria #1 above)
                ibaddr -C mthca1       # pick the best port from "mthca1" only.
                ibaddr -P 2            # use the second (active/up) port from the first available IB device.
                ibaddr -C mthca0 -P 2  # use the specified port only.

  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, --help show the usage message

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

-V, --version show the version info.

  Configuration flags

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

    -y, --m_key <key>
        use the specified M_key for requests. If non-numeric value (like 'x') is specified then a value will be prompted for.

--node-name-map <node-name-map> Specify a node name map.
        This file maps GUIDs to more user friendly names. See FILES section.

--config, -z <config_file> Specify alternate config file.
        Default: /etc/infiniband-diags/ibdiag.conf

FILES

  CONFIG FILE

/etc/infiniband-diags/ibdiag.conf

A global config file is provided to set some of the common options for all tools. See supplied config file for details.

  NODE NAME MAP FILE FORMAT

The node name map is used to specify user friendly names for nodes in the output. GUIDs are used to perform the lookup.

This functionality is provided by the opensm-libs package. See opensm(8) for the file location for your installation.

Generically:

        # comment
        <guid> "<name>"

Example:

        # IB1
        # Line cards
        0x0008f104003f125c "IB1 (Rack 11 slot 1   ) ISR9288/ISR9096 Voltaire sLB-24D"
        0x0008f104003f125d "IB1 (Rack 11 slot 1   ) ISR9288/ISR9096 Voltaire sLB-24D"
        0x0008f104003f10d2 "IB1 (Rack 11 slot 2   ) ISR9288/ISR9096 Voltaire sLB-24D"
        0x0008f104003f10d3 "IB1 (Rack 11 slot 2   ) ISR9288/ISR9096 Voltaire sLB-24D"
        0x0008f104003f10bf "IB1 (Rack 11 slot 12  ) ISR9288/ISR9096 Voltaire sLB-24D"

        # Spines
        0x0008f10400400e2d "IB1 (Rack 11 spine 1   ) ISR9288 Voltaire sFB-12D"
        0x0008f10400400e2e "IB1 (Rack 11 spine 1   ) ISR9288 Voltaire sFB-12D"
        0x0008f10400400e2f "IB1 (Rack 11 spine 1   ) ISR9288 Voltaire sFB-12D"
        0x0008f10400400e31 "IB1 (Rack 11 spine 2   ) ISR9288 Voltaire sFB-12D"
        0x0008f10400400e32 "IB1 (Rack 11 spine 2   ) ISR9288 Voltaire sFB-12D"

        # GUID   Node Name
        0x0008f10400411a08 "SW1  (Rack  3) ISR9024 Voltaire 9024D"
        0x0008f10400411a28 "SW2  (Rack  3) ISR9024 Voltaire 9024D"
        0x0008f10400411a34 "SW3  (Rack  3) ISR9024 Voltaire 9024D"
        0x0008f104004119d0 "SW4  (Rack  3) ISR9024 Voltaire 9024D"

EXAMPLES

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

SEE ALSO

ibtracert (8)

AUTHOR

    Hal Rosenstock
        < halr@voltaire.com >