WSL2-Linux-Kernel/net/tipc
Allan Stephens 5b1f7bdeb6 tipc: Fix premature broadcast advertisement by sending node
Prevent a TIPC node from sending out a LINK_STATE message
advertising a broadcast message that it is in the process
of sending, but has not yet actually sent.  Previously, it was
possible for a link timeout to occur in between the time the
broadcast link updated its "last message sent" counter and the
time the broadcast message was passed to the broadcast bearer
for transmission.  This ensures that the code which issues
the LINK_STATE message isn't informed of the new message until
the broadcast bearer has had a chance to send it.

Note: The "last message sent" value is stored in the "fsm_msg_count"
field of the link structure used by the broadcast link.  Since the
broadcast link doesn't utilize the normal link FSM, this field can
be re-used rather than adding a new field to the broadcast link.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-08-17 17:31:55 -07:00
..
Kconfig tipc: Clean up configuration file 2010-01-19 14:23:57 -08:00
Makefile [TIPC] Initial merge 2006-01-12 14:06:31 -08:00
addr.c tipc: Reduce footprint by un-inlining address routines 2010-05-12 23:02:26 -07:00
addr.h tipc: Reduce footprint by un-inlining address routines 2010-05-12 23:02:26 -07:00
bcast.c tipc: Fix premature broadcast advertisement by sending node 2010-08-17 17:31:55 -07:00
bcast.h tipc: Reduce footprint by un-inlining port list routines 2010-05-12 23:02:27 -07:00
bearer.c tipc: Reduce footprint by un-inlining bearer congestion routine 2010-05-12 23:02:28 -07:00
bearer.h tipc: Reduce footprint by un-inlining bearer congestion routine 2010-05-12 23:02:28 -07:00
cluster.c tipc: add tipc_ prefix to fcns targeted for un-inlining 2010-05-12 23:02:25 -07:00
cluster.h tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
config.c tipc: Add support for "-s" configuration option 2010-05-12 23:02:23 -07:00
config.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
core.c tipc: Fix log buffer memory leak if initialization fails 2010-08-17 17:31:51 -07:00
core.h tipc: Reduce footprint by un-inlining buf_acquire routine 2010-05-12 23:02:28 -07:00
dbg.c tipc: fix non-const printf format arguments 2009-03-18 19:11:29 -07:00
dbg.h tipc: Elimination of print buffer chaining 2008-05-05 01:22:30 -07:00
discover.c tipc: add tipc_ prefix to fcns targeted for un-inlining 2010-05-12 23:02:25 -07:00
discover.h tipc: Minor optimizations to received message processing 2008-06-04 17:32:35 -07:00
eth_media.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
handler.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
link.c tipc: Check for disabled bearer when processing incoming messages 2010-08-17 17:31:53 -07:00
link.h tipc: Relocate trivial link status functions to header file 2010-05-12 23:02:24 -07:00
msg.c tipc: Reduce footprint by un-inlining tipc_msg_* routines 2010-05-12 23:02:29 -07:00
msg.h tipc: Reduce footprint by un-inlining tipc_msg_* routines 2010-05-12 23:02:29 -07:00
name_distr.c tipc: add tipc_ prefix to fcns targeted for un-inlining 2010-05-12 23:02:25 -07:00
name_distr.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
name_table.c tipc: add tipc_ prefix to fcns targeted for un-inlining 2010-05-12 23:02:25 -07:00
name_table.h tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
net.c tipc: add tipc_ prefix to fcns targeted for un-inlining 2010-05-12 23:02:25 -07:00
net.h tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
netlink.c genetlink: make netns aware 2009-07-12 14:03:27 -07:00
node.c tipc: add tipc_ prefix to fcns targeted for un-inlining 2010-05-12 23:02:25 -07:00
node.h tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
node_subscr.c tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
node_subscr.h tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
port.c tipc: add tipc_ prefix to fcns targeted for un-inlining 2010-05-12 23:02:25 -07:00
port.h tipc: Eliminate obsolete port's "congested_link" field 2010-05-12 23:02:20 -07:00
ref.c tipc: fix lockdep warning on address assignment 2010-03-16 14:15:45 -07:00
ref.h [TIPC]: Remove inlining of reference table locking routines 2008-04-16 18:21:16 -07:00
socket.c tipc: correct problems with misleading flags returned using poll() 2010-08-17 17:31:53 -07:00
subscr.c TIPC: Updated topology subscription protocol according to latest spec 2010-04-06 19:50:19 -07:00
subscr.h tipc: fix endianness on tipc subscriber messages 2010-03-08 12:20:58 -08:00
user_reg.c tipc: Eliminate improper use of TIPC_OK error code 2008-07-14 22:44:01 -07:00
user_reg.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
zone.c tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
zone.h tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00