Inspect and tune TIPC media defaults with tipc media
You will use tipc media to discover the media known to TIPC, read their default link properties, and change one property when you have a measured reason to do so. The three properties are priority, tolerance and window. They are defaults inherited by bearers enabled later on that media, so this is not a general link tuning command.
The route
Jump straight to the step you need, or tick off Done means at the end.
Allow about 15 minutes for an inspection. A change needs more care: record the old value, apply one new value, enable or restart the affected bearer as appropriate for your design, and verify the result. The examples use iproute2 6.1.0, installed here as the iproute2 package.
1. Check the installed command and TIPC support
Start without changing kernel state. The command is normally installed as /usr/sbin/tipc, and the version belongs to the wider iproute2 package rather than to a separate tipc-media package:
$ command -v tipc
/usr/sbin/tipc
$ ip -V
ip utility, iproute2-6.1.0, libbpf 1.3.0
$ tipc media --help
# help or a TIPC support diagnostic is printed here
The exact help layout can differ between iproute2 builds, and this command may still try to contact the TIPC netlink family. The useful check is that the installed manual and command expose list, get and set. The local manual is dated 2 June 2015, while the binary is iproute2 6.1.0, so treat the installed help and the command's exit status as the final word for this host.
TIPC must also be available in the running kernel. If every media command reports Unable to get TIPC nl family id (module loaded?), load or enable TIPC through your normal kernel and system configuration process, then retry. That message is not evidence that a media name is wrong.
2. List the available media
Run the read-only discovery command:
$ tipc media list
# media rows and values are host-specific
Your host may show no rows, or different media and values. Do not copy a media name from this example into a change command. Copy an exact name from your own list, preserving punctuation and case.
Checkpoint: you have either found the media you intend to inspect, or you have stopped at the kernel-support error. If the list is empty, fix the TIPC deployment first. Do not guess a name and move on to set.
3. Read one inherited property
Choose one media name from your output and replace MEDIA_NAME. Each query asks for one property:
$ MEDIA_NAME='eth:eth0'
$ tipc media get priority media "$MEDIA_NAME"
# one numeric value is printed if the query succeeds
$ tipc media get tolerance media "$MEDIA_NAME"
# one numeric value is printed if the query succeeds
$ tipc media get window media "$MEDIA_NAME"
# one numeric value is printed if the query succeeds
These values describe defaults for bearers subsequently enabled on the media. They do not automatically rewrite every existing link. The manual defines priority, tolerance and window as inherited link properties, and points to tipc-link(8) for the link-level meaning.
Record the value you plan to change. If the command fails, check the copied media name, TIPC support, and the command's exit status before trying sudo. A non-zero status means the operation failed; it is not a value to interpret.
4. Change one media default deliberately
Warning
This changes live kernel networking state and can affect bearers enabled afterwards. Use an approved maintenance window for a production TIPC deployment. The write operation normally needs elevated networking privileges, so use sudo only after you have confirmed the target:
$ sudo tipc media set priority 20 media "$MEDIA_NAME"
$ printf 'exit status: %s\n' "$?"
exit status: 0
The command syntax is one property, its numeric value, the word media, and the exact media name. The same form applies to the other two properties:
$ sudo tipc media set tolerance TOLERANCE_VALUE media "$MEDIA_NAME"
$ sudo tipc media set window WINDOW_VALUE media "$MEDIA_NAME"
Replace the all-capital values with numbers chosen for your TIPC design. The tipc-media(8) manual does not specify universal defaults or safe values for those fields, so this guide does not invent them. Use the link and bearer documentation for the semantics, and follow the values tested by your deployment.
5. Verify the change
Read back the same property immediately:
$ tipc media get priority media "$MEDIA_NAME"
# the value should match the value just set
A successful read-back confirms the media property currently exposed by TIPC. It does not prove that an existing bearer changed, because the setting is inherited by bearers enabled later. If you need the value on an already enabled bearer, inspect that bearer or link with the relevant TIPC command and apply the service-specific restart or re-enable procedure.
Keep the old value in your change record. If the new value causes a problem, restore it with the same command shape:
$ sudo tipc media set priority OLD_PRIORITY_VALUE media "$MEDIA_NAME"
$ tipc media get priority media "$MEDIA_NAME"
# the recorded old value should be printed
Do not run the restore line until you have replaced OLD_PRIORITY_VALUE with the value you recorded. There is no generic undo transaction in this interface; recovery is another explicit set using the previous value.
6. Avoid the common traps
- Confusing media with bearer: a media property is an inherited default. Use link or bearer commands when you need to inspect an already active object.
- Guessing names: list first and copy the exact name. Names such as
eth:eth0are examples, not guaranteed host configuration. - Changing all three values at once: the syntax selects one property per
setcommand. Make one measured change, verify it, then continue. - Assuming a successful command proves service health: exit status 0 says the command succeeded. It does not validate packet delivery, link negotiation, or an application's TIPC behaviour.
- Using root to hide a discovery failure: privileges cannot create a missing TIPC netlink family or a media that the kernel does not know about.
Done means
- You confirmed the installed iproute2 version and
tipc mediasyntax. - You listed media and copied an exact target name from that output.
- You read the relevant property before changing it.
- You understand that the value is inherited by subsequently enabled bearers.
- You verified any change with
tipc media get. - You recorded the old value and can restore it with an explicit
setcommand.