tcp_seq
tcp_seq ack, seq;
#define tcp6_seq tcp_seq /* for KAME src sync over BSD*'s */
tcp_seq th_seq; /* sequence number */
tcp_seq th_ack; /* acknowledgement number */
tcp_seq seq, ack;
tcp_seq);
tcp_respond(tp, mtod(m, void *), th, m, (tcp_seq)0, th->th_ack,
(tcp_seq)0, TH_RST | TH_ACK);
tcp_seq ack)
static void tcp_xmit_timer(struct tcpcb *, int, tcp_seq);
static boolean_t tcp_recv_dupack(struct tcpcb *, tcp_seq, u_int);
tcp_xmit_timer(struct tcpcb *tp, int rtt, tcp_seq ack)
tcp_seq old_snd_nxt = tp->snd_nxt;
tcp_seq old_snd_nxt = tp->snd_nxt;
tcp_seq old_snd_max, old_rexmt_high, nextrexmt;
tcp_seq oldsndnxt = tp->snd_nxt;
tcp_seq oldsndmax = tp->snd_max;
tcp_seq next;
tcp_recv_dupack(struct tcpcb *tp, tcp_seq th_ack, u_int to_flags)
tcp_seq old_snd_nxt;
tcp_seq oldsndmax = tp->snd_max;
tcp_seq oldsndnxt = tp->snd_nxt;
tcp_seq qend = q->tqe_th->th_seq + q->tqe_len;
tcp_seq qend_sack = TCP_SACK_BLKEND(qend, q->tqe_th->th_flags);
tcp_seq tend_sack;
tcp_seq th_dupack = 0; /* XXX gcc warning */
tcp_seq startseq = tp->snd_nxt;
tcp_seq old_snd_nxt = tp->snd_nxt;
tcp_seq ugr_nxt = tp->snd_nxt;
sack_block_lookup(struct scoreboard *scb, tcp_seq seq, struct sackblock **sb)
tcp_sack_ack_blocks(struct tcpcb *tp, tcp_seq th_ack)
tcp_seq snd_una)
tcp_sack_update_lostseq(struct scoreboard *scb, tcp_seq snd_una, u_int maxseg,
tcp_sack_islost(const struct scoreboard *scb, tcp_seq seqnum)
tcp_sack_bytes_below(const struct scoreboard *scb, tcp_seq seq)
tcp_seq end;
tcp_sack_nextseg(struct tcpcb *tp, tcp_seq *nextrexmt, uint32_t *plen,
tcp_seq torexmt;
tcp_seq sblk_start;
tcp_seq sblk_end;
tcp_sack_skip_sacked(struct scoreboard *scb, tcp_seq *prexmt)
tcp_sack_revert_scoreboard(struct scoreboard *scb, tcp_seq snd_una,
tcp_sack_update_reported_history(struct tcpcb *tp, tcp_seq start, tcp_seq end)
tcp_seq old_start = oldblock->rblk_start;
tcp_seq old_end = oldblock->rblk_end;
tcp_seq hstart = tp->rcv_nxt, hend;
static __inline tcp_seq
seq_max(tcp_seq a, tcp_seq b)
static __inline tcp_seq
seq_min(tcp_seq a, tcp_seq b)
tcp_seq icmpseq = htonl(th->th_seq);
tcp_seq
tcp_seq new_isn;
tcp_seq digest[16 / sizeof(tcp_seq)];
tcp_xmit_bandwidth_limit(struct tcpcb *tp, tcp_seq ack_seq)
tcp_seq ack, tcp_seq seq, int flags)
th->th_seq + tlen, (tcp_seq)0, TH_RST | TH_ACK);
tcp_seq rblk_start;
tcp_seq rblk_end;
tcp_seq lostseq; /* passed SACK lost test */
tcp_seq snd_up; /* send urgent pointer */
tcp_seq snd_una; /* send unacknowledged */
tcp_seq snd_recover; /* for use with Fast Recovery */
tcp_seq snd_max; /* highest sequence number sent;
tcp_seq snd_nxt; /* send next */
tcp_seq snd_wl1; /* window update seg seq number */
tcp_seq snd_wl2; /* window update seg ack number */
tcp_seq iss; /* initial send sequence number */
tcp_seq irs; /* initial receive sequence number */
tcp_seq rcv_nxt; /* receive next */
tcp_seq rcv_adv; /* advertised window */
tcp_seq rcv_up; /* receive urgent pointer */
tcp_seq t_rtseq; /* sequence number being timed */
tcp_seq last_ack_sent;
tcp_seq snd_max_prev; /* SND_MAX prior to retransmit */
tcp_seq snd_recover_prev; /* snd_recover prior to retransmit */
tcp_seq rexmt_high; /* highest seq # retransmitted + 1 */
tcp_seq rexmt_rescue; /* rescue SACKED sequence number */
tcp_seq snd_max_rexmt; /* snd_max when rexmting snd_una */
tcp_seq t_bw_rtseq; /* used for bandwidth calculation */
tcp_seq sc_irs; /* seq from peer */
tcp_seq sc_iss; /* our ISS */
struct tcphdr *, struct mbuf *, tcp_seq, tcp_seq, int);
int tcp_sack_bytes_below(const struct scoreboard *scb, tcp_seq seq);
const int numblocks, tcp_seq snd_una);
tcp_sack_nextseg(struct tcpcb *tp, tcp_seq *nextrexmt, uint32_t *len,
tcp_sack_islost(const struct scoreboard *scb, tcp_seq seq);
void tcp_sack_update_lostseq(struct scoreboard *scb, tcp_seq snd_una,
void tcp_sack_revert_scoreboard(struct scoreboard *scb, tcp_seq snd_una,
void tcp_sack_skip_sacked(struct scoreboard *scb, tcp_seq *prexmt);
void tcp_xmit_bandwidth_limit(struct tcpcb *tp, tcp_seq ack_seq);
tcp_seq tcp_new_isn (struct tcpcb *);
tcp_seq seq, ack;