.TH TIPC-BEARER 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-bearer \- show or modify TIPC bearers

.SH SYNOPSIS
.ad l
.in +8

.ti -8
.B tipc bearer enable
.RB "[ " domain
.IR DOMAIN " ]"
.RB "[ " priority
.IR PRIORITY " ]"
.BR media
.br
.RB "{ { " eth " | " ib " } " device
.IR "DEVICE" " }"
.RB "|"
.br
.RB	"{ " udp
.B name
.IR NAME
.B localip
.IR LOCALIP
.RB "[ " localport
.IR LOCALPORT " ]"
.RB "[ " remoteip
.IR REMOTEIP " ]"
.RB "[ " remoteport
.IR REMOTEPORT " ] }"
.br

.ti -8
.B tipc bearer disable media
.br
.RB "{ { " eth " | " ib " } " device
.IR "DEVICE " }
.RB "|"
.br
.RB "{ " udp
.B name
.IR NAME " }"
.br

.ti -8
.B tipc bearer set
.RB "{ " "priority "
.IR PRIORITY
.RB "| " tolerance
.IR TOLERANCE
.RB "| " window
.IR WINDOW
.RB "} " media
.br
.RB "{ { " eth " | " ib " } " device
.IR "DEVICE" " }"
.RB "|"
.br
.RB "{ " udp
.B name
.IR NAME " }"
.br

.ti -8
.B tipc bearer get
.RB "{ " "priority" " | " tolerance " | " window " } " media
.br
.RB "{ { " eth " | " ib " } " device
.IR "DEVICE" " }"
.RB "|"
.br
.RB "{ " udp
.B name
.IR NAME " }"
.br

.ti -8
.B tipc bearer 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 bearer --help
will show bearer help and
.B tipc --help
will show general help. The position of the option in the string is irrelevant.
.SH DESCRIPTION

.SS Bearer identification
.TP
.BI "media " MEDIA
.br
Specifies the TIPC media type for a particular bearer to operate on.
Different media types have different ways of identifying a unique bearer.
For example,
.BR "ib " "and " eth
identify a bearer with a
.I DEVICE
while
.B udp
identify a bearer with a
.IR "LOCALIP " "and a " NAME

.B ib
- Infiniband
.sp
.B eth
- Ethernet
.sp
.B udp
- User Datagram Protocol (UDP)
.sp

.TP
.BI "name " NAME
.br
Logical bearer identifier valid for bearers on
.B udp
media.

.TP
.BI "device " DEVICE
.br
Physical bearer device valid for bearers on
.B eth
and
.B ib
media.

.SS Bearer properties

.TP
.B domain
.br
The addressing domain (region) in which a bearer will establish links and accept
link establish requests.

.TP
.B priority
.br
Default link priority inherited by all links subsequently established over a
bearer. A single bearer can only host one link to a particular node. This means
the default link priority for a bearer typically affects which bearer to use
when communicating with a particular node in an multi bearer setup. For more
info about link priority see
.BR tipc-link (8)

.TP
.B tolerance
.br
Default link tolerance inherited by all links subsequently established over a
bearer. For more info about link tolerance see
.BR tipc-link (8)

.TP
.B window
.br
Default link window inherited by all links subsequently established over a
bearer. For more info about the link window size see
.BR tipc-link (8)

.SS UDP bearer options

.TP
.BI "localip " LOCALIP
.br
Specify a local IP v4/v6 address for a
.B udp
bearer.

.TP
.BI "localport " LOCALPORT
.br
Specify the local port for a
.B udp
bearer. The default port 6118 is used if no port is specified.

.TP
.BI "remoteip " REMOTEIP
.br
Specify a remote IP for a
.B udp
bearer. If no remote IP is specified a
.B udp
bearer runs in multicast mode and tries to auto-discover its neighbours.
The multicast IP address is generated based on the TIPC network ID. If a remote
IP is specified the
.B udp
bearer runs in point-to-point mode.

.TP
.BI "remoteport " REMOTEPORT
.br
Specify the remote port for a
.B udp
bearer. The default port 6118 is used if no port is specified.

.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-link (8),
.BR tipc-media (8),
.BR tipc-nametable (8),
.BR tipc-node (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>
