Lines Matching defs:bclink
104 * struct bclink - link used for broadcast messages
111 struct bclink {
118 static struct bclink *bclink = NULL;
154 struct sk_buff *buf = n_ptr->bclink.deferred_head;
156 n_ptr->bclink.gap_after = n_ptr->bclink.gap_to =
157 mod(n_ptr->bclink.last_in);
159 n_ptr->bclink.gap_to = mod(buf_seqno(buf) - 1);
211 if (less_eq(acked, n_ptr->bclink.acked))
219 while (crs && less_eq(buf_seqno(crs), n_ptr->bclink.acked)) {
236 n_ptr->bclink.acked = acked;
272 if (!less(n_ptr->bclink.gap_after, n_ptr->bclink.gap_to))
281 msg_set_bcast_ack(msg, mod(n_ptr->bclink.last_in));
282 msg_set_bcgap_after(msg, n_ptr->bclink.gap_after);
283 msg_set_bcgap_to(msg, n_ptr->bclink.gap_to);
301 n_ptr->bclink.nack_sync = tipc_own_tag;
313 if (!n_ptr->bclink.supported ||
314 less_eq(last_sent, mod(n_ptr->bclink.last_in)))
318 if (n_ptr->bclink.gap_after == n_ptr->bclink.gap_to)
319 n_ptr->bclink.gap_to = last_sent;
340 my_after = n_ptr->bclink.gap_after;
341 my_to = n_ptr->bclink.gap_to;
345 n_ptr->bclink.gap_after = gap_to;
347 n_ptr->bclink.gap_to = n_ptr->bclink.gap_after;
350 n_ptr->bclink.gap_to = gap_after;
355 struct sk_buff *buf = n_ptr->bclink.deferred_head;
356 u32 prev = n_ptr->bclink.gap_to;
370 n_ptr->bclink.gap_to = gap_after;
376 if (n_ptr->bclink.gap_to != n_ptr->bclink.gap_after) {
428 if (unlikely(!node || !tipc_node_is_up(node) || !node->bclink.supported ||
467 deferred = node->bclink.deferred_head;
468 next_in = mod(node->bclink.last_in + 1);
473 node->bclink.last_in++;
489 if (tipc_link_recv_fragment(&node->bclink.defragm,
502 node->bclink.deferred_head = deferred->next;
507 u32 gap_after = node->bclink.gap_after;
508 u32 gap_to = node->bclink.gap_to;
510 if (tipc_link_defer_pkt(&node->bclink.deferred_head,
511 &node->bclink.deferred_tail,
513 node->bclink.nack_sync++;
516 node->bclink.gap_after = seqno;
518 node->bclink.gap_to = seqno;
520 if (bclink_ack_allowed(node->bclink.nack_sync)) {
543 return (n_ptr->bclink.supported &&
544 (tipc_bclink_get_last_sent() != n_ptr->bclink.acked));
686 * Forces bclink to push out any unsent packets, until all packets are gone
778 bclink = kzalloc(sizeof(*bclink), GFP_ATOMIC);
779 if (!bcbearer || !bclink) {
784 kfree(bclink);
785 bclink = NULL;
794 bcl = &bclink->link;
797 spin_lock_init(&bclink->node.lock);
798 bcl->owner = &bclink->node;
824 kfree(bclink);
825 bclink = NULL;