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()
1408 * tipc_get_gap_ack_blks - get Gap ACK blocks from PROTOCOL/STATE_MSG
1409 * @ga: returned pointer to the Gap ACK blocks if any
1412 * @uc: desired Gap ACK blocks type, i.e. unicast (= 1) or broadcast (= 0)
1414 * Return: the total Gap ACK blocks size
1422 /* Does peer support the Gap ACK blocks feature? */ in tipc_get_gap_ack_blks()
1463 gacks[n].gap = htons(seqno - expect); in __tipc_build_gap_ack_blks()
1479 gacks[n].gap = 0; in __tipc_build_gap_ack_blks()
1484 /* tipc_build_gap_ack_blks - build Gap ACK blocks
1486 * @hdr: the tipc message buffer to store the Gap ACK blocks after built
1488 * The function builds Gap ACK blocks for both the unicast & broadcast receiver
1525 * @gap: # of gap packets
1526 * @ga: buffer pointer to Gap ACK blocks from peer
1535 u16 acked, u16 gap, in tipc_link_advance_transmq() argument
1545 u16 nacked = acked, ngap = gap, gack_cnt = 0; in tipc_link_advance_transmq()
1554 trace_tipc_link_retrans(r, acked + 1, acked + gap, &l->transmq); in tipc_link_advance_transmq()
1556 /* Determine Gap ACK blocks if any for the particular link */ in tipc_link_advance_transmq()
1558 /* Get the Gap ACKs, uc part */ in tipc_link_advance_transmq()
1562 /* Copy the Gap ACKs, bc part, for later renewal if needed */ in tipc_link_advance_transmq()
1567 /* Start with the bc Gap ACKs */ in tipc_link_advance_transmq()
1572 pr_warn_ratelimited("Ignoring bc Gap ACKs, no memory\n"); in tipc_link_advance_transmq()
1587 /* Get the next of last Gap ACK blocks */ in tipc_link_advance_transmq()
1593 offset = ntohs(last_ga->gacks[si].gap); in tipc_link_advance_transmq()
1599 "Corrupted Gap ACK: %d %d %d %d %d\n", in tipc_link_advance_transmq()
1603 /* Check against the last Gap ACK block */ in tipc_link_advance_transmq()
1615 /* First gap: check if repeated retrans failures? */ in tipc_link_advance_transmq()
1618 /* Ignore this bc Gap ACKs if any */ in tipc_link_advance_transmq()
1643 /* retry with Gap ACK blocks if any */ in tipc_link_advance_transmq()
1647 ngap = ntohs(gacks[n].gap); in tipc_link_advance_transmq()
1653 /* Renew last Gap ACK blocks for bc if needed */ in tipc_link_advance_transmq()
1658 r->last_gap = gap; in tipc_link_advance_transmq()
1802 /* Defer delivery if sequence gap */ in tipc_link_rcv()
2185 u16 gap = msg_seq_gap(hdr); in tipc_link_proto_rcv() local
2272 /* Validate Gap ACK blocks, drop if invalid */ in tipc_link_proto_rcv()
2315 released = tipc_link_advance_transmq(l, l, ack, gap, ga, xmitq, in tipc_link_proto_rcv()
2317 if (gap) in tipc_link_proto_rcv()
2462 int tipc_link_bc_ack_rcv(struct tipc_link *r, u16 acked, u16 gap, in tipc_link_bc_ack_rcv() argument
2474 if (gap) { in tipc_link_bc_ack_rcv()
2479 if (less(acked, r->acked) || (acked == r->acked && !gap && !ga)) in tipc_link_bc_ack_rcv()
2482 trace_tipc_link_bc_ack(r, acked, gap, &l->transmq); in tipc_link_bc_ack_rcv()
2483 tipc_link_advance_transmq(l, r, acked, gap, ga, retrq, &unused, &rc); in tipc_link_bc_ack_rcv()