2 .TH lnetctl 8 "2017 Jan 12" Lustre "configuration utilities"
8 .B lnetctl --list-commands
10 \fBlnetctl\fR \fB<cmd> <subcmd> [optional parameters]\fR
14 \fBlnetctl\fR is used to configure LNet parameters allowing various configuration
15 and debugging features to be accessed\.
18 \fBlnetctl\fR can be invoked in interactive mode by issuing lnetctl command\.
19 After that, commands are issued as below\.
22 To get a complete listing of available commands, type
24 at the lnetctl prompt\. To get basic help on the meaning and syntax of a command
25 type \fB<command>\fR \-\-help\.
28 For non\-interactive use the \fBlnetctl\fR utility can be invoked from the
29 command line as follows:
32 lnetctl \fIcommand\fR \fIsubcommand\fR [optional parameters]
34 .SS "LNet Initialization:"
37 \fBlnetctl lnet\fR configure [\-\-all]
38 Brings up the LNet Network Interface (NI) system\. If the \-\-all option is
39 provided it will load network interfaces defined in the modprobe files\.
40 Otherwise, it doesn\'t initialize any networks by default\.
43 \fBlnetctl lnet\fR unconfigure
44 Brings down the LNet Network Interface (NI) system including any configured
47 .SS "Network Configuration"
51 Configures a network interface either given the network name and physical
52 interface device name, or given the ip2net parameter\. Other parameters
56 \-\-net: net name (e.g. tcp0)
59 \-\-if: physical interface (e.g. eth0)
62 \-\-ip2net: specify networks based on IP address patterns
65 \-\-peer\-timeout: time to wait before declaring a peer dead (in seconds).
66 Default value for o2iblnd and socklnd is 180 seconds.
69 \-\-peer\-credits: define the max number of in\-flight messages per peer.
72 \-\-peer\-buffer\-credits: the max number of routed in\-flight messages
76 \-\-credits: The total number of in\-flight messages over a network interface.
79 \-\-cpt: The CPU partitions on which the created network interface is bound to.
80 Refer to the Lustre Manual Section "Binding Network Interface Against CPU
81 Partitions" for more details. For example to bind a Network Interface to
82 CPU partitions 0 and 1, you would specify this parameter as \-\-cpt [0,
90 Delete a network interface given the network name\.
93 \-\-net: net name (e.g. tcp0)
99 \fBlnetctl net\fR show
100 Show all currently configured network interfaces if no parameters given or filter
101 on the network name\. More details can be shown by specifying the \-\-verbose
105 \-\-net: net name (e.g. tcp0) to filter on
108 \-\-verbose: display detailed output per network
111 .SS "Peer Configuration"
113 \fBlnetctl peer\fR add
114 Configure an LNET peer with at least one supplied NID\. The primary NID must be specified. By default, peers are marked as multi-rail capable\.
118 \-\-nid: one or more peer NIDs to add to the peer\.
122 \-\-prim_nid: Primary NID of the peer\.
125 \-\-non_mr: create this peer as not Multi-Rail capable\.
130 \fBlnetctl peer\fR del
131 Delete a peer NID. The primary NID must be specified. If the removed NID is the primary NID, the peer entry will be deleted.
135 \-\-nid: one or more peer NIDs to remove from the peer\.
139 \-\-prim_nid: Primary NID of the peer\.
144 \fBlnetctl peer\fR show
145 Show configured peers. By default, lists all peers and associated NIDs.
149 \-\-nid: list of primary nids to filter on
153 \-\-verbose: Include extended statistics, including credits and counters.
158 .SS "Route Configuration"
161 \fBlnetctl route\fR add
165 \-\-net: net name (e.g. tcp0)
168 \-\-gateway: gateway nid (e.g. 10\.1\.1\.2@tcp)
171 \-\-hop: number to final destination (1 < hops < 255)
174 \-\-priority: priority of route (0 \- highest prio)
180 \fBlnetctl route\fR del
181 Delete a route specified via the network and gateway\.
184 \-\-net: net name (e.g. tcp0)
187 \-\-gateway: gateway nid (e.g. 10\.1\.1\.2@tcp)
193 \fBlnetctl route\fR show
194 Show all currently configured routes if no parameters given, or filter on
195 given parameters\. More details can be shown by specifying the \-\-verbose
199 \-\-net: net name (e.g. tcp0) to filter on
202 \-\-gateway: gateway nid (e.g. 10\.1\.1\.2@tcp) to filter on
205 \-\-hop: number to final destination (1 < hops < 255) to filter on
208 \-\-priority: priority of route (0 \- highest prio to filter on)
211 \-\-verbose: display detailed output per route
216 .SS "Routing Information"
219 \fBlnetctl routing\fR show
220 Show router buffers values as well as show the status of routing (IE: whether
221 the node is set to be a router)
224 Individual values can be set using the \fBlnetctl set\fR command\.
227 \fBlnetctl set\fR tiny_buffers \fIvalue\fR
228 Set the number of tiny buffers in the system\. This is the total number of tiny
229 buffers for all CPU partitions\.
232 \fBlnetctl set\fR small_buffers \fIvalue\fR
233 Set the number of small buffers in the system\. This is the total number of
234 small buffers for all CPU partitions\.
237 \fBlnetctl set\fR large_buffers \fIvalue\fR
238 Set the number of large buffers in the system\. This is the total number of
239 large buffers for all CPU partitions\.
242 \fBlnetctl set\fR routing \fI[0, 1]\fR
243 0 value indicates to disable routing\. 1 value indicates to enable routing\.
244 When routing is disabled the values of the buffers that might have been changed
245 are not remembered, and the next time routing is enabled the default buffer
249 \fBlnetctl set\fR drop_asym_route \fI[0, 1]\fR
250 0 value indicates to accept asymmetrical route messages\. 1 value indicates to
251 drop them\. Asymmetrical route is when a message from a remote peer is coming
252 through a router that would not be used by this node to reach the remote peer\.
255 \fBlnetctl set\fR response_tracking \fI[0, 1, 2, 3]\fR
256 Set the behavior of response tracking\.
257 0 - Only LNet pings and discovery pushes utilize response tracking\.
258 1 - GETs are eligible for response tracking\.
259 2 - PUTs are eligible for response tracking\.
260 3 - Both PUTs and GETs are eligible for response tracking (default)\.
261 Note: Regardless of the value of the response_tracking parameter LNet
262 pings and discovery pushes always utilize response tracking\.
265 \fBlnetctl set\fR recovery_limit \fIvalue\fR
266 Set how long LNet will attempt to recover unhealthy peer interfaces\.
267 0 - Recover indefinitely (default)\.
268 >0 - Recover for the specified number of seconds\.
271 \fBlnetctl set\fR max_recovery_ping_interval \fIvalue\fR
272 Set the maximum recovery ping interval.
273 The recovery ping mechanism increases the next scheduled recovery ping attempt
274 timeout exponentially (base 2) until it is equal to the value set.
275 The default value is 900.
277 .SS "Import and Export YAML Configuration Files"
278 LNet configuration can be represented in YAML format\. A YAML configuration
279 file can be passed to the lnetctl utility via the \fBimport\fR command\. The
280 lnetctl utility will attempt to configure all elements defined in the YAML
284 Similarly the \fBexport\fR command can be used to dump all supported LNet
285 configuration to stdout\. The output can be redirected to a file\.
288 \fBlnetctl import\fR \fIFILE\fR:
292 \fBlnetctl import\fR < \fIFILE\fR
293 \fBimport\fR command uses the specified YAML configuration file to configure
294 LNet parameters defined within\. The import command by default adds the LNet
295 parameters defined in the YAML file, but this default behavior can be
296 overwritten by specifying the desired behavior\.
299 \-\-add: add configuration
302 \-\-del: delete configuration
305 \-\-show: show configuration
308 \-\-exec: execute command
311 \-\-help: display this help
314 \fBlnetctl export\fR \fIFILE\fR:
318 \fBlnetctl export\fR > \fIFILE\fR
319 \fBexport\fR command dumps the LNet configuration, state information, and stats
320 in YAML format to stdout, which can be redirected to a normal file\. The output
321 of the \fBexport\fR command can be used as input to the \fBimport\fR command\.
324 \-\-backup: dump only elements necessary to recreate the current configuration.
327 \-\-help: display this help
329 .SS "LNet Statistics"
336 \-> Number of messages allocated
339 \-> Maximum number of messages allocated
342 \-> Number of errors encountered
345 \-> Number of messages sent
348 \-> Number of messages received
351 \-> Number of messages routed
354 \-> Total size in bytes of messages sent
357 \-> Total size in bytes of messages received
360 \-> Total size in bytes of messages routed
363 \-> Total size in bytes of messages dropped
368 .SS "Showing Peer Credits"
371 \fBlnetctl peer_credits\fR
372 Show details on configured peer credits
381 \-> Reference count on the peer
384 \-> Maximum transmit credits
387 \-> Available transmit credits
390 \-> Available router credits
393 \-> Minimum router credits\.
395 .SS "UDSP Configuration"
398 \fBlnetctl udsp\fR add
399 Add user-defined selection policy.
404 Adding a local network udsp.
407 If multiple local networks are available, each one can be assigned a priority\.
408 The one with the highest priority is selected to send on\.
409 NID and network matching is using NID-range syntax, please see the manual for more detail\.
412 \-\-src : network in NID-range syntax (e.g. tcp0 or tcp[1-3])
415 \-\-<priority> <priority value>: optional priority value in [0-255], 0 as the highest
418 \-\-<idx>: The index of where to insert the rule\. By default append to the end of the list
423 Adding a local NID udsp.
426 Assign priority to local NIDs\. After a local network is chosen, the NI with highest priority is selected\.
429 \-\-src: NID in NID-range syntax (e.g. 10.1.1.2@tcp or 10.1.1.*@tcp)
432 \-\-<priority> <priority value>: optional priority value in [0-255], 0 as the highest
435 \-\-<idx>: The index of where to insert the rule\. By default append to the end of the list
440 Adding a peer NID udsp.
443 Assign priority to peer NIDs. Peer NID with highest priority is selected to send to\.
446 \-\-dst: NID in NID-range syntax (e.g. 10.1.1.2@tcp)
449 \-\-<priority> <priority value>: optional priority value in [0-255], 0 as the highest
452 \-\-<idx>: The index of where to insert the rule\. By default append to the end of the list
457 Adding a NID pair udsp.
460 The local NIDs which match the rule are added on a list on the peer NIs matching the rule\.
461 When selecting the peer NI, the one with the local NID being used on its list is preferred\.
464 \-\-dst: NID in NID-range syntax (e.g. 10.1.1.1@tcp)
467 \-\-src: NID in NID-range syntax (e.g. 10.1.1.2@tcp)
470 \-\-<idx>: The index of where to insert the rule\. By default append to the end of the list
475 Adding a Peer Router udsp.
478 The router NIDs matching the rule are added on a list on the peer NIs matching the rule\.
479 When sending to a remote peer, the router which has its nid on the peer NI list is preferred\.
482 \-\-dst: peer NID in NID-range syntax (e.g. 10.1.1.1@tcp)
485 \-\-rte: router NID in NID-range syntax (e.g. 10.1.2.1@tcp)
488 \-\-<idx>: The index of where to insert the rule\. By default append to the end of the list
493 \fBlnetctl udsp\fR del
494 Delete user-defined selection policy.
497 \-\-idx: The index of the rule to delete\.
501 \fBlnetctl udsp\fR show
502 Show all user-defined selection policies in the system\. The policies are dumped in YAML form\.
509 Output a list of the commands supported by the lnetctl utility
512 .SS "Initializing LNet after load"
515 lnetctl lnet configure
518 lnetctl lnet configure \-\-all
522 .SS "Shutting down LNet"
525 lnetctl lnet unconfigure
532 lnetctl net add \-\-net tcp0 \-\-if eth0
535 lnetctl net add \-\-ip2net "tcp0(eth0) 192\.168\.0\.[2,4]; tcp0 192\.168\.0\.*;
536 o2ib0 132\.6\.[1\-3]\.[2\-8/2]"
543 lnetctl net del \-\-net tcp0
550 lnetctl net show \-\-verbose:
572 peer_buffer_credits: 0
578 \- nid: 192\.168\.205\.130@tcp1
602 peer_buffer_credits: 0
612 lnetctl route add \-\-net tcp0 \-\-gateway 10\.10\.10\.1@tcp1 \-\-hop 1
620 lnetctl route del \-\-net tcp0 \-\-gateway 10\.10\.10\.1@tcp1
627 lnetctl route show \-\-verbose
638 gateway: 192\.168\.205\.131@tcp1
644 priority: 0 state: down
709 .SS "Setting variables"
712 lnetctl set tiny_buffers 2048
715 lnetctl set small_buffers 16384
718 lnetctl set large_buffers 256
721 lnetctl set routing 1
725 .SS "Importing YAML files for configuring"
728 lnetctl import lnet\.conf
731 lnetctl import < lnet\.conf
735 .SS "Exporting LNet Configuration"
738 lnetctl export lnet\.conf
741 lnetctl export > lnet\.conf
745 .SS "Showing LNet Stats"
790 .SS "Showing peer information"
801 \- primary nid: 10\.148\.0\.8@o2ib
810 \- nid: 10\.148\.0\.8@o2ib
816 \- primary nid: 10\.148\.0\.20@o2ib
825 \- nid: 10\.148\.0\.20@o2ib
831 \- nid: 10\.148\.0\.25@o2ib
841 lnetctl udsp add \-\-src tcp \-\-priority 1
847 .SS "Deleting a UDSP"
850 lnetctl udsp del \-\-idx 0