Configure and Check TIPC Bearers with tipc

Get the bearer wrong and TIPC links simply refuse to form, with no dramatic error to point you at the cause. This guide uses tipc bearer to list bearers, inspect their settings, and configure a UDP bearer between known IP addresses. The examples use tipc from iproute2 6.1.0-1ubuntu6.4, with the installed tipc-bearer(8) manpage dated 2 June 2015. The command talks to the kernel through netlink, so the operation also depends on a TIPC-capable kernel and a usable TIPC setup.

Allow about fifteen minutes for inspection, or longer if you are wiring two hosts together. You need a shell, the iproute2 package, the relevant network interface or IP address, and a maintenance window for changes. Listing and reading help are ordinary commands. Enabling, disabling, changing or adding bearers changes kernel networking state and normally needs elevated privileges allowed by the host.

Safety boundary: Do not run the enable, disable, set or add examples on a production node until you have recorded the current list and agreed how to undo the change. Disabling a bearer can interrupt TIPC links that use it.

1. Confirm the installed command

Start with read-only checks. They do not enable TIPC or alter a bearer:

$ command -v tipc
$ tipc bearer --help

The help option may be placed anywhere in the command chain. Check the package version as well:

$ dpkg-query -W -f='${Package} ${Version}\n' iproute2
iproute2 6.1.0-1ubuntu6.4

Your version can differ. Keep it with the change record because command behaviour and kernel support are a pair, not properties of the client package alone.

Checkpoint: If help fails, stop here. A missing command is a package or PATH problem; it is not evidence that a bearer is misconfigured.

2. Record the current bearers

List the kernel's current bearer state before touching anything:

$ sudo tipc bearer list

The exact output depends on the kernel and existing configuration. A successful command returns status 0, while a positive status indicates failure. If you see an error about the TIPC netlink family or a module not being loaded, investigate kernel support and TIPC availability before retrying with different bearer syntax.

For a known bearer, use get. Ethernet and Infiniband bearers are identified by device; UDP bearers are identified by name, with their local IP also relevant to the bearer:

$ sudo tipc bearer get priority media eth device eth0
$ sudo tipc bearer get media udp name site-a localip 192.0.2.10 localport

Replace eth0, site-a and 192.0.2.10 with values from your host. The first form reads the default link priority. The second asks for the local UDP port. You can also request tolerance, window, localip or remoteip for a UDP bearer. If you omit the property after get, the command queries the bearer rather than a single UDP field.

3. Choose the UDP mode before enabling it

A UDP bearer always has a logical name and localip. If you omit remoteip, it uses multicast mode and attempts to discover neighbours. If you provide one remote address, it uses point-to-point mode. The default local and remote UDP port is 6118 when no port is specified.

For a controlled two-host link, use point-to-point mode and make the local and remote values explicit:

$ sudo tipc bearer enable \
    media udp name site-a localip 192.0.2.10 localport 6118 \
    remoteip 192.0.2.20 remoteport 6118

Run the matching command on the other host with its own local address and site-b name. The names are logical identifiers, so use a naming convention that is unique and easy to recognise on each node.

If you need several unicast peers, enable the bearer and add remote addresses separately:

$ sudo tipc bearer add media udp name site-a remoteip 192.0.2.20
$ sudo tipc bearer add media udp name site-a remoteip 192.0.2.21

Adding unicast peers makes the bearer use replicast, which emulates multicast by sending to each configured address. A remote address cannot be added to a multicast bearer. Do not mix these modes casually: choose one based on the network path and the peers you intend to reach.

Checkpoint: Inspect the result immediately:

$ sudo tipc bearer list
$ sudo tipc bearer get media udp name site-a remoteip

Confirm that the expected name, local address, port and remote address are present. The command's exit status is more reliable for automation than parsing presentation text:

$ sudo tipc bearer list
$ printf 'tipc bearer list status: %s\n' "$?"

4. Tune defaults only when the link design requires it

A bearer can provide default priority, tolerance and window values to links created later. These are link defaults, not a guarantee that every existing link changes immediately. In a multi-bearer setup, priority can influence which bearer is preferred for a node when only one link to that node can be hosted on a bearer.

Change one property at a time and record the old value first:

$ sudo tipc bearer get priority media udp name site-a
$ sudo tipc bearer set priority 10 media udp name site-a
$ sudo tipc bearer get priority media udp name site-a

The same shape applies to tolerance and window. The numeric value must match the policy and units used by your TIPC design. Do not guess a value because the command accepts an integer. To undo this example, run set again with the recorded old value.

5. Disable a bearer and recover cleanly

Disabling is the direct undo for an enabled bearer, but it is service-disrupting. Check the current name or device first, then disable the exact bearer:

$ sudo tipc bearer disable media udp name site-a
$ sudo tipc bearer list

For Ethernet or Infiniband, use the device form:

$ sudo tipc bearer disable media eth device eth0

To recover, re-run the original enable command with the same domain, addresses, ports and bearer name. Re-add any remote addresses that were configured separately, then verify with bearer list and bearer get. If links do not return, inspect TIPC node and link state separately; a bearer being enabled only confirms that the transport was configured.

Done means