Deleted Added
full compact
tcp_var.h (132307) tcp_var.h (133874)
1/*
2 * Copyright (c) 1982, 1986, 1993, 1994, 1995
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 13 unchanged lines hidden (view full) ---

22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 *
29 * @(#)tcp_var.h 8.4 (Berkeley) 5/24/95
1/*
2 * Copyright (c) 1982, 1986, 1993, 1994, 1995
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 13 unchanged lines hidden (view full) ---

22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 *
29 * @(#)tcp_var.h 8.4 (Berkeley) 5/24/95
30 * $FreeBSD: head/sys/netinet/tcp_var.h 132307 2004-07-17 19:44:13Z dwmalone $
30 * $FreeBSD: head/sys/netinet/tcp_var.h 133874 2004-08-16 18:32:07Z rwatson $
31 */
32
33#ifndef _NETINET_TCP_VAR_H_
34#define _NETINET_TCP_VAR_H_
35
36#include <netinet/tcp.h>
37
38/*

--- 199 unchanged lines hidden (view full) ---

238#define TOF_SIGNATURE 0x0040 /* signature option present */
239#define TOF_SIGLEN 0x0080 /* signature length valid (RFC2385) */
240#define TOF_SACK 0x0100 /* Peer sent SACK option */
241 u_int32_t to_tsval;
242 u_int32_t to_tsecr;
243 tcp_cc to_cc; /* holds CC or CCnew */
244 tcp_cc to_ccecho;
245 u_int16_t to_mss;
31 */
32
33#ifndef _NETINET_TCP_VAR_H_
34#define _NETINET_TCP_VAR_H_
35
36#include <netinet/tcp.h>
37
38/*

--- 199 unchanged lines hidden (view full) ---

238#define TOF_SIGNATURE 0x0040 /* signature option present */
239#define TOF_SIGLEN 0x0080 /* signature length valid (RFC2385) */
240#define TOF_SACK 0x0100 /* Peer sent SACK option */
241 u_int32_t to_tsval;
242 u_int32_t to_tsecr;
243 tcp_cc to_cc; /* holds CC or CCnew */
244 tcp_cc to_ccecho;
245 u_int16_t to_mss;
246 u_int8_t to_requested_s_scale;
247 u_int8_t to_pad;
246 u_int8_t to_requested_s_scale;
247 u_int8_t to_pad;
248};
249
250#ifdef _NETINET_IN_PCB_H_
251struct syncache {
252 inp_gen_t sc_inp_gencnt; /* pointer check */
248};
249
250#ifdef _NETINET_IN_PCB_H_
251struct syncache {
252 inp_gen_t sc_inp_gencnt; /* pointer check */
253 struct tcpcb *sc_tp; /* tcb for listening socket */
253 struct tcpcb *sc_tp; /* tcb for listening socket */
254 struct mbuf *sc_ipopts; /* source route */
254 struct mbuf *sc_ipopts; /* source route */
255 struct in_conninfo sc_inc; /* addresses */
255 struct in_conninfo sc_inc; /* addresses */
256 u_int32_t sc_tsrecent;
257 u_int32_t sc_flowlabel; /* IPv6 flowlabel */
258 tcp_cc sc_cc_send; /* holds CC or CCnew */
259 tcp_cc sc_cc_recv;
256 u_int32_t sc_tsrecent;
257 u_int32_t sc_flowlabel; /* IPv6 flowlabel */
258 tcp_cc sc_cc_send; /* holds CC or CCnew */
259 tcp_cc sc_cc_recv;
260 tcp_seq sc_irs; /* seq from peer */
261 tcp_seq sc_iss; /* our ISS */
260 tcp_seq sc_irs; /* seq from peer */
261 tcp_seq sc_iss; /* our ISS */
262 u_long sc_rxttime; /* retransmit time */
262 u_long sc_rxttime; /* retransmit time */
263 u_int16_t sc_rxtslot; /* retransmit counter */
263 u_int16_t sc_rxtslot; /* retransmit counter */
264 u_int16_t sc_peer_mss; /* peer's MSS */
265 u_int16_t sc_wnd; /* advertised window */
264 u_int16_t sc_peer_mss; /* peer's MSS */
265 u_int16_t sc_wnd; /* advertised window */
266 u_int8_t sc_requested_s_scale:4,
266 u_int8_t sc_requested_s_scale:4,
267 sc_request_r_scale:4;
268 u_int8_t sc_flags;
269#define SCF_NOOPT 0x01 /* no TCP options */
270#define SCF_WINSCALE 0x02 /* negotiated window scaling */
271#define SCF_TIMESTAMP 0x04 /* negotiated timestamps */
272#define SCF_CC 0x08 /* negotiated CC */
273#define SCF_UNREACH 0x10 /* icmp unreachable received */
274#define SCF_SIGNATURE 0x20 /* send MD5 digests */

--- 27 unchanged lines hidden (view full) ---

302 tcp_seq rcv_nxt;
303 tcp_seq iss;
304 tcp_seq irs;
305 tcp_cc cc_recv;
306 tcp_cc cc_send;
307 u_short last_win; /* cached window value */
308 u_short tw_so_options; /* copy of so_options */
309 struct ucred *tw_cred; /* user credentials */
267 sc_request_r_scale:4;
268 u_int8_t sc_flags;
269#define SCF_NOOPT 0x01 /* no TCP options */
270#define SCF_WINSCALE 0x02 /* negotiated window scaling */
271#define SCF_TIMESTAMP 0x04 /* negotiated timestamps */
272#define SCF_CC 0x08 /* negotiated CC */
273#define SCF_UNREACH 0x10 /* icmp unreachable received */
274#define SCF_SIGNATURE 0x20 /* send MD5 digests */

--- 27 unchanged lines hidden (view full) ---

302 tcp_seq rcv_nxt;
303 tcp_seq iss;
304 tcp_seq irs;
305 tcp_cc cc_recv;
306 tcp_cc cc_send;
307 u_short last_win; /* cached window value */
308 u_short tw_so_options; /* copy of so_options */
309 struct ucred *tw_cred; /* user credentials */
310 u_long t_recent;
310 u_long t_recent;
311 u_long t_starttime;
312 int tw_time;
313 LIST_ENTRY(tcptw) tw_2msl;
314};
311 u_long t_starttime;
312 int tw_time;
313 LIST_ENTRY(tcptw) tw_2msl;
314};
315
315
316/*
317 * The TAO cache entry which is stored in the tcp hostcache.
318 */
319struct rmxp_tao {
320 tcp_cc tao_cc; /* latest CC in valid SYN */
321 tcp_cc tao_ccsent; /* latest CC sent to peer */
322 u_short tao_mssopt; /* peer's cached MSS */
323#ifdef notyet

--- 133 unchanged lines hidden (view full) ---

457 u_long tcps_sc_recvcookie; /* SYN cookie received */
458
459 u_long tcps_hc_added; /* entry added to hostcache */
460 u_long tcps_hc_bucketoverflow; /* hostcache per bucket limit hit */
461
462 /* SACK related stats */
463 u_long tcps_sack_recovery_episode; /* SACK recovery episodes */
464 u_long tcps_sack_rexmits; /* SACK rexmit segments */
316/*
317 * The TAO cache entry which is stored in the tcp hostcache.
318 */
319struct rmxp_tao {
320 tcp_cc tao_cc; /* latest CC in valid SYN */
321 tcp_cc tao_ccsent; /* latest CC sent to peer */
322 u_short tao_mssopt; /* peer's cached MSS */
323#ifdef notyet

--- 133 unchanged lines hidden (view full) ---

457 u_long tcps_sc_recvcookie; /* SYN cookie received */
458
459 u_long tcps_hc_added; /* entry added to hostcache */
460 u_long tcps_hc_bucketoverflow; /* hostcache per bucket limit hit */
461
462 /* SACK related stats */
463 u_long tcps_sack_recovery_episode; /* SACK recovery episodes */
464 u_long tcps_sack_rexmits; /* SACK rexmit segments */
465 u_long tcps_sack_rexmit_bytes; /* SACK rexmit bytes */
465 u_long tcps_sack_rexmit_bytes; /* SACK rexmit bytes */
466 u_long tcps_sack_rcv_blocks; /* SACK blocks (options) received */
467 u_long tcps_sack_send_blocks; /* SACK blocks (options) sent */
468};
469
470/*
471 * TCB structure exported to user-land via sysctl(3).
472 * Evil hack: declare only if in_pcb.h and sys/socketvar.h have been
473 * included. Not all of our clients do.

--- 81 unchanged lines hidden (view full) ---

555void tcp_init(void);
556void tcp_fini(void *);
557void tcp_reass_init(void);
558void tcp_input(struct mbuf *, int);
559u_long tcp_maxmtu(struct in_conninfo *);
560u_long tcp_maxmtu6(struct in_conninfo *);
561void tcp_mss(struct tcpcb *, int);
562int tcp_mssopt(struct in_conninfo *);
466 u_long tcps_sack_rcv_blocks; /* SACK blocks (options) received */
467 u_long tcps_sack_send_blocks; /* SACK blocks (options) sent */
468};
469
470/*
471 * TCB structure exported to user-land via sysctl(3).
472 * Evil hack: declare only if in_pcb.h and sys/socketvar.h have been
473 * included. Not all of our clients do.

--- 81 unchanged lines hidden (view full) ---

555void tcp_init(void);
556void tcp_fini(void *);
557void tcp_reass_init(void);
558void tcp_input(struct mbuf *, int);
559u_long tcp_maxmtu(struct in_conninfo *);
560u_long tcp_maxmtu6(struct in_conninfo *);
561void tcp_mss(struct tcpcb *, int);
562int tcp_mssopt(struct in_conninfo *);
563struct inpcb *
563struct inpcb *
564 tcp_drop_syn_sent(struct inpcb *, int);
565struct inpcb *
566 tcp_mtudisc(struct inpcb *, int);
567struct tcpcb *
568 tcp_newtcpcb(struct inpcb *);
569int tcp_output(struct tcpcb *);
570struct inpcb *
571 tcp_quench(struct inpcb *, int);

--- 46 unchanged lines hidden (view full) ---

618void tcp_clean_sackreport(struct tcpcb *tp);
619void tcp_sack_adjust(struct tcpcb *tp);
620struct sackhole *tcp_sack_output(struct tcpcb *tp);
621void tcp_sack_partialack(struct tcpcb *, struct tcphdr *);
622void tcp_free_sackholes(struct tcpcb *tp);
623int tcp_newreno(struct tcpcb *, struct tcphdr *);
624u_long tcp_seq_subtract(u_long, u_long );
625#ifdef TCP_SACK_DEBUG
564 tcp_drop_syn_sent(struct inpcb *, int);
565struct inpcb *
566 tcp_mtudisc(struct inpcb *, int);
567struct tcpcb *
568 tcp_newtcpcb(struct inpcb *);
569int tcp_output(struct tcpcb *);
570struct inpcb *
571 tcp_quench(struct inpcb *, int);

--- 46 unchanged lines hidden (view full) ---

618void tcp_clean_sackreport(struct tcpcb *tp);
619void tcp_sack_adjust(struct tcpcb *tp);
620struct sackhole *tcp_sack_output(struct tcpcb *tp);
621void tcp_sack_partialack(struct tcpcb *, struct tcphdr *);
622void tcp_free_sackholes(struct tcpcb *tp);
623int tcp_newreno(struct tcpcb *, struct tcphdr *);
624u_long tcp_seq_subtract(u_long, u_long );
625#ifdef TCP_SACK_DEBUG
626void tcp_print_holes(struct tcpcb *tp);
626void tcp_print_holes(struct tcpcb *tp);
627#endif /* TCP_SACK_DEBUG */
628
629#endif /* _KERNEL */
630
631#endif /* _NETINET_TCP_VAR_H_ */
627#endif /* TCP_SACK_DEBUG */
628
629#endif /* _KERNEL */
630
631#endif /* _NETINET_TCP_VAR_H_ */