From: Ying X. <yin...@wi...> - 2014-12-31 03:02:17
|
This patchset aims to add net namespace support for TIPC stack. Currently TIPC module declares the following global resources: - TIPC network idenfication number - TIPC node table - TIPC bearer list table - TIPC broadcast link - TIPC socket reference table - TIPC name service table - TIPC node address - TIPC service subscriber server - TIPC random value - TIPC netlink In order that TIPC is aware of namespace, above each resource must be allocated, initialized and destroyed inside per namespace. Therefore, the major works of this patchset are to isolate these global resources and make them private for each namespace. However, before these changes come true, some necessary preparation works must be first done: convert socket reference table with generic rhashtable, cleanup core.c and core.h files, remove unnecessary wrapper functions for kernel timer interfaces and so on. v2 changes: - Involve Patch #1 into the series - Rebase the whole series on the latest net-next tree - Use skb_orphan() to orphan a SKB buffer - Fix a issue that nametbl_lock spin lock is not initialized Ying Xue (16): tipc: convert tipc reference table to use generic rhashtable tipc: remove tipc_core_start/stop routines tipc: remove unnecessary wrapper functions of kernel timer APIs tipc: cleanup core.c and core.h files tipc: feed tipc sock pointer to tipc_sk_timeout routine tipc: remove unused tipc_link_get_max_pkt routine tipc: involve namespace infrastructure tipc: make tipc node table aware of net namespace tipc: make bearer list support net namespace tipc: make tipc broadcast link support net namespace tipc: make tipc socket support net namespace tipc: name tipc name table support net namespace tipc: make tipc node address support net namespace tipc: make subscriber server support net namespace tipc: make tipc random value aware of net namespace tipc: make netlink support net namespace net/tipc/Kconfig | 12 - net/tipc/addr.c | 45 +++- net/tipc/addr.h | 45 +--- net/tipc/bcast.c | 367 +++++++++++++------------- net/tipc/bcast.h | 113 +++++--- net/tipc/bearer.c | 141 +++++----- net/tipc/bearer.h | 46 ++-- net/tipc/config.c | 90 +++---- net/tipc/config.h | 6 +- net/tipc/core.c | 144 +++++----- net/tipc/core.h | 173 +++--------- net/tipc/discover.c | 84 +++--- net/tipc/discover.h | 8 +- net/tipc/link.c | 322 ++++++++++++----------- net/tipc/link.h | 36 ++- net/tipc/msg.c | 71 +++-- net/tipc/msg.h | 60 +++-- net/tipc/name_distr.c | 115 ++++---- net/tipc/name_distr.h | 16 +- net/tipc/name_table.c | 180 +++++++------ net/tipc/name_table.h | 33 +-- net/tipc/net.c | 54 ++-- net/tipc/net.h | 4 +- net/tipc/netlink.c | 17 +- net/tipc/netlink.h | 3 + net/tipc/node.c | 159 +++++------ net/tipc/node.h | 35 +-- net/tipc/server.c | 6 +- net/tipc/server.h | 17 +- net/tipc/socket.c | 698 ++++++++++++++++++++++--------------------------- net/tipc/socket.h | 19 +- net/tipc/subscr.c | 131 ++++++---- net/tipc/subscr.h | 14 +- 33 files changed, 1680 insertions(+), 1584 deletions(-) -- 1.7.9.5 |