.TH TIPC-LINK 8 "02 Jun 2015" "iproute2" "Linux"

.\" For consistency, please keep padding right aligned.
.\" For example '.B "foo " bar' and not '.B foo " bar"'

.SH NAME
tipc-link \- show links or modify link properties

.SH SYNOPSIS
.ad l
.in +8

.ti -8

.ti -8
.B tipc link set
.RB "{ " "priority "
.IR PRIORITY
.RB "| " tolerance
.IR TOLERANCE
.RB "| " window
.IR "WINDOW " }
.BI "link " LINK

.ti -8
.B tipc link get
.RB "{ " "priority" " | " tolerance " | " window " } " link
.I LINK

.ti -8
.B tipc link statistics
.RB "{ " "show " "[ " link
.I LINK
.RB "] | " "reset
.BI "link " "LINK "
}

.ti -8
.B tipc link list
.br

.SH OPTIONS
Options (flags) that can be passed anywhere in the command chain.
.TP
.BR "\-h" , " --help"
Show help about last valid command. For example
.B tipc link --help
will show link help and
.B tipc --help
will show general help. The position of the option in the string is irrelevant.
.SH DESCRIPTION

.SS Link statistics

.TP
.BR "ACTIVE " "link state"
.br
An
.B ACTIVE
link is serving traffic. Two links to the same node can become
.B ACTIVE
if they have the same link
.BR priority .
If there is more than two links with the same priority the additional links will
be put in
.B STANDBY
state.

.TP
.BR "STANDBY " "link state"
.br
A
.B STANDBY
link has lower link priority than an
.B ACTIVE
link. A
.B STANDBY
link has control traffic flowing and is ready to take over should the
.B ACTIVE
link(s) go down.

.TP
.B MTU
.br
The Maximum Transmission Unit. The two endpoints advertise their default or
configured
.B MTU
at initial link setup and will agree to use the lower of the two values should
they differ.

.TP
.B Packets
.br
The total amount of transmitted or received TIPC packets on a link. Including
.BR "fragmented " "and " "bundled " packets.

.TP
.B Fragments
.br
Represented in the form
.BR fragments / fragmented .
Where
.B fragmented
is the amount of data messages which have been broken into
.BR fragments .
Subsequently the
.B fragments
are the total amount of packets that the
.B fragmented
messages has been broken into.

.TP
.B Bundles
.br
Represented in the form
.BR bundles / bundled .
If a link becomes congested the link will attempt to bundle data from small
.B bundled
packets into
.B bundles
of full MTU size packets before they are transmitted.

.TP
.B Profile
.br
Shows the
.B average
packet size in octets/bytes for a
.B sample
of packets. It also shows the packet size distribution of the
.B sampled
packets in the intervals

0-64 bytes
.br
64-256 bytes
.br
256-1024 bytes
.br
1024-4096 bytes
.br
4096-16384 bytes
.br
16384-32768 bytes
.br
32768-66000 bytes

.TP
.B Message counters

.B states
- Number of link state messages
.sp

.B probes
- Link state messages with probe flag set. Typically sent when a link is idle
.sp

.B nacks
- Number of negative acknowledgement (NACK) packets sent and received by the
link
.sp

.B defs
- Number of packets received out of order
.sp

.B dups
- Number of duplicate packets received

.TP
.B Congestion link
The number of times an application has tried to send data when the TIPC link
was congested

.TP
.B Send queue
.B Max
is the maximum amount of messages that has resided in the out queue during the
statistics collection period of a link.

.B Avg
is the average outqueue size during the lifetime of a link.

.SS Link properties

.TP
.B priority
.br
The priority between logical TIPC links to a particular node. Link priority can
range from 0 (lowest) to 31 (highest).

.TP
.B tolerance
.br
Link tolerance specifies the maximum time in milliseconds that TIPC will allow
a communication problem to exist before taking the link down. The default value
is 1500 milliseconds.

.TP
.B window
.br
The link window controls how many unacknowledged messages a link endpoint can
have in its transmit queue before TIPC's congestion control mechanism is
activated.

.SH EXIT STATUS
Exit status is 0 if command was successful or a positive integer upon failure.

.SH SEE ALSO
.BR tipc (8),
.BR tipc-media (8),
.BR tipc-bearer (8),
.BR tipc-nametable (8),
.BR tipc-node (8),
.BR tipc-peer (8),
.BR tipc-socket (8)
.br
.SH REPORTING BUGS
Report any bugs to the Network Developers mailing list
.B <netdev@vger.kernel.org>
where the development and maintenance is primarily done.
You do not have to be subscribed to the list to send a message there.

.SH AUTHOR
Richard Alpe <richard.alpe@ericsson.com>
