|
From: Ying X. <yin...@wi...> - 2012-07-05 05:11:17
|
Good news! I almost spent half of year resolving the issue for our customer on TIPC-1.7.7 version. After many and many pressure tests are done by the customer in their environment(as in my environment, it's hard to be reproduced), until today their tests' results prove the patch set of 1.7.7 version is very stable. Before that, I actually provided several versions to fix the issue, but they all were failed to be passed kinds of test cases. Here, thanks Jon and Allan for presenting proposals about it. Regards, Ying Ying Xue wrote: > Currently there have two major known issues about broadcast link as > belows: > > 1. There has one risk that name table updates sent over the broadcast > link after the neighbor is discovered will arrive before the initial > transfer of name table entries over the unicast link has been completed. > > 2. There has another risk that the node may send a broadcast message > after the neighbor is discovered without being certain whether the > neighbor will acknowledge it or not. > > To resolve above issues, we introduce a new BCAST_PROTOCOL, and send > that immediately after name table messages have been sent via reliable > unicast link. This message contains the sequence number of the most > recent broadcast message the sending node has sent, telling the > neighbor node when to start accepting broadcast messages and where to > start receiving and acknowledging broadcast messages. > > In addition, to keep protocol compatibility backwards, we also involve > a flag bit to indicate whether a node supports the enhanced broadcast > synchronization mechanism or not. > > Ying Xue (3): > tipc: Add a new flag bit to indicate bclink sync protocol is > supported > tipc: Keep protocol compatability backwards > tipc: Involve the enhanced broadcast synchronization mechanism > > net/tipc/bcast.c | 23 ++++++++++++++++++++++ > net/tipc/bcast.h | 1 + > net/tipc/link.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++- > net/tipc/link.h | 1 + > net/tipc/msg.h | 10 +++++++++ > net/tipc/name_distr.c | 1 + > net/tipc/node.c | 5 ++- > net/tipc/node.h | 2 + > 8 files changed, 90 insertions(+), 3 deletions(-) > > > |