We clean up and improve the name binding table: - Replace the memory consuming 'sub_sequence/service range' array with an RB tree. - Introduce support for overlapping service sequences/ranges
v2: #1: Fixed a missing initialization reported by David Miller #4: Obsoleted and replaced a few more macros to get a consistent terminology in the API. #5: Added new commit to fix a potential string overflow bug (it is still only in net-next) reported by Arnd Bergmann Jon Maloy (5): tipc: replace name table service range array with rb tree tipc: refactor name table translate function tipc: permit overlapping service ranges in name table tipc: tipc: rename address types in user api tipc: avoid possible string overflow include/uapi/linux/tipc.h | 59 +-- net/tipc/core.h | 1 + net/tipc/link.c | 5 +- net/tipc/name_distr.c | 90 +--- net/tipc/name_distr.h | 1 - net/tipc/name_table.c | 1075 ++++++++++++++++++++------------------------- net/tipc/name_table.h | 10 +- net/tipc/net.c | 2 +- net/tipc/node.c | 4 +- net/tipc/socket.c | 4 +- net/tipc/subscr.h | 4 +- 11 files changed, 556 insertions(+), 699 deletions(-) -- 2.1.4