Table of Contents

Name

linxcfg - a configuration utility for LINX links to other nodes

Synopsis

linxcfg create <macaddr> <device> <linkname> [opt1=v1 ...] [-v]

linxcfg destroy <linkname> [-v]
linxcfg -h

Description

linxcfg is the LINX Ethernet configuration command.

Options

create
Create an Ethernet connection link to another node with the macaddr MAC address, through the given device and give it the connection name linkname to be used as hunt path to reach the other system. Several other options can be given to configure the connection link. Note that the timeout values depend on the system clock tick; the configured timeout values are minimum values.

A remote link cannot be used until also the remote node creates the other end of the link (a link back to the originating node). The state is "connecting" until both sides are ready and communication via the LINX protocol can begin.

destroy
Destroy the Ethernet connection link with the name linkname.

-h
Display help and exit.

-v
Verbose mode.

macaddr
Specify the remote mac address of the node to connect to, e.g. 0a:1b:2c:3d:4d:5e.

device
Specify the device name to use. ex: eth0.

linkname
Optional name of the connection link. This is the LINX link part of the path in a remote hunt name to LINX endpoints on the other node. It will also be the name seen in /proc/net/linx/cm/eth/<linkname>.

window_size=nnn
This is the send/receive window_size, in number of packets on the link, and may need to be modified to adapt LINX to really slow or really fast ethernet performance. Both the local and remote side must use the same window size. The default 128 messages should be sufficient in most configurations. The window size shall always be of a power of 2. Size 0 means to use the default window size.

defer_queue_size=nnn
The defer queue size is in packages, with the size depending on the LINX link. The defer queue is used on the sender side when the send queue is full. Every message sent, when the send queue is full, is stored in the defer queue, until the send queue has room for more messages. The defer queue size is the maximum number of packages, with messages, that can be stored in the defer queue before the link is disconnected, due to lack or resources. The default value 2048 packages should be sufficient in most systems. Size 0 means to use the default defer queue size.

send_tmo=nnn
The send acknowledge timeout specifies the time (in msec) to wait until unacknowledged messages are resent. The default 10 should be sufficient in most systems. Size 0 means to use the default timeout.

nack_tmo=nnn
The retransmission timeout specifies the time (in msec) to wait until nack messages are resent. The default 20 should be sufficient in most systems. Size 0 means to use the default timeout.

conn_tmo=nnn
The connect timeout specifies the time (in msec) to wait until an attempt to establish a connection is considered failed. The default 200 should be sufficient in most systems. Size 0 means to use the default timeout.

live_tmo=nnn
The connection supervision timeout specifies the time (in msec) to wait until a connection is considered broken. Default is 100 (when the system is not idle) and should be sufficient in most systems. When the system is idle, the live timeout is ten times larger than the configured live timeout value. Size 0 means to use the default timeout.

coalesce=[his,los,hir,lor | off]
NOTE: This feature is still experimental! If this configuration is set, adaptive software-controlled ethernet coalescing is enabled. The default is off. The high send/receive thresholds his and hir specify the number of sent/received messages/200msec that need to be sent/received to enable coalescing in the specific direction. The low send/receive thresholds los and lor specify when to disable coalescing in the specific direction. Adaptive coalesting means to dynamically optimize the throughput by collecting multiple small messages in each package, but still avoiding delays due to long time periods between messages. The coalesce configuration may require device specific tuning, e.g. by running a benchmark with different coalesce configurations.

Files

None.

Diagnostics

linxcfg will display more verbose information to standard out, if the -v option is specified.

Known Bugs

None.

Example

linxcfg create 01:23:a4:4f:b3:ac eth0 conn_A

linxcfg destroy conn_A

See Also

linx(7) , linxstat(1) , linxdisc(8)

Author

Enea

LINX team

Copyright

Copyright (c) 2006-2007, Enea Software AB All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Enea Software AB nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Table of Contents