Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_var.h
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | |||||
*/ | */ | ||||
VNET_DECLARE(int, tcp_do_rfc1323); | VNET_DECLARE(int, tcp_do_rfc1323); | ||||
#define V_tcp_do_rfc1323 VNET(tcp_do_rfc1323) | #define V_tcp_do_rfc1323 VNET(tcp_do_rfc1323) | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
/* 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; | ||||
int tqe_len; /* TCP segment data length */ | |||||
struct tcphdr *tqe_th; /* a pointer to tcp header */ | |||||
struct mbuf *tqe_m; /* mbuf contains packet */ | 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 */ | |||||
uint32_t tqe_flags; /* The flags from the th->th_flags */ | |||||
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 */ | ||||
tcp_seq end; /* end seq no. */ | tcp_seq end; /* end seq no. */ | ||||
}; | }; | ||||
struct sackhole { | struct sackhole { | ||||
tcp_seq start; /* start seq no. of hole */ | tcp_seq start; /* start seq no. of hole */ | ||||
Show All 16 Lines | struct sackhint { | ||||
uint64_t _pad[1]; /* TBD */ | uint64_t _pad[1]; /* TBD */ | ||||
}; | }; | ||||
struct tcptemp { | struct tcptemp { | ||||
u_char tt_ipgen[40]; /* the size must be of max ip header, now IPv6 */ | u_char tt_ipgen[40]; /* the size must be of max ip header, now IPv6 */ | ||||
struct tcphdr tt_t; | struct tcphdr tt_t; | ||||
}; | }; | ||||
#define SEGQ_EMPTY(tp) TAILQ_EMPTY(&(tp)->t_segq) | |||||
#define tcp6cb tcpcb /* for KAME src sync over BSD*'s */ | #define tcp6cb tcpcb /* for KAME src sync over BSD*'s */ | ||||
/* | /* | ||||
* TODO: We yet need to brave plowing in | * TODO: We yet need to brave plowing in | ||||
* to tcp_input() and the pru_usrreq() block. | * to tcp_input() and the pru_usrreq() block. | ||||
* Right now these go to the old standards which | * Right now these go to the old standards which | ||||
* are somewhat ok, but in the long term may | * are somewhat ok, but in the long term may | ||||
* need to be changed. If we do tackle tcp_input() | * need to be changed. If we do tackle tcp_input() | ||||
▲ Show 20 Lines • Show All 159 Lines • ▼ Show 20 Lines | /* SACK related state */ | ||||
u_int t_keepidle; /* time before keepalive probes begin */ | u_int t_keepidle; /* time before keepalive probes begin */ | ||||
u_int t_keepintvl; /* interval between keepalives */ | u_int t_keepintvl; /* interval between keepalives */ | ||||
u_int t_keepcnt; /* number of keepalives before close */ | u_int t_keepcnt; /* number of keepalives before close */ | ||||
u_int t_tsomax; /* TSO total burst length limit in bytes */ | u_int t_tsomax; /* TSO total burst length limit in bytes */ | ||||
u_int t_tsomaxsegcount; /* TSO maximum segment count */ | u_int t_tsomaxsegcount; /* TSO maximum segment count */ | ||||
u_int t_tsomaxsegsize; /* TSO maximum segment size in bytes */ | u_int t_tsomaxsegsize; /* TSO maximum segment size in bytes */ | ||||
u_int t_flags2; /* More tcpcb flags storage */ | u_int t_flags2; /* More tcpcb flags storage */ | ||||
uint32_t t_segqmbuflen; /* Count of bytes mbufs on all entries */ | |||||
#if defined(_KERNEL) && defined(TCP_RFC7413) | #if defined(_KERNEL) && defined(TCP_RFC7413) | ||||
uint32_t t_ispare[6]; /* 5 UTO, 1 TBD */ | uint32_t t_ispare[5]; /* 5 UTO, 0 TBD */ | ||||
uint64_t t_tfo_cookie; /* TCP Fast Open cookie */ | uint64_t t_tfo_cookie; /* TCP Fast Open cookie */ | ||||
#else | #else | ||||
uint32_t t_ispare[8]; /* 5 UTO, 3 TBD */ | uint32_t t_ispare[7]; /* 5 UTO, 2 TBD */ | ||||
#endif | #endif | ||||
struct tcp_function_block *t_fb;/* TCP function call block */ | struct tcp_function_block *t_fb;/* TCP function call block */ | ||||
void *t_fb_ptr; /* Pointer to t_fb specific data */ | void *t_fb_ptr; /* Pointer to t_fb specific data */ | ||||
#if defined(_KERNEL) && defined(TCP_RFC7413) | #if defined(_KERNEL) && defined(TCP_RFC7413) | ||||
unsigned int *t_tfo_pending; /* TCP Fast Open pending counter */ | unsigned int *t_tfo_pending; /* TCP Fast Open pending counter */ | ||||
void *t_pspare2[1]; /* 1 TCP_SIGNATURE */ | void *t_pspare2[1]; /* 1 TCP_SIGNATURE */ | ||||
#else | #else | ||||
void *t_pspare2[2]; /* 1 TCP_SIGNATURE, 1 TBD */ | void *t_pspare2[2]; /* 1 TCP_SIGNATURE, 1 TBD */ | ||||
▲ Show 20 Lines • Show All 461 Lines • ▼ Show 20 Lines | struct tcpcb * | ||||
tcp_drop(struct tcpcb *, int); | tcp_drop(struct tcpcb *, int); | ||||
void tcp_drain(void); | void tcp_drain(void); | ||||
void tcp_init(void); | void tcp_init(void); | ||||
void tcp_fini(void *); | void tcp_fini(void *); | ||||
char *tcp_log_addrs(struct in_conninfo *, struct tcphdr *, void *, | char *tcp_log_addrs(struct in_conninfo *, struct tcphdr *, void *, | ||||
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); | ||||
void tcp_dropwithreset(struct mbuf *, struct tcphdr *, | void tcp_dropwithreset(struct mbuf *, struct tcphdr *, | ||||
struct tcpcb *, int, int); | struct tcpcb *, int, int); | ||||
void tcp_pulloutofband(struct socket *, | void tcp_pulloutofband(struct socket *, | ||||
struct tcphdr *, struct mbuf *, int); | struct tcphdr *, struct mbuf *, int); | ||||
void tcp_xmit_timer(struct tcpcb *, int); | void tcp_xmit_timer(struct tcpcb *, int); | ||||
▲ Show 20 Lines • Show All 100 Lines • Show Last 20 Lines |