diff options
| author | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-06-24 19:32:59 -0400 |
|---|---|---|
| committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-06-24 19:32:59 -0400 |
| commit | 1c5ba67d2277ac2faf37c61076e8b5fa312be492 (patch) | |
| tree | a645a1a2f7aea7faafcd67c6ba1bfd424b95cd7d /net/tipc/node.c | |
| parent | dbb5281a1f84b2f93032d4864c211ce8a20811a7 (diff) | |
| parent | 045df37e743c7448931131988e99e8fe0cc92a54 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Resolve conflict between d2912cb15bdd ("treewide: Replace GPLv2
boilerplate/reference with SPDX - rule 500") removing the GPL disclaimer
and fe03d4745675 ("Update my email address") which updates Jozsef
Kadlecsik's email.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/tipc/node.c')
| -rw-r--r-- | net/tipc/node.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c index 9e106d3ed187..550581d47d51 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c | |||
| @@ -766,9 +766,9 @@ static void tipc_node_link_up(struct tipc_node *n, int bearer_id, | |||
| 766 | * disturbance, wrong session, etc.) | 766 | * disturbance, wrong session, etc.) |
| 767 | * 3. Link <1B-2B> up | 767 | * 3. Link <1B-2B> up |
| 768 | * 4. Link endpoint 2A down (e.g. due to link tolerance timeout) | 768 | * 4. Link endpoint 2A down (e.g. due to link tolerance timeout) |
| 769 | * 5. Node B starts failover onto link <1B-2B> | 769 | * 5. Node 2 starts failover onto link <1B-2B> |
| 770 | * | 770 | * |
| 771 | * ==> Node A does never start link/node failover! | 771 | * ==> Node 1 does never start link/node failover! |
| 772 | * | 772 | * |
| 773 | * @n: tipc node structure | 773 | * @n: tipc node structure |
| 774 | * @l: link peer endpoint failingover (- can be NULL) | 774 | * @l: link peer endpoint failingover (- can be NULL) |
| @@ -783,6 +783,10 @@ static void tipc_node_link_failover(struct tipc_node *n, struct tipc_link *l, | |||
| 783 | if (!tipc_link_is_up(tnl)) | 783 | if (!tipc_link_is_up(tnl)) |
| 784 | return; | 784 | return; |
| 785 | 785 | ||
| 786 | /* Don't rush, failure link may be in the process of resetting */ | ||
| 787 | if (l && !tipc_link_is_reset(l)) | ||
| 788 | return; | ||
| 789 | |||
| 786 | tipc_link_fsm_evt(tnl, LINK_SYNCH_END_EVT); | 790 | tipc_link_fsm_evt(tnl, LINK_SYNCH_END_EVT); |
| 787 | tipc_node_fsm_evt(n, NODE_SYNCH_END_EVT); | 791 | tipc_node_fsm_evt(n, NODE_SYNCH_END_EVT); |
| 788 | 792 | ||
| @@ -1706,7 +1710,7 @@ static bool tipc_node_check_state(struct tipc_node *n, struct sk_buff *skb, | |||
| 1706 | /* Initiate or update failover mode if applicable */ | 1710 | /* Initiate or update failover mode if applicable */ |
| 1707 | if ((usr == TUNNEL_PROTOCOL) && (mtyp == FAILOVER_MSG)) { | 1711 | if ((usr == TUNNEL_PROTOCOL) && (mtyp == FAILOVER_MSG)) { |
| 1708 | syncpt = oseqno + exp_pkts - 1; | 1712 | syncpt = oseqno + exp_pkts - 1; |
| 1709 | if (pl && tipc_link_is_up(pl)) { | 1713 | if (pl && !tipc_link_is_reset(pl)) { |
| 1710 | __tipc_node_link_down(n, &pb_id, xmitq, &maddr); | 1714 | __tipc_node_link_down(n, &pb_id, xmitq, &maddr); |
| 1711 | trace_tipc_node_link_down(n, true, | 1715 | trace_tipc_node_link_down(n, true, |
| 1712 | "node link down <- failover!"); | 1716 | "node link down <- failover!"); |
