Lines Matching refs:hole

248 	struct sackhole *hole;  in tcp_sackhole_alloc()  local
256 hole = zalloc_flags(sack_hole_zone, Z_WAITOK | Z_NOFAIL); in tcp_sackhole_alloc()
258 hole->start = start; in tcp_sackhole_alloc()
259 hole->end = end; in tcp_sackhole_alloc()
260 hole->rxmit = start; in tcp_sackhole_alloc()
265 return hole; in tcp_sackhole_alloc()
272 tcp_sackhole_free(struct tcpcb *tp, struct sackhole *hole) in tcp_sackhole_free() argument
274 zfree(sack_hole_zone, hole); in tcp_sackhole_free()
287 struct sackhole *hole; in tcp_sackhole_insert() local
290 hole = tcp_sackhole_alloc(tp, start, end); in tcp_sackhole_insert()
291 if (hole == NULL) { in tcp_sackhole_insert()
294 hole->rxmit_start = tcp_now; in tcp_sackhole_insert()
297 TAILQ_INSERT_AFTER(&tp->snd_holes, after, hole, scblink); in tcp_sackhole_insert()
299 TAILQ_INSERT_TAIL(&tp->snd_holes, hole, scblink); in tcp_sackhole_insert()
304 tp->sackhint.nexthole = hole; in tcp_sackhole_insert()
307 return hole; in tcp_sackhole_insert()
314 tcp_sackhole_remove(struct tcpcb *tp, struct sackhole *hole) in tcp_sackhole_remove() argument
317 if (tp->sackhint.nexthole == hole) { in tcp_sackhole_remove()
318 tp->sackhint.nexthole = TAILQ_NEXT(hole, scblink); in tcp_sackhole_remove()
322 TAILQ_REMOVE(&tp->snd_holes, hole, scblink); in tcp_sackhole_remove()
325 tcp_sackhole_free(tp, hole); in tcp_sackhole_remove()
765 struct sackhole *hole = NULL, *dbg_hole = NULL; in tcp_sack_output() local
770 hole = tp->sackhint.nexthole; in tcp_sack_output()
771 if (hole == NULL || SEQ_LT(hole->rxmit, hole->end)) { in tcp_sack_output()
774 while ((hole = TAILQ_NEXT(hole, scblink)) != NULL) { in tcp_sack_output()
775 if (SEQ_LT(hole->rxmit, hole->end)) { in tcp_sack_output()
776 tp->sackhint.nexthole = hole; in tcp_sack_output()
781 if (dbg_hole != hole) { in tcp_sack_output()
783 hole = dbg_hole; in tcp_sack_output()
791 return hole; in tcp_sack_output()
797 struct sackhole *hole = TAILQ_FIRST(&tp->snd_holes); in tcp_sack_lost_rexmit() local
799 while (hole) { in tcp_sack_lost_rexmit()
800 hole->rxmit = hole->start; in tcp_sack_lost_rexmit()
801 hole->rxmit_start = tcp_now; in tcp_sack_lost_rexmit()
803 hole = TAILQ_NEXT(hole, scblink); in tcp_sack_lost_rexmit()