Lines Matching full:gap
130 * @last_gap: last gap ack blocks for bcast (FIXME)
131 * @last_ga: ptr to gap ack blocks
259 u16 acked, u16 gap,
404 u16 gap = 0; in link_bc_rcv_gap() local
407 gap = l->snd_nxt - l->rcv_nxt; in link_bc_rcv_gap()
409 gap = buf_seqno(skb) - l->rcv_nxt; in link_bc_rcv_gap()
410 return gap; in link_bc_rcv_gap()
1409 * tipc_get_gap_ack_blks - get Gap ACK blocks from PROTOCOL/STATE_MSG
1410 * @ga: returned pointer to the Gap ACK blocks if any
1413 * @uc: desired Gap ACK blocks type, i.e. unicast (= 1) or broadcast (= 0)
1415 * Return: the total Gap ACK blocks size
1423 /* Does peer support the Gap ACK blocks feature? */ in tipc_get_gap_ack_blks()
1464 gacks[n].gap = htons(seqno - expect); in __tipc_build_gap_ack_blks()
1480 gacks[n].gap = 0; in __tipc_build_gap_ack_blks()
1485 /* tipc_build_gap_ack_blks - build Gap ACK blocks
1487 * @hdr: the tipc message buffer to store the Gap ACK blocks after built
1489 * The function builds Gap ACK blocks for both the unicast & broadcast receiver
1526 * @gap: # of gap packets
1527 * @ga: buffer pointer to Gap ACK blocks from peer
1536 u16 acked, u16 gap, in tipc_link_advance_transmq() argument
1546 u16 nacked = acked, ngap = gap, gack_cnt = 0; in tipc_link_advance_transmq()
1555 trace_tipc_link_retrans(r, acked + 1, acked + gap, &l->transmq); in tipc_link_advance_transmq()
1557 /* Determine Gap ACK blocks if any for the particular link */ in tipc_link_advance_transmq()
1559 /* Get the Gap ACKs, uc part */ in tipc_link_advance_transmq()
1563 /* Copy the Gap ACKs, bc part, for later renewal if needed */ in tipc_link_advance_transmq()
1568 /* Start with the bc Gap ACKs */ in tipc_link_advance_transmq()
1573 pr_warn_ratelimited("Ignoring bc Gap ACKs, no memory\n"); in tipc_link_advance_transmq()
1588 /* Get the next of last Gap ACK blocks */ in tipc_link_advance_transmq()
1594 offset = ntohs(last_ga->gacks[si].gap); in tipc_link_advance_transmq()
1600 "Corrupted Gap ACK: %d %d %d %d %d\n", in tipc_link_advance_transmq()
1604 /* Check against the last Gap ACK block */ in tipc_link_advance_transmq()
1616 /* First gap: check if repeated retrans failures? */ in tipc_link_advance_transmq()
1619 /* Ignore this bc Gap ACKs if any */ in tipc_link_advance_transmq()
1644 /* retry with Gap ACK blocks if any */ in tipc_link_advance_transmq()
1648 ngap = ntohs(gacks[n].gap); in tipc_link_advance_transmq()
1654 /* Renew last Gap ACK blocks for bc if needed */ in tipc_link_advance_transmq()
1659 r->last_gap = gap; in tipc_link_advance_transmq()
1803 /* Defer delivery if sequence gap */ in tipc_link_rcv()
2186 u16 gap = msg_seq_gap(hdr); in tipc_link_proto_rcv() local
2273 /* Validate Gap ACK blocks, drop if invalid */ in tipc_link_proto_rcv()
2316 released = tipc_link_advance_transmq(l, l, ack, gap, ga, xmitq, in tipc_link_proto_rcv()
2318 if (gap) in tipc_link_proto_rcv()
2463 int tipc_link_bc_ack_rcv(struct tipc_link *r, u16 acked, u16 gap, in tipc_link_bc_ack_rcv() argument
2475 if (gap) { in tipc_link_bc_ack_rcv()
2480 if (less(acked, r->acked) || (acked == r->acked && !gap && !ga)) in tipc_link_bc_ack_rcv()
2483 trace_tipc_link_bc_ack(r, acked, gap, &l->transmq); in tipc_link_bc_ack_rcv()
2484 tipc_link_advance_transmq(l, r, acked, gap, ga, retrq, &unused, &rc); in tipc_link_bc_ack_rcv()