sack_filter
sack_filter_clear(struct sack_filter *sf, tcp_seq seq)
sack_filter_prune(struct sack_filter *sf, tcp_seq th_ack)
is_sack_on_board(struct sack_filter *sf, struct sackblk *b, int32_t segmax, uint32_t snd_max)
sack_move_to_empty(struct sack_filter *sf, uint32_t idx)
sack_filter_run(struct sack_filter *sf, struct sackblk *in, int numblks, tcp_seq th_ack, int32_t segmax, uint32_t snd_max)
sack_collapse(struct sack_filter *sf, int32_t src, int32_t into)
sack_blocks_overlap_or_meet(struct sack_filter *sf, struct sackblk *sb, uint32_t skip)
sack_board_collapse(struct sack_filter *sf)
sack_filter_dump(FILE *out, struct sack_filter *sf)
sack_filter_blks(struct tcpcb *tp, struct sack_filter *sf, struct sackblk *in, int numblks,
sack_filter_reject(struct sack_filter *sf, struct sackblk *in)
struct sack_filter sf;
void sack_filter_clear(struct sack_filter *sf, tcp_seq seq);
int sack_filter_blks(struct tcpcb *tp, struct sack_filter *sf, struct sackblk *in, int numblks,
void sack_filter_reject(struct sack_filter *sf, struct sackblk *in);
static inline uint8_t sack_filter_blks_used(struct sack_filter *sf)
struct sack_filter bbr_sf;
struct sack_filter rack_sf;