linux/net/tipc
Jon Paul Maloy af9946fde9 tipc: separate link starting event from link timeout event
When a new link instance is created, it is trigged to start by
sending it a TIPC_STARTING_EVT, whereafter a regular link
reset is applied to it.

The starting event is codewise treated as a timeout event, and prompts
a link RESET message to be sent to the peer node, carrying a link
session identifier. The later link_reset() call nudges this session
identifier, whereafter all subsequent RESET messages will be sent out
with the new identifier. The latter session number overrides the former,
causing the peer to unconditionally accept it irrespective of its
current working state.

We don't think that this causes any problem, but it is not in accordance
with the protocol spec, and may cause confusion when debugging TIPC
sessions.

To avoid this, we make the starting event distinct from the
subsequent timeout events, by not allowing the former to send
out any RESET message. This eliminates the described problem.

Reviewed-by: Erik Hugne <erik.hugne@ericsson.com>
Reviewed-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-02-04 16:09:31 -08:00
..
addr.c tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
addr.h tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
bcast.c tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
bcast.h tipc: make tipc broadcast link support net namespace 2015-01-12 16:24:33 -05:00
bearer.c tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
bearer.h tipc: make tipc broadcast link support net namespace 2015-01-12 16:24:33 -05:00
config.c tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
config.h tipc: involve namespace infrastructure 2015-01-12 16:24:32 -05:00
core.c tipc: make tipc random value aware of net namespace 2015-01-12 16:24:33 -05:00
core.h tipc: make tipc random value aware of net namespace 2015-01-12 16:24:33 -05:00
discover.c tipc: eliminate race during node creation 2015-02-04 16:09:31 -08:00
discover.h tipc: involve namespace infrastructure 2015-01-12 16:24:32 -05:00
eth_media.c tipc: improve and extend media address conversion functions 2014-05-14 15:19:48 -04:00
ib_media.c tipc: improve and extend media address conversion functions 2014-05-14 15:19:48 -04:00
Kconfig tipc: convert tipc reference table to use generic rhashtable 2015-01-08 19:47:14 -08:00
link.c tipc: separate link starting event from link timeout event 2015-02-04 16:09:31 -08:00
link.h tipc: avoid stale link after aborted failover 2015-02-04 16:09:31 -08:00
log.c tipc: remove print_buf and deprecated log buffer code 2012-07-13 19:34:43 -04:00
Makefile tipc: remove node subscription infrastructure 2014-11-26 12:30:16 -05:00
msg.c tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
msg.h tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
name_distr.c tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
name_distr.h tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
name_table.c tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
name_table.h tipc: name tipc name table support net namespace 2015-01-12 16:24:33 -05:00
net.c tipc: make tipc node address support net namespace 2015-01-12 16:24:33 -05:00
net.h tipc: make tipc node table aware of net namespace 2015-01-12 16:24:32 -05:00
netlink.c tipc: make netlink support net namespace 2015-01-12 16:24:34 -05:00
netlink.h tipc: cleanup core.c and core.h files 2015-01-12 16:24:31 -05:00
node.c tipc: eliminate race during node creation 2015-02-04 16:09:31 -08:00
node.h tipc: make tipc node table aware of net namespace 2015-01-12 16:24:32 -05:00
server.c tipc: make subscriber server support net namespace 2015-01-12 16:24:33 -05:00
server.h tipc: make subscriber server support net namespace 2015-01-12 16:24:33 -05:00
socket.c tipc: fix socket list regression in new nl api 2015-01-18 00:27:05 -05:00
socket.h tipc: make subscriber server support net namespace 2015-01-12 16:24:33 -05:00
subscr.c tipc: make subscriber server support net namespace 2015-01-12 16:24:33 -05:00
subscr.h tipc: make subscriber server support net namespace 2015-01-12 16:24:33 -05:00
sysctl.c tipc: add name distributor resiliency queue 2014-09-01 17:51:48 -07:00