1 .\" ----------------------------------------------------------------------------
2 .\" Update the date below if you make any significant change.
3 .\" Make sure there are no errors with:
4 .\" groff -z -wall -b -e -t multipath/multipath.conf.5
6 .\" TODO: Look for XXX and ???
8 .\" ----------------------------------------------------------------------------
10 .TH MULTIPATH.CONF 5 2016-10-18 "Linux"
13 .\" ----------------------------------------------------------------------------
15 .\" ----------------------------------------------------------------------------
17 multipath.conf \- multipath daemon configuration file.
20 .\" ----------------------------------------------------------------------------
22 .\" ----------------------------------------------------------------------------
24 .B "/etc/multipath.conf"
25 is the configuration file for the multipath daemon. It is used to
26 overwrite the built-in configuration table of \fBmultipathd\fP.
27 Any line whose first non-white-space character is a '#' is considered
28 a comment line. Empty lines are ignored.
31 .\" ----------------------------------------------------------------------------
33 .\" ----------------------------------------------------------------------------
35 The configuration file contains entries of the form:
61 Each \fIsection\fP contains one or more attributes or subsections. The
62 recognized keywords for attributes or subsections depend on the
63 section in which they occur.
67 The following \fIsection\fP keywords are recognized:
70 This section defines default values for attributes which are used
71 whenever no values are given in the appropriate device or multipath
75 This section defines which devices should be excluded from the
76 multipath topology discovery.
78 .B blacklist_exceptions
79 This section defines which devices should be included in the
80 multipath topology discovery, despite being listed in the
81 \fIblacklist\fR section.
84 This section defines the multipath topologies. They are indexed by a
85 \fIWorld Wide Identifier\fR(WWID). For details on the WWID generation
86 see section \fIWWID generation\fR below.
89 This section defines the device-specific settings.
92 This section defines values for attributes that should override the
93 device-specific settings for all devices.
98 .\" ----------------------------------------------------------------------------
99 .SH "defaults section"
100 .\" ----------------------------------------------------------------------------
102 The \fIdefaults\fR section recognizes the following keywords:
107 Default verbosity. Higher values increase the verbosity level. Valid
108 levels are between 0 and 6.
111 Default value is: \fB2\fR
117 Interval between two path checks in seconds. For properly functioning paths,
118 the interval between checks will gradually increase to \fImax_polling_interval\fR.
119 This value will be overridden by the \fIWatchdogSec\fR
120 setting in the multipathd.service definition if systemd is used.
123 Default value is: \fB5\fR
128 .B max_polling_interval
129 Maximal interval between two path checks in seconds.
132 Default value is: \fB4 * polling_interval\fR
138 Enable reassigning of device-mapper maps. With this option multipathd
139 will remap existing device-mapper maps to always point to multipath
140 device, not the underlying block devices. Possible values are
141 \fIyes\fR and \fIno\fR.
144 Default value is: \fBno\fR
150 Directory where the dynamic shared objects are stored.
153 Default value is: \fB<system dependent>\fR. Defined at compile time, commonly
154 \fI/lib64/multipath/\fR.
160 The default path selector algorithm to use; they are offered by the
161 kernel multipath target. There are three selector algorithms:
165 Loop through every path in the path group, sending the same amount of I/O to
166 each. Some aspects of behavior can be controlled with the attributes:
167 \fIrr_min_io\fR, \fIrr_min_io_rq\fR and \fIrr_weight\fR.
171 (Since ??? kernel) Choose the path for the next bunch of I/O based on the amount
172 of outstanding I/O to the path.
176 (Since ??? kernel) Choose the path for the next bunch of I/O based on the amount
177 of outstanding I/O to the path and its relative throughput.
179 Default value is: \fBservice-time 0\fR
184 .B path_grouping_policy
185 The default path grouping policy to apply to unspecified
186 multipaths. Possible values are:
190 One path per priority group.
193 All paths in one priority group.
196 One priority group per serial number.
199 One priority group per priority value. Priorities are determined by
200 callout programs specified as a global, per-controller or
201 per-multipath option in the configuration file.
203 .I group_by_node_name
204 One priority group per target node name. Target node names are fetched
205 in \fI/sys/class/fc_transport/target*/node_name\fR.
207 Default value is: \fBfailover\fR
213 The udev attribute providing a unique path identifier.
216 Default value is: for SCSI devices \fBID_SERIAL\fR
218 Default value is: for DASD devices \fBID_UID\fR
224 (Superseded by \fIuid_attribute\fR) The default program and args to callout
225 to obtain a unique path identifier. Should be specified with an absolute path.
230 The name of the path priority routine. The specified routine
231 should return a numeric value specifying the relative priority
232 of this path. Higher number have a higher priority.
233 \fI"none"\fR is a valid value. Currently the following path priority routines
238 Return a constant priority of \fI1\fR.
241 Use the sysfs attributes \fIaccess_state\fR and \fIpreferred_path\fR to
242 generate the path priority. This prioritizer accepts the optional prio_arg
243 \fIexclusive_pref_bit\fR
247 Generate the path priority for DGC class arrays as CLARiiON CX/AX and
248 EMC VNX and Unity families.
252 Generate the path priority based on the SCSI-3 ALUA settings. This prioritizer
253 accepts the optional prio_arg \fIexclusive_pref_bit\fR.
257 Generate the path priority for NetApp ONTAP class and OEM arrays as IBM NSeries.
261 Generate the path priority for LSI/Engenio/NetApp RDAC class as NetApp SANtricity
262 E/EF Series, and OEM arrays from IBM DELL SGI STK and SUN.
266 Generate the path priority for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
267 Active/Standby mode exclusively.
271 Generate the path priority for Hitachi AMS 2000 and HUS 100 families of arrays.
274 Generate a random priority between 1 and 10.
277 Generate the path priority based on the regular expression and the
278 priority provided as argument. Requires prio_args keyword.
282 ???. Requires prio_args keyword.
286 ???. Requires prio_args keyword.
288 Default value is: \fBconst\fR
294 Arguments to pass to to the prio function. This only applies to certain
299 Needs a value of the form
300 \fI"<hbtl|devname|serial|wwn> <regex1> <prio1> <regex2> <prio2> ..."\fR
304 regex can be of SCSI H:B:T:L format. For example: 1:0:.:. , *:0:0:.
307 regex can be of device name format. For example: sda , sd.e
310 regex can be of serial number format. For example: .*J1FR.*324 . The serial can
311 be looked up through sysfs or by running multipathd show paths format "%z". For
312 example: 0395J1FR904324
315 regex can be of the form \fI"host_wwnn:host_wwpn:target_wwnn:target_wwpn"\fR
316 these values can be looked up through sysfs or by running \fImultipathd show paths format
317 "%N:%R:%n:%r"\fR. For example: 0x200100e08ba0aea0:0x210100e08ba0aea0:.*:.* , .*:.*:iqn.2009-10.com.redhat.msp.lab.ask-06:.*
321 If \fIexclusive_pref_bit\fR is set, paths with the \fIpreferred path\fR bit
322 set will always be in their own path group.
326 \fIpreferredsds\fR ???.
330 \fIpreferredip\fR ???.
332 Default value is: \fB<unset>\fR
338 Specify any device-mapper features to be used. Syntax is \fInum list\fR
339 where \fInum\fR is the number, between 0 and 8, of features in \fIlist\fR.
340 Possible values for the feature list are:
345 (Superseded by \fIno_path_retry\fR) (Since ??? kernel) Queue I/O if no path is active.
346 Identical to the \fIno_path_retry\fR with \fIqueue\fR value. See KNOWN ISSUES.
349 Disable automatic partitions generation via kpartx.
352 .I pg_init_retries <times>
353 (Since ??? kernel) Number of times to retry pg_init, it must be between 1 and 50.
356 .I pg_init_delay_msecs <msecs>
357 (Since ??? kernel) Number of msecs before pg_init retry, it must be between 0 and 60000.
361 (Since ??? kernel) Select the the queue_mode per multipath device.
362 Where <mode> can be \fIbio\fR, \fIrq\fR or \fImq\fR. Which corresponds to
363 bio-based, request_fn rq-based, and blk-mq rq-based respectively.
365 Default value is: \fB0\fR
371 The default method used to determine the paths state. Possible values
376 (Deprecated) Read the first sector of the device. This checker is being
377 deprecated, please use \fItur\fR instead.
380 Issue a \fITEST UNIT READY\fR command to the device.
384 Query the DGC/EMC specific EVPD page 0xC0 to determine the path state
385 for CLARiiON CX/AX and EMC VNX and Unity arrays families.
389 Check the path state for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
390 Active/Standby mode exclusively.
394 Check the path state for LSI/Engenio/NetApp RDAC class as NetApp SANtricity E/EF
395 Series, and OEM arrays from IBM DELL SGI STK and SUN.
398 (Deprecated) Read the first sector with direct I/O. This checker is being
399 deprecated, it could cause spurious path failures under high load.
400 Please use \fItur\fR instead.
404 Check the path state for HP/COMPAQ Smart Array(CCISS) controllers.
407 Check if the path is in the Ceph blacklist and remap the path if it is.
409 Default value is: \fBtur\fR
415 The \fIuser_friendly_names\fR prefix.
418 Default value is: \fBmpath\fR
424 Tell multipathd how to manage path group failback.
425 To select \fIimmediate\fR or a \fIvalue\fR, it's mandatory that the device
426 has support for a working prioritizer.
430 Immediately failback to the highest priority pathgroup that contains
434 Do not perform automatic failback.
437 Used to deal with multiple computers accessing the same Active/Passive storage
438 devices. Only perform automatic failback when the first path of a pathgroup
439 becomes active. This keeps a cluster node from automatically failing back when
440 another node requested the failover.
443 Deferred failback (time to defer in seconds).
445 Default value is: \fBmanual\fR
451 Number of I/O requests to route to a path before switching to the next in the
452 same path group. This is only for \fIBlock I/O\fR(BIO) based multipath and
453 only apply to \fIround-robin\fR path_selector.
456 Default value is: \fB1000\fR
462 Number of I/O requests to route to a path before switching to the next in the
463 same path group. This is only for \fIRequest\fR based multipath and
464 only apply to \fIround-robin\fR path_selector.
467 Default value is: \fB1\fR
473 Specify the maximum number of file descriptors that can be opened by multipath
474 and multipathd. This is equivalent to ulimit \-n. A value of \fImax\fR will set
475 this to the system limit from \fI/proc/sys/fs/nr_open\fR. If this is not set, the
476 maximum number of open fds is taken from the calling process. It is usually
477 1024. To be safe, this should be set to the maximum number of paths plus 32,
478 if that number is greated than 1024.
481 Default value is: \fBmax\fR
487 If set to \fIpriorities\fR the multipath configurator will assign path weights
488 as "path prio * rr_min_io". Possible values are
492 Only apply to \fIround-robin\fR path_selector.
495 Default value is: \fBuniform\fR
501 Specify what to do when all paths are down. Possible values are:
505 number of retries until disable I/O queueing.
508 for immediate failure (no I/O queueing).
511 for never stop I/O queueing. Similar to \fIqueue_if_no_path\fR.
515 Default value is: \fBfail\fR
520 .B queue_without_daemon
523 , when multipathd stops, queueing will be turned off for all devices.
524 This is useful for devices that set no_path_retry. If a machine is
525 shut down while all paths to a device are down, it is possible to hang waiting
526 for I/O to return from the device after multipathd has been stopped. Without
527 multipathd running, access to the paths cannot be restored, and the kernel
528 cannot be told to stop queueing I/O. Setting queue_without_daemon to
530 , avoids this problem.
533 Default value is: \fBno\fR
539 Specify the timeout to use for path checkers and prioritizers that issue SCSI
540 commands with an explicit timeout, in seconds.
543 Default value is: in \fB/sys/block/sd<x>/device/timeout\fR
551 , multipathd will disable queueing when the last path to a device has been
555 Default value is: \fBno\fR
560 .B user_friendly_names
563 , using the bindings file \fI/etc/multipath/bindings\fR to assign a persistent
564 and unique alias to the multipath, in the form of mpath<n>. If set to
566 use the WWID as the alias. In either case this be will
567 be overridden by any specific aliases in the \fImultipaths\fR section.
570 Default value is: \fBno\fR
576 Specify the number of seconds the SCSI layer will wait after a problem has been
577 detected on a FC remote port before failing I/O to devices on that remote port.
578 This should be smaller than dev_loss_tmo. Setting this to
580 will disable the timeout.
583 Default value is: in \fB5\fR
589 Specify the number of seconds the SCSI layer will wait after a problem has
590 been detected on a FC remote port before removing it from the system. This
591 can be set to "infinity" which sets it to the max value of 2147483647
592 seconds, or 68 years. It will be automatically adjusted to the overall
593 retry interval \fIno_path_retry\fR * \fIpolling_interval\fR
594 if a number of retries is given with \fIno_path_retry\fR and the
595 overall retry interval is longer than the specified \fIdev_loss_tmo\fR value.
596 The Linux kernel will cap this value to \fI300\fR if \fIfast_io_fail_tmo\fR
597 is not set. See KNOWN ISSUES.
600 Default value is: \fB600\fR
606 The full pathname of the binding file to be used when the user_friendly_names
610 Default value is: \fB/etc/multipath/bindings\fR
616 The full pathname of the WWIDs file, which is used by multipath to keep track
617 of the WWIDs for LUNs it has created multipath devices on in the past.
620 Default value is: \fB/etc/multipath/wwids\fR
628 , multipathd logs the first path checker error at logging level 2. Any later
629 errors are logged at level 3 until the device is restored. If set to
631 , multipathd always logs the path checker error at logging level 2.
634 Default value is: \fBalways\fR
640 This is the service action reservation key used by mpathpersist. It must be
641 set for all multipath devices using persistent reservations, and it must be
642 the same as the RESERVATION KEY field of the PERSISTENT RESERVE OUT parameter
643 list which contains an 8-byte value provided by the application client to the
644 device server to identify the I_T nexus.
647 Default value is: \fB<unset>\fR
652 .B retain_attached_hw_handler
655 and the SCSI layer has already attached a hardware_handler to the device,
656 multipath will not force the device to use the hardware_handler specified by
657 mutipath.conf. If the SCSI layer has not attached a hardware handler,
658 multipath will continue to use its configured hardware handler.
661 Default value is: \fByes\fR
669 , multipath will try to detect if the device supports SCSI-3 ALUA. If so, the
670 device will automatically use the \fIsysfs\fR prioritizer if the required sysf
671 attributes \fIaccess_state\fR and \fIpreferred_path\fR are supported, or the
672 \fIalua\fR prioritizer if not. If set to
674 , the prioritizer will be selected as usual.
677 Default value is: \fByes\fR
685 , multipathd will call the path checkers in sync mode only. This means that
686 only one checker will run at a time. This is useful in the case where many
687 multipathd checkers running in parallel causes significant CPU pressure.
690 Default value is: \fBno\fR
698 , multipathd will start a new path checker loop after exactly one second,
699 so that each path check will occur at exactly \fIpolling_interval\fR
700 seconds. On busy systems path checks might take longer than one second;
701 here the missing ticks will be accounted for on the next round.
702 A warning will be printed if path checks take longer than \fIpolling_interval\fR
706 Default value is: \fBno\fR
714 , multipathd will do a deferred remove instead of a regular remove when the
715 last path device has been deleted. This means that if the multipath device is
716 still in use, it will be freed when the last user closes it. If path is added
717 to the multipath device before the last user closes it, the deferred remove
721 Default value is: \fBno\fR
726 .B partition_delimiter
727 If this value is not set, when multipath renames a device, it will act just
728 like the kpartx default does, only adding a \fI"p"\fR to names ending in a
729 number. If this parameter is set, multipath will act like kpartx does with
730 the \fI-p\fR option is used, and always add delimiter.
733 Default value is: \fB<unset>\fR
739 If set to anything other than "", multipath will search this directory
740 alphabetically for file ending in ".conf" and it will read configuration
741 information from them, just as if it was in \fI/etc/multipath.conf\fR.
742 config_dir must either be "" or a fully qualified directory name.
745 Default value is: \fB/etc/multipath/conf.d/\fR
750 .B delay_watch_checks
751 If set to a value greater than 0, multipathd will watch paths that have
752 recently become valid for this many checks. If they fail again while they are
753 being watched, when they next become valid, they will not be used until they
754 have stayed up for \fIdelay_wait_checks\fR checks.
757 Default value is: \fBno\fR
763 If set to a value greater than 0, when a device that has recently come back
764 online fails again within \fIdelay_watch_checks\fR checks, the next time it
765 comes back online, it will marked and delayed, and not used until it has passed
766 \fIdelay_wait_checks\fR checks.
769 Default value is: \fBno\fR
777 , instead of trying to create a multipath device for every non-blacklisted
778 path, multipath will only create a device if one of three condidions are
781 There are at least two non-blacklisted paths with the same WWID,
783 the user manually forces the creation, by specifying a device with the multipath
786 a path has the same WWID as a multipath device that was previously created
787 while find_multipaths was set (even if that multipath device doesn't currently
789 Whenever a multipath device is created with find_multipaths set, multipath will
790 remeber the WWID of the device, so that it will automatically create the
791 device again, as soon as it sees a path with that WWID. This should allow most
792 users to have multipath automatically choose the correct paths to make into
793 multipath devices, without having to edit the blacklist.
796 Default value is: \fBno\fR
802 CLI receive timeout in milliseconds. For larger systems CLI commands
803 might timeout before the multipathd lock is released and the CLI command
804 can be processed. This will result in errors like
805 "timeout receiving packet" to be returned from CLI commands.
806 In these cases it is recommended to increase the CLI timeout to avoid
810 Default value is: \fB1000\fR
816 Sets the number of times multipathd will try to retrigger a uevent to get the
820 Default value is: \fB3\fR
826 Sets the amount of time, in seconds, to wait between retriggers.
829 Default value is: \fB10\fR
834 .B missing_uev_wait_timeout
835 Controls how many seconds multipathd will wait, after a new multipath device
836 is created, to receive a change event from udev for the device, before
837 automatically enabling device reloads. Usually multipathd will delay reloads
838 on a device until it receives a change uevent from the initial table load.
841 Default value is: \fB30\fR
849 , kpartx will not automatically create partitions on the device.
852 The default is \fBno\fR
856 .\" ----------------------------------------------------------------------------
857 .SH "blacklist section"
858 .\" ----------------------------------------------------------------------------
860 The \fIblacklist\fR section is used to exclude specific device from inclusion in
861 the multipath topology. It is most commonly used to exclude local disks or LUNs
862 for the array controller.
866 The following keywords are recognized:
869 Regular expression of the device nodes to be excluded.
872 Default value is: \fB^(ram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]\fR, \fB^(td|hd|vd)[a-z]\fR and \fB^nvme\fR
876 The \fIWorld Wide Identification\fR of a device.
879 Regular expression of the udev property to be excluded.
882 Subsection for the device description. This subsection recognizes the
886 keywords. For a full description of these keywords please see the
887 \fIdevices\fR section description.
890 .\" ----------------------------------------------------------------------------
891 .SH "blacklist_exceptions section"
892 .\" ----------------------------------------------------------------------------
894 The \fIblacklist_exceptions\fR section is used to revert the actions of the
895 \fIblacklist\fR section. For example to include specific device in the
896 multipath topology. This allows one to selectively include devices which
897 would normally be excluded via the \fIblacklist\fR section.
901 The following keywords are recognized:
904 Regular expression of the device nodes to be whitelisted.
907 The \fIWorld Wide Identification\fR of a device.
910 Regular expression of the udev property to be whitelisted.
913 Default value is: \fB(SCSI_IDENT_|ID_WWN)\fR
917 Subsection for the device description. This subsection recognizes the
921 keywords. For a full description of these keywords please see the \fIdevices\fR
924 The \fIproperty\fR blacklist and whitelist handling is different from the usual
925 handling in the sense that the whitelist \fIhas\fR to be set, otherwise the
926 device will be blacklisted. In these cases the message \fIblacklisted, udev
927 property missing\fR will be displayed.
930 .\" ----------------------------------------------------------------------------
931 .SH "multipaths section"
932 .\" ----------------------------------------------------------------------------
934 The only recognized attribute for the \fImultipaths\fR section is the
935 \fImultipath\fR subsection.
939 The \fImultipath\fR subsection recognizes the following attributes:
942 (Mandatory) Index of the container.
945 Symbolic name for the multipath map.
949 The following attributes are optional; if not set the default values
950 are taken from the \fIdefaults\fR or \fIdevices\fR section:
955 .B path_grouping_policy
979 .B user_friendly_names
983 .B delay_watch_checks
993 .\" ----------------------------------------------------------------------------
994 .SH "devices section"
995 .\" ----------------------------------------------------------------------------
997 The only recognized attribute for the \fIdevices\fR section is the \fIdevice\fR
1002 The \fIdevice\fR subsection recognizes the following attributes:
1004 vendor, product, revision and product_blacklist are POSIX Extended regex.
1007 (Mandatory) Vendor identifier.
1010 (Mandatory) Product identifier.
1015 .B product_blacklist
1016 Product strings to blacklist for this vendor.
1019 The user_friendly_names prefix to use for this
1020 device type, instead of the default "mpath".
1023 The hardware handler to use for this device type.
1024 The following hardware handler are implemented:
1028 (Hardware-dependent)
1029 Hardware handler for DGC class arrays as CLARiiON CX/AX and EMC VNX and Unity
1033 (Hardware-dependent)
1034 Hardware handler for LSI/Engenio/NetApp RDAC class as NetApp SANtricity E/EF
1035 Series, and OEM arrays from IBM DELL SGI STK and SUN.
1038 (Hardware-dependent)
1039 Hardware handler for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
1040 Active/Standby mode exclusively.
1043 (Hardware-dependent)
1044 Hardware handler for SCSI-3 ALUA compatible arrays.
1046 Default value is: \fB<unset>\fR
1051 The following attributes are optional; if not set the default values
1052 are taken from the \fIdefaults\fR
1058 .B path_grouping_policy
1086 .B flush_on_last_del
1088 .B retain_attached_hw_handler
1094 .B delay_watch_checks
1096 .B delay_wait_checks
1104 .\" ----------------------------------------------------------------------------
1105 .SH "overrides section"
1106 .\" ----------------------------------------------------------------------------
1108 The overrides section recognizes the following optional attributes; if not set
1109 the values are taken from the \fIdevices\fR or \fIdefaults\fR sections:
1114 .B path_grouping_policy
1142 .B flush_on_last_del
1148 .B user_friendly_names
1150 .B retain_attached_hw_handler
1156 .B delay_watch_checks
1158 .B delay_wait_checks
1166 .\" ----------------------------------------------------------------------------
1167 .SH "WWID generation"
1168 .\" ----------------------------------------------------------------------------
1170 Multipath uses a \fIWorld Wide Identification\fR (WWID) to determine
1171 which paths belong to the same device. Each path presenting the same
1172 WWID is assumed to point to the same device.
1174 The WWID is generated by three methods (in the order of preference):
1177 Use the specified external program; cf \fIgetuid_callout\fR above.
1178 Care should be taken when using this method; the external program
1179 needs to be loaded from disk for execution, which might lead to
1180 deadlock situations in an all-paths-down scenario.
1183 Use the value of the specified udev attribute; cf \fIuid_attribute\fR
1184 above. This method is preferred to \fIgetuid_callout\fR as multipath
1185 does not need to call any external programs here. However, under
1186 certain circumstances udev might not be able to generate the requested
1190 If none of the \fIgetuid_callout\fR or \fIuid_attribute\fR parameters
1191 are present multipath will try to use the sysfs attribute
1192 \fIvpd_pg83\fR to generate the WWID.
1195 .\" ----------------------------------------------------------------------------
1197 .\" ----------------------------------------------------------------------------
1199 The usage of \fIqueue_if_no_path\fR option can lead to \fID state\fR
1200 processes being hung and not killable in situations where all the paths to the
1201 LUN go offline. It is advisable to use the \fIno_path_retry\fR option instead.
1203 The use of \fIqueue_if_no_path\fR or \fIno_path_retry\fR might lead to a
1204 deadlock if the \fIdev_loss_tmo\fR setting results in a device being removed
1205 while I/O is still queued. The multipath daemon will update the \fIdev_loss_tmo\fR
1206 setting accordingly to avoid this deadlock. Hence if both values are
1207 specified the order of precedence is \fIno_path_retry, queue_if_no_path, dev_loss_tmo\fR.
1210 .\" ----------------------------------------------------------------------------
1212 .\" ----------------------------------------------------------------------------
1220 .\" ----------------------------------------------------------------------------
1222 .\" ----------------------------------------------------------------------------
1224 \fImultipath-tools\fR was developed by Christophe Varoqui, <christophe.varoqui@opensvc.com>