Lines Matching full:gap

145  * @last_gap: last gap ack blocks for bcast (FIXME)
146 * @last_ga: ptr to gap ack blocks
281 u16 acked, u16 gap,
426 u16 gap = 0; in link_bc_rcv_gap() local
429 gap = l->snd_nxt - l->rcv_nxt; in link_bc_rcv_gap()
431 gap = buf_seqno(skb) - l->rcv_nxt; in link_bc_rcv_gap()
432 return gap; in link_bc_rcv_gap()
1430 * tipc_get_gap_ack_blks - get Gap ACK blocks from PROTOCOL/STATE_MSG
1431 * @ga: returned pointer to the Gap ACK blocks if any
1434 * @uc: desired Gap ACK blocks type, i.e. unicast (= 1) or broadcast (= 0)
1436 * Return: the total Gap ACK blocks size
1444 /* Does peer support the Gap ACK blocks feature? */ in tipc_get_gap_ack_blks()
1485 gacks[n].gap = htons(seqno - expect); in __tipc_build_gap_ack_blks()
1501 gacks[n].gap = 0; in __tipc_build_gap_ack_blks()
1506 /* tipc_build_gap_ack_blks - build Gap ACK blocks
1508 * @hdr: the tipc message buffer to store the Gap ACK blocks after built
1510 * The function builds Gap ACK blocks for both the unicast & broadcast receiver
1547 * @gap: # of gap packets
1548 * @ga: buffer pointer to Gap ACK blocks from peer
1557 u16 acked, u16 gap, in tipc_link_advance_transmq() argument
1567 u16 nacked = acked, ngap = gap, gack_cnt = 0; in tipc_link_advance_transmq()
1576 trace_tipc_link_retrans(r, acked + 1, acked + gap, &l->transmq); in tipc_link_advance_transmq()
1578 /* Determine Gap ACK blocks if any for the particular link */ in tipc_link_advance_transmq()
1580 /* Get the Gap ACKs, uc part */ in tipc_link_advance_transmq()
1584 /* Copy the Gap ACKs, bc part, for later renewal if needed */ in tipc_link_advance_transmq()
1589 /* Start with the bc Gap ACKs */ in tipc_link_advance_transmq()
1594 pr_warn_ratelimited("Ignoring bc Gap ACKs, no memory\n"); in tipc_link_advance_transmq()
1609 /* Get the next of last Gap ACK blocks */ in tipc_link_advance_transmq()
1615 offset = ntohs(last_ga->gacks[si].gap); in tipc_link_advance_transmq()
1621 "Corrupted Gap ACK: %d %d %d %d %d\n", in tipc_link_advance_transmq()
1625 /* Check against the last Gap ACK block */ in tipc_link_advance_transmq()
1637 /* First gap: check if repeated retrans failures? */ in tipc_link_advance_transmq()
1640 /* Ignore this bc Gap ACKs if any */ in tipc_link_advance_transmq()
1665 /* retry with Gap ACK blocks if any */ in tipc_link_advance_transmq()
1669 ngap = ntohs(gacks[n].gap); in tipc_link_advance_transmq()
1675 /* Renew last Gap ACK blocks for bc if needed */ in tipc_link_advance_transmq()
1680 r->last_gap = gap; in tipc_link_advance_transmq()
1824 /* Defer delivery if sequence gap */ in tipc_link_rcv()
2207 u16 gap = msg_seq_gap(hdr); in tipc_link_proto_rcv() local
2294 /* Validate Gap ACK blocks, drop if invalid */ in tipc_link_proto_rcv()
2337 released = tipc_link_advance_transmq(l, l, ack, gap, ga, xmitq, in tipc_link_proto_rcv()
2339 if (gap) in tipc_link_proto_rcv()
2484 int tipc_link_bc_ack_rcv(struct tipc_link *r, u16 acked, u16 gap, in tipc_link_bc_ack_rcv() argument
2496 if (gap) { in tipc_link_bc_ack_rcv()
2501 if (less(acked, r->acked) || (acked == r->acked && !gap && !ga)) in tipc_link_bc_ack_rcv()
2504 trace_tipc_link_bc_ack(r, acked, gap, &l->transmq); in tipc_link_bc_ack_rcv()
2505 tipc_link_advance_transmq(l, r, acked, gap, ga, retrq, &unused, &rc); in tipc_link_bc_ack_rcv()