<para>This is a string that lists networks and the NIDs of routers that forward to them.</para>
<para>It has the following syntax (<literal><w></literal> is one or more whitespace characters):</para>
<screen><routes> :== <route>{ ; <route> }
-<route> :== [<net>[<w><hopcount>]<w><nid>{<w><nid>}</screen>
+<route> :== [<net>[<w><hopcount>]<w><nid>[:<priority>]{<w><nid>[:<priority>]}</screen>
+ <para>Note: the priority parameter was added in release 2.5.</para>
<para>So a node on the network <literal>tcp1</literal> that needs to go through a router to get to the Elan network:</para>
<screen>options lnet networks=tcp1 routes="elan 1 192.168.2.2@tcpA"</screen>
- <para>The hopcount is used to help choose the best path between multiply-routed configurations.</para>
+ <para>The hopcount and priority numbers are used to help choose the best path between multiply-routed configurations.</para>
<para>A simple but powerful expansion syntax is provided, both for target networks and router NIDs as follows.</para>
<screen><expansion> :== "[" <entry> { "," <entry> } "]"
<entry> :== <numeric range> | <non-numeric item>
<para>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, <literal>routes="elan 192.168.1.[22-24]@tcp"</literal> says that network <literal>elan0</literal> is adjacent (hopcount defaults to 1); and is accessible via 3 routers on the <literal>tcp0</literal> network (<literal>192.168.1.22@tcp</literal>, <literal>192.168.1.23@tcp</literal> and <literal>192.168.1.24@tcp</literal>).</para>
<para><literal>routes="[tcp,vib] 2 [8-14/2]@elan"</literal> says that 2 networks (<literal>tcp0</literal> and <literal>vib0</literal>) are accessible through 4 routers (<literal>8@elan</literal>, <literal>10@elan</literal>, <literal>12@elan</literal> and <literal>14@elan</literal>). 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>Duplicate entries, entries that route to a local network, and entries that specify routers on a non-local network are ignored.</para>
- <para>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>Prior to release 2.5, a conflict between equivalent entries was resolved in favor of the route with the shorter hopcount. The hopcount, if omitted, defaults to 1 (the remote network is adjacent)..</para>
+ <para condition='125'>Since 2.5, equivalent entries are resolved in favor of the route with the lowest priority number or shorter hopcount if the priorities are equal. The priority, if omitted, defaults to 0. The hopcount, if omitted, defaults to 1 (the remote network is adjacent).</para>
<para>It is an error to specify routes to the same destination with routers on different local networks.</para>
<para>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>
<screen>options lnet networks=tcp0(eth1)</screen>
<para>Depending on the network design, it may be necessary to specify explicit interfaces. To explicitly specify that interface <literal>eth2</literal> be used for network <literal>tcp0</literal> and <literal>eth3</literal> be used for <literal>tcp1</literal> , use this entry:</para>
<screen>options lnet networks=tcp0(eth2),tcp1(eth3)</screen>
- <para>When more than one interface is available during the network setup, Lustre chooses the best route based on the hop count. Once the network connection is established, Lustre expects the network to stay connected. In a Lustre network, connections do not fail over to another interface, even if multiple interfaces are available on the same node.</para>
+ <para>When more than one interface is available during the network setup, Lustre chooses the best route based on the hopcount. Once the network connection is established, Lustre expects the network to stay connected. In a Lustre network, connections do not fail over to another interface, even if multiple interfaces are available on the same node.</para>
+ <para condition='l25'>Since version 2.5 of the Lustre software, the route priority is also used to decide which interface to use. The priority has precendence over hopcount so the route with the lower priority number will be selected regardless of what the hopcounts are.</para>
<note>
<para>LNET lines in <literal>lustre.conf</literal> are only used by the local node to determine what to call its interfaces. They are not used for routing decisions.</para>
</note>