Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_var.h
Context not available. | |||||
#if defined(_KERNEL) || defined(_WANT_TCPCB) | #if defined(_KERNEL) || defined(_WANT_TCPCB) | ||||
/* TCP segment queue entry */ | /* TCP segment queue entry */ | ||||
struct tseg_qent { | struct tseg_qent { | ||||
LIST_ENTRY(tseg_qent) tqe_q; | TAILQ_ENTRY(tseg_qent) tqe_q; | ||||
struct mbuf *tqe_m; /* mbuf contains packet */ | |||||
struct mbuf *tqe_last; /* last mbuf in chain */ | |||||
tcp_seq tqe_start; /* TCP Sequence number start */ | |||||
int tqe_len; /* TCP segment data length */ | int tqe_len; /* TCP segment data length */ | ||||
struct tcphdr *tqe_th; /* a pointer to tcp header */ | uint32_t tqe_flags; /* The flags from the th->th_flags */ | ||||
struct mbuf *tqe_m; /* mbuf contains packet */ | uint32_t tqe_mbuf_cnt; /* Count of mbuf overhead */ | ||||
}; | }; | ||||
LIST_HEAD(tsegqe_head, tseg_qent); | TAILQ_HEAD(tsegqe_head, tseg_qent); | ||||
struct sackblk { | struct sackblk { | ||||
tcp_seq start; /* start seq no. of sack block */ | tcp_seq start; /* start seq no. of sack block */ | ||||
Context not available. | |||||
uint64_t _pad[1]; /* TBD */ | uint64_t _pad[1]; /* TBD */ | ||||
}; | }; | ||||
#define SEGQ_EMPTY(tp) TAILQ_EMPTY(&(tp)->t_segq) | |||||
STAILQ_HEAD(tcp_log_stailq, tcp_log_mem); | STAILQ_HEAD(tcp_log_stailq, tcp_log_mem); | ||||
/* | /* | ||||
Context not available. | |||||
/* Cache line 3 */ | /* Cache line 3 */ | ||||
tcp_seq rcv_up; /* receive urgent pointer */ | tcp_seq rcv_up; /* receive urgent pointer */ | ||||
int t_segqlen; /* segment reassembly queue length */ | int t_segqlen; /* segment reassembly queue length */ | ||||
uint32_t t_segqmbuflen; /* Count of bytes mbufs on all entries */ | |||||
struct tsegqe_head t_segq; /* segment reassembly queue */ | struct tsegqe_head t_segq; /* segment reassembly queue */ | ||||
struct mbuf *t_in_pkt; | struct mbuf *t_in_pkt; | ||||
struct mbuf *t_tail_pkt; | struct mbuf *t_tail_pkt; | ||||
Context not available. | |||||
const void *); | const void *); | ||||
char *tcp_log_vain(struct in_conninfo *, struct tcphdr *, void *, | char *tcp_log_vain(struct in_conninfo *, struct tcphdr *, void *, | ||||
const void *); | const void *); | ||||
int tcp_reass(struct tcpcb *, struct tcphdr *, int *, struct mbuf *); | int tcp_reass(struct tcpcb *, struct tcphdr *, tcp_seq *, int *, struct mbuf *); | ||||
void tcp_reass_global_init(void); | void tcp_reass_global_init(void); | ||||
void tcp_reass_flush(struct tcpcb *); | void tcp_reass_flush(struct tcpcb *); | ||||
void tcp_dooptions(struct tcpopt *, u_char *, int, int); | void tcp_dooptions(struct tcpopt *, u_char *, int, int); | ||||
Context not available. |