aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/tipc/bcast.c6
-rw-r--r--net/tipc/link.c8
-rw-r--r--net/tipc/node.c6
-rw-r--r--net/tipc/node.h4
4 files changed, 12 insertions, 12 deletions
diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c
index 40da098eeb39..54f89f90ac33 100644
--- a/net/tipc/bcast.c
+++ b/net/tipc/bcast.c
@@ -347,7 +347,7 @@ static void bclink_peek_nack(struct tipc_msg *msg)
347 347
348 tipc_node_lock(n_ptr); 348 tipc_node_lock(n_ptr);
349 349
350 if (n_ptr->bclink.supported && 350 if (n_ptr->bclink.recv_permitted &&
351 (n_ptr->bclink.last_in != n_ptr->bclink.last_sent) && 351 (n_ptr->bclink.last_in != n_ptr->bclink.last_sent) &&
352 (n_ptr->bclink.last_in == msg_bcgap_after(msg))) 352 (n_ptr->bclink.last_in == msg_bcgap_after(msg)))
353 n_ptr->bclink.oos_state = 2; 353 n_ptr->bclink.oos_state = 2;
@@ -429,7 +429,7 @@ void tipc_bclink_recv_pkt(struct sk_buff *buf)
429 goto exit; 429 goto exit;
430 430
431 tipc_node_lock(node); 431 tipc_node_lock(node);
432 if (unlikely(!node->bclink.supported)) 432 if (unlikely(!node->bclink.recv_permitted))
433 goto unlock; 433 goto unlock;
434 434
435 /* Handle broadcast protocol message */ 435 /* Handle broadcast protocol message */
@@ -564,7 +564,7 @@ exit:
564 564
565u32 tipc_bclink_acks_missing(struct tipc_node *n_ptr) 565u32 tipc_bclink_acks_missing(struct tipc_node *n_ptr)
566{ 566{
567 return (n_ptr->bclink.supported && 567 return (n_ptr->bclink.recv_permitted &&
568 (tipc_bclink_get_last_sent() != n_ptr->bclink.acked)); 568 (tipc_bclink_get_last_sent() != n_ptr->bclink.acked));
569} 569}
570 570
diff --git a/net/tipc/link.c b/net/tipc/link.c
index f3a078fe70c8..20f128fc2be1 100644
--- a/net/tipc/link.c
+++ b/net/tipc/link.c
@@ -1426,8 +1426,8 @@ static void link_retransmit_failure(struct tipc_link *l_ptr,
1426 1426
1427 tipc_addr_string_fill(addr_string, n_ptr->addr); 1427 tipc_addr_string_fill(addr_string, n_ptr->addr);
1428 pr_info("Broadcast link info for %s\n", addr_string); 1428 pr_info("Broadcast link info for %s\n", addr_string);
1429 pr_info("Supported: %d, Acked: %u\n", 1429 pr_info("Reception permitted: %d, Acked: %u\n",
1430 n_ptr->bclink.supported, 1430 n_ptr->bclink.recv_permitted,
1431 n_ptr->bclink.acked); 1431 n_ptr->bclink.acked);
1432 pr_info("Last in: %u, Oos state: %u, Last sent: %u\n", 1432 pr_info("Last in: %u, Oos state: %u, Last sent: %u\n",
1433 n_ptr->bclink.last_in, 1433 n_ptr->bclink.last_in,
@@ -1640,7 +1640,7 @@ void tipc_recv_msg(struct sk_buff *head, struct tipc_bearer *b_ptr)
1640 ackd = msg_ack(msg); 1640 ackd = msg_ack(msg);
1641 1641
1642 /* Release acked messages */ 1642 /* Release acked messages */
1643 if (n_ptr->bclink.supported) 1643 if (n_ptr->bclink.recv_permitted)
1644 tipc_bclink_acknowledge(n_ptr, msg_bcast_ack(msg)); 1644 tipc_bclink_acknowledge(n_ptr, msg_bcast_ack(msg));
1645 1645
1646 crs = l_ptr->first_out; 1646 crs = l_ptr->first_out;
@@ -2067,7 +2067,7 @@ static void link_recv_proto_msg(struct tipc_link *l_ptr, struct sk_buff *buf)
2067 } 2067 }
2068 2068
2069 /* Protocol message before retransmits, reduce loss risk */ 2069 /* Protocol message before retransmits, reduce loss risk */
2070 if (l_ptr->owner->bclink.supported) 2070 if (l_ptr->owner->bclink.recv_permitted)
2071 tipc_bclink_update_link_state(l_ptr->owner, 2071 tipc_bclink_update_link_state(l_ptr->owner,
2072 msg_last_bcast(msg)); 2072 msg_last_bcast(msg));
2073 2073
diff --git a/net/tipc/node.c b/net/tipc/node.c
index 6f3e9b35d27f..283a59f0f1c8 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -266,7 +266,7 @@ static void node_established_contact(struct tipc_node *n_ptr)
266 266
267 n_ptr->bclink.acked = tipc_bclink_get_last_sent(); 267 n_ptr->bclink.acked = tipc_bclink_get_last_sent();
268 tipc_bclink_add_node(n_ptr->addr); 268 tipc_bclink_add_node(n_ptr->addr);
269 n_ptr->bclink.supported = 1; 269 n_ptr->bclink.recv_permitted = true;
270} 270}
271 271
272static void node_name_purge_complete(unsigned long node_addr) 272static void node_name_purge_complete(unsigned long node_addr)
@@ -292,7 +292,7 @@ static void node_lost_contact(struct tipc_node *n_ptr)
292 tipc_addr_string_fill(addr_string, n_ptr->addr)); 292 tipc_addr_string_fill(addr_string, n_ptr->addr));
293 293
294 /* Flush broadcast link info associated with lost node */ 294 /* Flush broadcast link info associated with lost node */
295 if (n_ptr->bclink.supported) { 295 if (n_ptr->bclink.recv_permitted) {
296 while (n_ptr->bclink.deferred_head) { 296 while (n_ptr->bclink.deferred_head) {
297 struct sk_buff *buf = n_ptr->bclink.deferred_head; 297 struct sk_buff *buf = n_ptr->bclink.deferred_head;
298 n_ptr->bclink.deferred_head = buf->next; 298 n_ptr->bclink.deferred_head = buf->next;
@@ -308,7 +308,7 @@ static void node_lost_contact(struct tipc_node *n_ptr)
308 tipc_bclink_remove_node(n_ptr->addr); 308 tipc_bclink_remove_node(n_ptr->addr);
309 tipc_bclink_acknowledge(n_ptr, INVALID_LINK_SEQ); 309 tipc_bclink_acknowledge(n_ptr, INVALID_LINK_SEQ);
310 310
311 n_ptr->bclink.supported = 0; 311 n_ptr->bclink.recv_permitted = false;
312 } 312 }
313 313
314 /* Abort link changeover */ 314 /* Abort link changeover */
diff --git a/net/tipc/node.h b/net/tipc/node.h
index 3ac905f36b03..3c189b35b102 100644
--- a/net/tipc/node.h
+++ b/net/tipc/node.h
@@ -67,7 +67,6 @@
67 * @permit_changeover: non-zero if node has redundant links to this system 67 * @permit_changeover: non-zero if node has redundant links to this system
68 * @signature: node instance identifier 68 * @signature: node instance identifier
69 * @bclink: broadcast-related info 69 * @bclink: broadcast-related info
70 * @supported: non-zero if node supports TIPC b'cast capability
71 * @acked: sequence # of last outbound b'cast message acknowledged by node 70 * @acked: sequence # of last outbound b'cast message acknowledged by node
72 * @last_in: sequence # of last in-sequence b'cast message received from node 71 * @last_in: sequence # of last in-sequence b'cast message received from node
73 * @last_sent: sequence # of last b'cast message sent by node 72 * @last_sent: sequence # of last b'cast message sent by node
@@ -76,6 +75,7 @@
76 * @deferred_head: oldest OOS b'cast message received from node 75 * @deferred_head: oldest OOS b'cast message received from node
77 * @deferred_tail: newest OOS b'cast message received from node 76 * @deferred_tail: newest OOS b'cast message received from node
78 * @defragm: list of partially reassembled b'cast message fragments from node 77 * @defragm: list of partially reassembled b'cast message fragments from node
78 * @recv_permitted: true if node is allowed to receive b'cast messages
79 */ 79 */
80struct tipc_node { 80struct tipc_node {
81 u32 addr; 81 u32 addr;
@@ -91,7 +91,6 @@ struct tipc_node {
91 int permit_changeover; 91 int permit_changeover;
92 u32 signature; 92 u32 signature;
93 struct { 93 struct {
94 u8 supported;
95 u32 acked; 94 u32 acked;
96 u32 last_in; 95 u32 last_in;
97 u32 last_sent; 96 u32 last_sent;
@@ -100,6 +99,7 @@ struct tipc_node {
100 struct sk_buff *deferred_head; 99 struct sk_buff *deferred_head;
101 struct sk_buff *deferred_tail; 100 struct sk_buff *deferred_tail;
102 struct sk_buff *defragm; 101 struct sk_buff *defragm;
102 bool recv_permitted;
103 } bclink; 103 } bclink;
104}; 104};
105 105