Contents |
TIPC Configuration
Overview
OpenClovis uses the TIPC [[1]] Linux kernel module to provide low latency communications between nodes in the cluster. However, as configured out-of-the-box, TIPC sometimes has trouble handling the bandwidth required for telecom applications.
This can result in link "flapping" (several rapid link-level drops and reconnects) or dropped packets.
FAQ
- How can the TIPC configuration be changed to support higher bandwidth?
- You need to recompile the TIPC module. Directions on compiling kernel modules are all over the internet so shall not be repeated here. Increase/modify the following macros in the tipc source code before recompiling tipc module:
- TIPC_DEF_LINK_WIN
- to 250
- in include/net/tipc/tipc_bearer.h
- TIPC_MAX_LINK_WIN
- to 300
- in include/net/tipc/tipc_bearer.h
- BCLINK_WIN_DEFAULT
- to 150 (from 20)
- in net/tipc/bcast.c
Optional and nice to have in case receiver/machine is running slow to avoid packet drops from tipc (flow control)
- OVERLOAD_LIMIT_BASE.
- Change the default from 5000 to say 8000 (some tweaking may be necessary based on the difference in performance of your machines)
- in net/tipc/socket.c
- TIPC_FLOW_CONTROL_WIN
- from 512 to say 3000
- in include/net/tipc/tipc_port.h
- This will also alleviate the condition for the reliable or SOCK_STREAM tipc topology notification socket which can also be impacted.
Make sure that TIPC_FLOW_CONTROL_WIN*2 <= OVERLOAD_LIMIT_BASE
Then recompile and after reloading tipc and establishing both the links, confirm link window shows 250 instead of the default of 50 with tipc-config -ls=<link-name>