Home > Veritas Cluster Server Manual Pages

LLTTAB (4)

Devices

Table of contents


NAME

llttab - LLT configuration file

SYNOPSIS

/etc/llttab

DESCRIPTION

The /etc/llttab file contains information used by lltconfig to configure the LLT protocol stack. The system administrator is responsible for maintaining this file correctly and consistently across all systems in the cluster.

A pound sign (#) in the first column of a line means that the line is a comment. Blank lines are ignored. A minimal configuration must set the systemid and specify a network link.

The /etc/llttab file supports the following commands:

set-node systemid
Set the systemid. This is a required command. systemid may be an integer in the valid range of systemids, or it may be a symbolic name (it is translated via /etc/llthosts to a systemid). systemid also may be a filename beginning with a slash (/); the first word from the file is used as a symbolic name and translated via /etc/llthosts to a systemid. Systemids must be unique within a cluster. If LLT detects a configuration in which another system is using the same systemid, it disables the protocol until the system is rebooted.
set-cluster clusterid
Set the clusterid to a number between 0 and 65535. This command is needed only if more than one cluster is sharing network hardware being used by LLT. In this case, each cluster needs its own clusterid (or, alternately, a unique SAP), so that the clusters do not interfere with each other. Machines with different clusterids cannot communicate with each other. The default clusterid is 0.
link tag device_name systemid_range link_type sap mtu_size
Configure a network interface link below LLT and give it a tag for use in subsequent commands and for reference by lltstat. This link is bound to the LLT SAP and is used to send heartbeats and data to other nodes. The device_name is the name under /dev of the network device; it may be followed by a colon (:) and an integer specifying which unit or PPA to attach to. systemid_range represents the range of systems for which the command is valid. If the link command is valid for all systems, specify a dash (-). The defaults for sap or mtu_size are specified by a dash (-). The link_type should be ether At least one link command is required for LLT to operate. sap specifies the SAP to bind on the network links. mtu_size specifies the maximum transmission unit to use for sending packets on network links. Note that the links that LLT uses must be isolated or else LLT will report missing heartbeat messages on the console.
link-lowpri tag device_name systemid_range link_type sap

mtu_size
Configure a network interface link below LLT and give it a tag for use in subsequent commands and for reference by lltstat. This link is bound to the LLT SAP and is used to send heartbeats and data to other systems. The device_name is the name under /dev of the network device; it may be followed by a colon (:) and an integer specifying which unit or PPA to attach to. systemid_range represents the range of systems for which the command is valid. If the link command is valid for all systems, specify a dash (-). The defaults for sap or mtu_size are specified by a dash (-). The link_type should be ether At least one link command is required for LLT to operate. sap specifies the SAP to bind on the network links. mtu_size specifies the maximum transmission unit to use for sending packets on network links. A link differs from a link-lowpri in that it will send heartbeats always but will only send data as a last resort when all of the non-lowpri links are down. If more than one cluster is sharing the same network using a lowpri link (usually the public network) then it is extremely important for each cluster to have a unique clusterid. Also, if there is more than one lowpri link configured on a system and sharing the same network, then each must use a unique SAP or else LLT will generate messages referring to lost heartbeats on the console, since links are normally required to be completely isolated.
set-addr systemid tag address
Manually set the address for a system on a particular link identified by tag. The address is a MAC address. Use this command when LLT is using links that do not support broadcast, and thus do not support its automatic address discovery. Such a configuration needs a list of addresses for each system on each link to be set; set them with this command. This command must follow the link command, which defines its tag.
set-verbose 0 | 1
Set the verbose mode of lltconfig, which causes informational messages to be displayed while it processes commands. The default is 0.
set-warn warning_level
Set warning mode, which causes warning messages to be sent to the /var/adm/messages file. The default is 0.
include systemid_range
Set a systemid_range of systemids valid for participation in the cluster. This command alters the limits of systemids that applications may use to prevent attempts to communicate with non-existent systems. The systemid_range is specified as two integers separated by a dash (-). The default is to include 0-nn, where -nn is the maximum supported systemid as determined by the kernel configuration.
exclude systemid_range
Set a systemid_range of systemids not valid for participation in the cluster. This command alters the limits of systemids that applications may use to prevent attempts to communicate with non-existent systmes. The systemid_range is specified as two integers separated by a dash (-). The default is to include 0-nn, where -nn is the maximum supported systemid as determined by the kernel configuration.
set-arp 0 | 1
Set the LLT-ARP mode. If it is set, LLT automatically discovers the MAC addresses of other nodes in the cluster so that they do not have to be set manually with the set-addr command. This option only has meaning when set-bcsathb is 0. The default is 0.
set-bcasthb 0 | 1
Set the broadcast heartbeat mode. If it is set, LLT uses the broadcast capabilities of the underlying network links to send heartbeats and LLT-ARP discovery packets to other systems, instead of sending them to each system individually. This option is valid only when all underlying network links support broadcast. The default is 1.
set-timer timer:value
Set the values of the protocol timers. Valid values for timer are heartbeat, peertrouble, peerinact, oos, retrans, service, and arp. These timers are the heartbeat, peer inactivity, out-of-sequence, retransmit, service procedure, and arp expiration timers, respectively. The value is specified in 1/100ths of a second. The timer values should not be changed haphazardly, or the protocol may fail to operate.
set-flow parameter:value
Set the values of the flow control limits. Valid values for parameter are lowwater, highwater, xportlowwater, xporthighwater, rportlowwater, rporthighwater, window, ackval, sws and linkburst. These limits are the node low water mark, node high water mark, port transmit low water mark port transmit high water mark, port receive low water mark, port receive high water mark, window size, packets to wait (during receive) before sending explict ACK, packets to queue (during transmit) to avoid silly window syndrome and packets to be sent per link consecutively before moving onto the next available link respectively. The value is specified in number of packets. The flow control limits should not be changed haphazardly, or the protocol may fail to operate.
set-nofastpath 0 | 1
Used to disable fastpath mode. If set to 1 LLT does not use the "fastpath" interface to NICs even if it exists. This must precede any link or link-lowpri commands. The default is 0 i.e. LLT attempts to use "fastpath" interface if it exists.
set-checksum 0 | 1 | 10 | 2 | 20
Set checksum mode. When set to 1, LLT checksums each packet it sends to peer to guard against packet corruption on-the-wire. LLT will also offload checksum calculation to hardware if the underlying NIC supports it. In case checksum verification fails on the receiver LLT will drop that packet causing the sender to retransmit it.

Setting to 10 is same as setting to 1 except that LLT will strictly do checksums in software and will NOT offload checksumming to NIC even if it is capable of doing so.

When set to 2, LLT also checksums the whole data buffer submitted by the client to be verified by the peer before delivering it to peer-client. In case the checksum verification fails on the receiver, LLT will panic the machine. This is purposefully done to help in analysis of memory corruption from a crash dump.

Setting to 20 is same as setting to 2 except that LLT will strictly do checksums in software and will NOT offload checksumming to NIC even if it is capable of doing so.

Level 2 and level 20 checksums should only be used when diagnosing memory corruption under the advisement of the support center, since it does have the ability to panic the machine.

The default is 0 (no checksums) as LLT depends on the NIC's hardware to guarantee packet accuracy. Level 1 checksums may be enabled if the private network is suspected of packet corruption on-the-wire or in the NIC. There may be some tradeoff of peformance due to the CPU cycles needed to perform the checksum in addition to those performed by the NIC hardware.

Currently checksum offloading is only implemented on Linux and only for transmitting packets.

set-tracesize size_in_kb
Set trace buffer size. The size is specified in KB.
set-tracelevel 0 | 1 | 3
Set trace level. If set to 1 (the default), LLT will trace all events (upcalls, flow-control, link and connection state changes) in an internal circular buffer (called as trace buffer).

When set to 3, LLT will also trace packets that are received or transmitted. This has an overhead and may impact performance. Hence should be used only to debug.

Setting to 0 disables tracing.
set-strictsrc 0 | 1
Enable strict source address checking.
If set to 1, LLT will check the source address of incoming packets and drop packets from unknown sources. When set to 0 this check is not performed.

This option is only applicable when UDP links are configured. For ethernet this will be ignored (even if set to 1). If left unspecified this option will be set to 1 automatically if UDP links are configured.


EXAMPLES

The following example shows a typical /etc/llttab file with two links:
# look up my node ID in /etc/llthosts
set-node system1
link qfe1 /dev/qfe:1 - ether - - 
link qfe3 /dev/qfe:3 - ether - -  
The following example shows an /etc/llttab file with two links, one of which is used only as a last resort:
# take the name in /etc/nodename and look
# up my system ID in /etc/llthosts
set-node /etc/nodename
# heartbeats only on this link unless the other one fails
link-lowpri le0 /dev/le:0 - ether 0xCAFE - 
link qfe0 /dev/qfe:0 - ether 0xCAFE -
In the example above, the last dash (-) directs LLT to assign a default value to mtu_size. The following example shows an /etc/llttab file for a cluster of two systems connected by two links that do not support broadcasting:
# set my system ID numerically
set-node 2
link scid0 /dev/scid:0 - ether - - 
link scid1 /dev/scid:1 - ether - - 
# MAC addresses on link 0
set-addr 1 scid0 00:00:00:01
set-addr 2 scid0 00:00:00:02
# MAC addresses on link 1
set-addr 1 scid1 00:00:01:01
set-addr 2 scid1 00:00:01:02
set-arp 0
set-bcasthb 0

DISCLAIMER

Manual editing of the GAB and LLT configuration files is not recommended. Refer to the documentation for your clustering solution for information and guidelines on configuring LLT and GAB.

FILES

/etc/llttab
LLT configuration file
/etc/llthosts
LLT host name database
/opt/VRTSllt/sample-llttab
Sample LLT configuration file

SEE ALSO

lltconfig(1M)

Last updated: March 2006
Copyright ©2009 Symantec Corporation
All rights reserved.