-<listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293292" xreflabel=""/><link xl:href="ConfigurationFilesModuleParameters.html#50438293_78010">Module Options</link></para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-</itemizedlist>
- <section remap="h2">
- <title><anchor xml:id="dbdoclet.50438293_pgfId-1293294" xreflabel=""/></title>
- <section remap="h2">
- <title>35.1 <anchor xml:id="dbdoclet.50438293_15350" xreflabel=""/>Introduction</title>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293295" xreflabel=""/>LNET network hardware and routing are now configured via module parameters. Parameters should be specified in the /etc/modprobe.conf file, for example:</para>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293296" xreflabel=""/>alias lustre llite
-<anchor xml:id="dbdoclet.50438293_pgfId-1293297" xreflabel=""/>options lnet networks=tcp0,elan0
-</screen>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293298" xreflabel=""/>The above option specifies that this node should use all the available TCP and Elan interfaces.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293299" xreflabel=""/>Module parameters are read when the module is first loaded. Type-specific LND modules (for instance, ksocklnd) are loaded automatically by the LNET module when LNET starts (typically upon modprobe ptlrpc).</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293300" xreflabel=""/>Under Linux 2.6, LNET configuration parameters can be viewed under /sys/module/; generic and acceptor parameters under LNET, and LND-specific parameters under the name of the corresponding LND.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293301" xreflabel=""/>Under Linux 2.4, sysfs is not available, but the LND-specific parameters are accessible via equivalent paths under /proc.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293302" xreflabel=""/>Important: All old (pre v.1.4.6) Lustre configuration lines should be removed from the module configuration files and replaced with the following. Make sure that CONFIG_KMOD is set in your linux.config so LNET can load the following modules it needs. The basic module files are:</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293303" xreflabel=""/>modprobe.conf (for Linux 2.6)</para>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293304" xreflabel=""/>alias lustre llite
-<anchor xml:id="dbdoclet.50438293_pgfId-1293305" xreflabel=""/>options lnet networks=tcp0,elan0
-</screen>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293306" xreflabel=""/>modules.conf (for Linux 2.4)</para>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293307" xreflabel=""/>alias lustre llite
-<anchor xml:id="dbdoclet.50438293_pgfId-1293308" xreflabel=""/>options lnet networks=tcp0,elan0
-</screen>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293309" xreflabel=""/>For the following parameters, default option settings are shown in parenthesis. Changes to parameters marked with a W affect running systems. (Unmarked parameters can only be set when LNET loads for the first time.) Changes to parameters marked with Wc only have effect when connections are established (existing connections are not affected by these changes.)</para>
- </section>
- <section remap="h2">
- <title>35.2 <anchor xml:id="dbdoclet.50438293_78010" xreflabel=""/>Module <anchor xml:id="dbdoclet.50438293_marker-1293311" xreflabel=""/>Options</title>
- <itemizedlist><listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293313" xreflabel=""/> With routed or other multi-network configurations, use ip2nets rather than networks, so all nodes can use the same configuration.</para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293314" xreflabel=""/> For a routed network, use the same “routes†configuration everywhere. Nodes specified as routers automatically enable forwarding and any routes that are not relevant to a particular node are ignored. Keep a common configuration to guarantee that all nodes have consistent routing tables.</para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293315" xreflabel=""/> A separate modprobe.conf.lnet included from modprobe.conf makes distributing the configuration much easier.</para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293316" xreflabel=""/> If you set config_on_load=1, LNET starts at modprobe time rather than waiting for Lustre to start. This ensures routers start working at module load time.</para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-</itemizedlist>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293317" xreflabel=""/># lctl
-<anchor xml:id="dbdoclet.50438293_pgfId-1293318" xreflabel=""/># lctl> net down
-</screen>
- <itemizedlist><listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293319" xreflabel=""/> Remember the lctl ping {nid} command - it is a handy way to check your LNET configuration.</para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-</itemizedlist>
- <section remap="h3">
- <title><anchor xml:id="dbdoclet.50438293_pgfId-1293321" xreflabel=""/>35.2.1 <anchor xml:id="dbdoclet.50438293_94707" xreflabel=""/>LNET <anchor xml:id="dbdoclet.50438293_marker-1293320" xreflabel=""/>Options</title>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293322" xreflabel=""/>This section describes LNET options.</para>
- <section remap="h4">
- <title><anchor xml:id="dbdoclet.50438293_pgfId-1293323" xreflabel=""/>35.2.1.1 Network Topology</title>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293324" xreflabel=""/>Network topology module parameters determine which networks a node should join, whether it should route between these networks, and how it communicates with non-local networks.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293362" xreflabel=""/>Here is a list of various networks and the supported software stacks:</para>
- <informaltable frame="all">
- <tgroup cols="2">
- <colspec colname="c1" colwidth="50*"/>
- <colspec colname="c2" colwidth="50*"/>
- <thead>
- <row>
- <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438293_pgfId-1293327" xreflabel=""/>Network</emphasis></para></entry>
- <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438293_pgfId-1293329" xreflabel=""/>Software Stack</emphasis></para></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1293343" xreflabel=""/>o2ib</para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1293345" xreflabel=""/>OFED Version 2</para></entry>
- </row>
- <row>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1293351" xreflabel=""/>mx</para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1293353" xreflabel=""/>Myrinet MX</para></entry>
- </row>
- <row>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1293355" xreflabel=""/>gm</para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1293357" xreflabel=""/>Myrinet GM-2</para></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <informaltable frame="none">
- <tgroup cols="1">
- <colspec colname="c1" colwidth="100*"/>
- <tbody>
- <row>
- <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438293_pgfId-1293363" xreflabel=""/>Lustre ignores the loopback interface (lo0), but Lustre use any IP addresses aliased to the loopback (by default). When in doubt, explicitly specify networks.</para></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293364" xreflabel=""/><emphasis role="bold">ip2nets</emphasis> ("") is a string that lists globally-available networks, each with a set of IP address ranges. LNET determines the locally-available networks from this list by matching the IP address ranges with the local IPs of a node. The purpose of this option is to be able to use the same modules.conf file across a variety of nodes on different networks. The string has the following syntax.</para>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293365" xreflabel=""/><ip2nets> :== <net-match> [ <comment> ] { <net-sep> <net-match> }
-<anchor xml:id="dbdoclet.50438293_pgfId-1293366" xreflabel=""/><net-match> :== [ <w> ] <net-spec> <w> <ip-range> { <w> <ip-range> }
-<anchor xml:id="dbdoclet.50438293_pgfId-1293367" xreflabel=""/>[ <w> ]
-<anchor xml:id="dbdoclet.50438293_pgfId-1293368" xreflabel=""/><net-spec> :== <network> [ "(" <interface-list> ")" ]
-<anchor xml:id="dbdoclet.50438293_pgfId-1293369" xreflabel=""/><network> :== <nettype> [ <number> ]
-<anchor xml:id="dbdoclet.50438293_pgfId-1293370" xreflabel=""/><nettype> :== "tcp" | "elan" | "openib" | ...
-<anchor xml:id="dbdoclet.50438293_pgfId-1293371" xreflabel=""/><iface-list> :== <interface> [ "," <iface-list> ]
-<anchor xml:id="dbdoclet.50438293_pgfId-1293372" xreflabel=""/><ip-range> :== <r-expr> "." <r-expr> "." <r-expr> "." <r-expr>
-<anchor xml:id="dbdoclet.50438293_pgfId-1293373" xreflabel=""/><r-expr> :== <number> | "*" | "[" <r-list> "]"
-<anchor xml:id="dbdoclet.50438293_pgfId-1293374" xreflabel=""/><r-list> :== <range> [ "," <r-list> ]
-<anchor xml:id="dbdoclet.50438293_pgfId-1293375" xreflabel=""/><range> :== <number> [ "-" <number> [ "/" <number> ] ]
-<anchor xml:id="dbdoclet.50438293_pgfId-1293376" xreflabel=""/><comment :== "#" { <non-net-sep-chars> }
-<anchor xml:id="dbdoclet.50438293_pgfId-1293377" xreflabel=""/><net-sep> :== ";" | "\n"
-<anchor xml:id="dbdoclet.50438293_pgfId-1293378" xreflabel=""/><w> :== <whitespace-chars> { <whitespace-chars> }
-</screen>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293379" xreflabel=""/><<emphasis role="bold">net-spec</emphasis>> contains enough information to uniquely identify the network and load an appropriate LND. The LND determines the missing "address-within-network" part of the NID based on the interfaces it can use.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293380" xreflabel=""/><<emphasis role="bold">iface-list</emphasis>> specifies which hardware interface the network can use. If omitted, all interfaces are used. LNDs that do not support the <iface-list> syntax cannot be configured to use particular interfaces and just use what is there. Only a single instance of these LNDs can exist on a node at any time, and <iface-list> must be omitted.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293381" xreflabel=""/><<emphasis role="bold">net-match</emphasis>> entries are scanned in the order declared to see if one of the node's IP addresses matches one of the <ip-range> expressions. If there is a match, <net-spec> specifies the network to instantiate. Note that it is the first match for a particular network that counts. This can be used to simplify the match expression for the general case by placing it after the special cases. For example:</para>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293382" xreflabel=""/>ip2nets="tcp(eth1,eth2) 134.32.1.[4-10/2]; tcp(eth1) *.*.*.*"
-</screen>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293383" xreflabel=""/>4 nodes on the 134.32.1.* network have 2 interfaces (134.32.1.{4,6,8,10}) but all the rest have 1.</para>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293384" xreflabel=""/>ip2nets="<emphasis role="bold">vib</emphasis> 192.168.0.*; tcp(eth2) 192.168.0.[1,7,4,12]"
-</screen>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293385" xreflabel=""/>This describes an IB cluster on 192.168.0.*. Four of these nodes also have IP interfaces; these four could be used as routers.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293386" xreflabel=""/>Note that match-all expressions (For instance, *.*.*.*) effectively mask all other</para>
- <para> <net-match> entries specified after them. They should be used with caution.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293387" xreflabel=""/>Here is a more complicated situation, the route parameter is explained below. We have:</para>
- <itemizedlist><listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293388" xreflabel=""/> Two TCP subnets</para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293389" xreflabel=""/> One Elan subnet</para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293390" xreflabel=""/> One machine set up as a router, with both TCP and Elan interfaces</para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293391" xreflabel=""/> IP over Elan configured, but only IP will be used to label the nodes.</para>
- </listitem>
-<listitem>
- <para> </para>
- </listitem>
-</itemizedlist>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293392" xreflabel=""/>options lnet ip2nets=â€tcp 198.129.135.* 192.128.88.98; \
- elan 198.128.88.98 198.129.135.3; \
- routes=â€tcp 1022@elan # Elan NID of router; \
- elan 198.128.88.98@tcp # TCP NID of router “
-</screen>
- </section>
- <section remap="h4">
- <title><anchor xml:id="dbdoclet.50438293_pgfId-1293393" xreflabel=""/>35.2.1.2 networks ("tcp")</title>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293394" xreflabel=""/>This is an alternative to "ip2nets" which can be used to specify the networks to be instantiated explicitly. The syntax is a simple comma separated list of <net-spec>s (see above). The default is only used if neither “ip2nets†nor “networks†is specified.</para>
- </section>
- <section remap="h4">
- <title><anchor xml:id="dbdoclet.50438293_pgfId-1293395" xreflabel=""/>35.2.1.3 routes (“â€)</title>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293396" xreflabel=""/>This is a string that lists networks and the NIDs of routers that forward to them.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293397" xreflabel=""/>It has the following syntax (<w> is one or more whitespace characters):</para>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293398" xreflabel=""/><routes> :== <route>{ ; <route> }
-<anchor xml:id="dbdoclet.50438293_pgfId-1293399" xreflabel=""/><route> :== [<net>[<w><hopcount>]<w><nid>{<w><nid>}
-</screen>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293400" xreflabel=""/>So a node on the network tcp1 that needs to go through a router to get to the Elan network:</para>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293401" xreflabel=""/>options lnet networks=tcp1 routes="elan 1 192.168.2.2@tcp1â€
-</screen>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293402" xreflabel=""/>The hopcount is used to help choose the best path between multiply-routed configurations.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293403" xreflabel=""/>A simple but powerful expansion syntax is provided, both for target networks and router NIDs as follows.</para>
- <screen><anchor xml:id="dbdoclet.50438293_pgfId-1293404" xreflabel=""/><expansion> :== "[" <entry> { "," <entry> } "]"
-<anchor xml:id="dbdoclet.50438293_pgfId-1293405" xreflabel=""/><entry> :== <numeric range> | <non-numeric item>
-<anchor xml:id="dbdoclet.50438293_pgfId-1293406" xreflabel=""/><numeric range> :== <number> [ "-" <number> [ "/" <number> ] ]
-</screen>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293407" xreflabel=""/>The expansion is a list enclosed in square brackets. Numeric items in the list may be a single number, a contiguous range of numbers, or a strided range of numbers. For example, routes="elan 192.168.1.[22-24]@tcp" says that network elan0 is adjacent (hopcount defaults to 1); and is accessible via 3 routers on the tcp0 network (192.168.1.22@tcp, 192.168.1.23@tcp and 192.168.1.24@tcp).</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293408" xreflabel=""/>routes="[tcp,<emphasis role="bold">vib</emphasis>] 2 [8-14/2]@elan" says that 2 networks (tcp0 and vib0) are accessible through 4 routers (8@elan, 10@elan, 12@elan and 14@elan). The hopcount of 2 means that traffic to both these networks will be traversed 2 routers - first one of the routers specified in this entry, then one more.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293409" xreflabel=""/>Duplicate entries, entries that route to a local network, and entries that specify routers on a non-local network are ignored.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293410" xreflabel=""/>Equivalent entries are resolved in favor of the route with the shorter hopcount. The hopcount, if omitted, defaults to 1 (the remote network is adjacent).</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293411" xreflabel=""/>It is an error to specify routes to the same destination with routers on different local networks.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293412" xreflabel=""/>If the target network string contains no expansions, then the hopcount defaults to 1 and may be omitted (that is, the remote network is adjacent). In practice, this is true for most multi-network configurations. It is an error to specify an inconsistent hop count for a given target network. This is why an explicit hopcount is required if the target network string specifies more than one network.</para>
- </section>
- <section remap="h4">
- <title><anchor xml:id="dbdoclet.50438293_pgfId-1293413" xreflabel=""/>35.2.1.4 forwarding ("")</title>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293414" xreflabel=""/>This is a string that can be set either to "enabled" or "disabled" for explicit control of whether this node should act as a router, forwarding communications between all local networks.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293415" xreflabel=""/>A standalone router can be started by simply starting LNET (“modprobe ptlrpcâ€) with appropriate network topology options.</para>
- <informaltable frame="all">
- <tgroup cols="2">
- <colspec colname="c1" colwidth="50*"/>
- <colspec colname="c2" colwidth="50*"/>
- <thead>
- <row>
- <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438293_pgfId-1294462" xreflabel=""/>Variable</emphasis></para></entry>
- <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438293_pgfId-1294464" xreflabel=""/>Description</emphasis></para></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294507" xreflabel=""/>acceptor</para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294509" xreflabel=""/> The acceptor is a TCP/IP service that some LNDs use to establish communications. If a local network requires it and it has not been disabled, the acceptor listens on a single port for connection requests that it redirects to the appropriate local network. The acceptor is part of the LNET module and configured by the following options:</para><itemizedlist><listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1294510" xreflabel=""/><emphasis role="bold">secure</emphasis> - Accept connections only from reserved TCP ports (< 1023).</para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1294511" xreflabel=""/><emphasis role="bold">all</emphasis> - Accept connections from any TCP port. NOTE: this is required for liblustre clients to allow connections on non-privileged ports.</para>
- </listitem>
-<listitem>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1294512" xreflabel=""/><emphasis role="bold">none</emphasis> - Do not run the acceptor.</para>
- </listitem>
-</itemizedlist></entry>
- </row>
- <row>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294514" xreflabel=""/>accept_port</para><para> (988)</para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294516" xreflabel=""/> Port number on which the acceptor should listen for connection requests. All nodes in a site configuration that require an acceptor must use the same port.</para></entry>
- </row>
- <row>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294522" xreflabel=""/>accept_backlog</para><para> (127)</para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294524" xreflabel=""/>Maximum length that the queue of pending connections may grow to (see listen(2)).</para></entry>
- </row>
- <row>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294526" xreflabel=""/>accept_timeout</para><para> (5, W)</para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294528" xreflabel=""/>Maximum time in seconds the acceptor is allowed to block while communicating with a peer.</para></entry>
- </row>
- <row>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294530" xreflabel=""/>accept_proto_version</para></entry>
- <entry><para> <anchor xml:id="dbdoclet.50438293_pgfId-1294532" xreflabel=""/> Version of the acceptor protocol that should be used by outgoing connection requests. It defaults to the most recent acceptor protocol version, but it may be set to the previous version to allow the node to initiate connections with nodes that only understand that version of the acceptor protocol. The acceptor can, with some restrictions, handle either version (that is, it can accept connections from both 'old' and 'new' peers). For the current version of the acceptor protocol (version 1), the acceptor is compatible with old peers if it is only required by a single local network.</para></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293446" xreflabel=""/></para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293447" xreflabel=""/></para>
- </section>
- </section>
- <section remap="h3">
- <title><anchor xml:id="dbdoclet.50438293_pgfId-1293449" xreflabel=""/>35.2.2 SOCKLND <anchor xml:id="dbdoclet.50438293_marker-1293448" xreflabel=""/>Kernel TCP/IP LND</title>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293450" xreflabel=""/>The SOCKLND kernel TCP/IP LND (socklnd) is connection-based and uses the acceptor to establish communications via sockets with its peers.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293451" xreflabel=""/>It supports multiple instances and load balances dynamically over multiple interfaces. If no interfaces are specified by the ip2nets or networks module parameter, all non-loopback IP interfaces are used. The address-within-network is determined by the address of the first IP interface an instance of the socklnd encounters.</para>
- <para><anchor xml:id="dbdoclet.50438293_pgfId-1293452" xreflabel=""/>Consider a node on the “edge†of an InfiniBand network, with a low-bandwidth management Ethernet (eth0), IP over IB configured (ipoib0), and a pair of GigE NICs (eth1,eth2) providing off-cluster connectivity. This node should be configured with "networks=<emphasis role="bold">vib</emphasis>,tcp(eth1,eth2)†to ensure that the socklnd ignores the management Ethernet and IPoIB.</para>