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 204838 2010-03-07 15:58:44Z bz $
31 */
32
33#ifndef _NETINET_TCP_VAR_H_
34#define _NETINET_TCP_VAR_H_
35
36#include <netinet/tcp.h>
37
38#ifdef _KERNEL
39#include <net/vnet.h>
40
41/*
42 * Kernel variables for tcp.
43 */
44VNET_DECLARE(int, tcp_do_rfc1323);
45VNET_DECLARE(int, tcp_reass_qsize);
46VNET_DECLARE(struct uma_zone *, tcp_reass_zone);
47#define V_tcp_do_rfc1323 VNET(tcp_do_rfc1323)
48#define V_tcp_reass_qsize VNET(tcp_reass_qsize)
49#define V_tcp_reass_zone VNET(tcp_reass_zone)
50
51#endif /* _KERNEL */
52
53/* TCP segment queue entry */
54struct tseg_qent {
55 LIST_ENTRY(tseg_qent) tqe_q;
56 int tqe_len; /* TCP segment data length */
57 struct tcphdr *tqe_th; /* a pointer to tcp header */
58 struct mbuf *tqe_m; /* mbuf contains packet */
--- 494 unchanged lines hidden (view full) ---
553
554#ifdef _KERNEL
555#ifdef SYSCTL_DECL
556SYSCTL_DECL(_net_inet_tcp);
557SYSCTL_DECL(_net_inet_tcp_sack);
558MALLOC_DECLARE(M_TCPLOG);
559#endif
560
561extern int tcp_log_in_vain;
562
563VNET_DECLARE(struct inpcbhead, tcb); /* queue of active tcpcb's */
564VNET_DECLARE(struct inpcbinfo, tcbinfo);
565VNET_DECLARE(struct tcpstat, tcpstat); /* tcp statistics */
566VNET_DECLARE(int, tcp_mssdflt); /* XXX */
567VNET_DECLARE(int, tcp_minmss);
568VNET_DECLARE(int, tcp_delack_enabled);
569VNET_DECLARE(int, tcp_do_newreno);
570VNET_DECLARE(int, path_mtu_discovery);
571VNET_DECLARE(int, ss_fltsz);
572VNET_DECLARE(int, ss_fltsz_local);
573
574#define V_tcb VNET(tcb)
575#define V_tcbinfo VNET(tcbinfo)
576#define V_tcpstat VNET(tcpstat)
577#define V_tcp_mssdflt VNET(tcp_mssdflt)
578#define V_tcp_minmss VNET(tcp_minmss)
579#define V_tcp_delack_enabled VNET(tcp_delack_enabled)
580#define V_tcp_do_newreno VNET(tcp_do_newreno)
581#define V_path_mtu_discovery VNET(path_mtu_discovery)
582#define V_ss_fltsz VNET(ss_fltsz)
583#define V_ss_fltsz_local VNET(ss_fltsz_local)
584
585VNET_DECLARE(int, blackhole);
586VNET_DECLARE(int, drop_synfin);
587VNET_DECLARE(int, tcp_do_rfc3042);
588VNET_DECLARE(int, tcp_do_rfc3390);
589VNET_DECLARE(int, tcp_insecure_rst);
590VNET_DECLARE(int, tcp_do_autorcvbuf);
591VNET_DECLARE(int, tcp_autorcvbuf_inc);
592VNET_DECLARE(int, tcp_autorcvbuf_max);
593VNET_DECLARE(int, tcp_do_rfc3465);
594VNET_DECLARE(int, tcp_abc_l_var);
595
596#define V_blackhole VNET(blackhole)
597#define V_drop_synfin VNET(drop_synfin)
598#define V_tcp_do_rfc3042 VNET(tcp_do_rfc3042)
599#define V_tcp_do_rfc3390 VNET(tcp_do_rfc3390)
600#define V_tcp_insecure_rst VNET(tcp_insecure_rst)
601#define V_tcp_do_autorcvbuf VNET(tcp_do_autorcvbuf)
602#define V_tcp_autorcvbuf_inc VNET(tcp_autorcvbuf_inc)
603#define V_tcp_autorcvbuf_max VNET(tcp_autorcvbuf_max)
604#define V_tcp_do_rfc3465 VNET(tcp_do_rfc3465)
605#define V_tcp_abc_l_var VNET(tcp_abc_l_var)
606
607VNET_DECLARE(int, tcp_do_tso);
608VNET_DECLARE(int, tcp_do_autosndbuf);
609VNET_DECLARE(int, tcp_autosndbuf_inc);
610VNET_DECLARE(int, tcp_autosndbuf_max);
611
612#define V_tcp_do_tso VNET(tcp_do_tso)
613#define V_tcp_do_autosndbuf VNET(tcp_do_autosndbuf)
614#define V_tcp_autosndbuf_inc VNET(tcp_autosndbuf_inc)
615#define V_tcp_autosndbuf_max VNET(tcp_autosndbuf_max)
616
617VNET_DECLARE(int, nolocaltimewait);
618
619#define V_nolocaltimewait VNET(nolocaltimewait)
620
621VNET_DECLARE(int, tcp_do_sack); /* SACK enabled/disabled */
622VNET_DECLARE(int, tcp_sack_maxholes);
623VNET_DECLARE(int, tcp_sack_globalmaxholes);
624VNET_DECLARE(int, tcp_sack_globalholes);
625VNET_DECLARE(int, tcp_sc_rst_sock_fail); /* RST on sock alloc failure */
626VNET_DECLARE(int, tcp_do_ecn); /* TCP ECN enabled/disabled */
627VNET_DECLARE(int, tcp_ecn_maxretries);
628
629#define V_tcp_do_sack VNET(tcp_do_sack)
630#define V_tcp_sack_maxholes VNET(tcp_sack_maxholes)
631#define V_tcp_sack_globalmaxholes VNET(tcp_sack_globalmaxholes)
632#define V_tcp_sack_globalholes VNET(tcp_sack_globalholes)
633#define V_tcp_sc_rst_sock_fail VNET(tcp_sc_rst_sock_fail)
634#define V_tcp_do_ecn VNET(tcp_do_ecn)
635#define V_tcp_ecn_maxretries VNET(tcp_ecn_maxretries)
636
637int tcp_addoptions(struct tcpopt *, u_char *);
638struct tcpcb *
639 tcp_close(struct tcpcb *);
640void tcp_discardcb(struct tcpcb *);
641void tcp_twstart(struct tcpcb *);
--- 86 unchanged lines hidden ---
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 204838 2010-03-07 15:58:44Z bz $
31 */
32
33#ifndef _NETINET_TCP_VAR_H_
34#define _NETINET_TCP_VAR_H_
35
36#include <netinet/tcp.h>
37
38#ifdef _KERNEL
39#include <net/vnet.h>
40
41/*
42 * Kernel variables for tcp.
43 */
44VNET_DECLARE(int, tcp_do_rfc1323);
45VNET_DECLARE(int, tcp_reass_qsize);
46VNET_DECLARE(struct uma_zone *, tcp_reass_zone);
47#define V_tcp_do_rfc1323 VNET(tcp_do_rfc1323)
48#define V_tcp_reass_qsize VNET(tcp_reass_qsize)
49#define V_tcp_reass_zone VNET(tcp_reass_zone)
50
51#endif /* _KERNEL */
52
53/* TCP segment queue entry */
54struct tseg_qent {
55 LIST_ENTRY(tseg_qent) tqe_q;
56 int tqe_len; /* TCP segment data length */
57 struct tcphdr *tqe_th; /* a pointer to tcp header */
58 struct mbuf *tqe_m; /* mbuf contains packet */
--- 494 unchanged lines hidden (view full) ---
553
554#ifdef _KERNEL
555#ifdef SYSCTL_DECL
556SYSCTL_DECL(_net_inet_tcp);
557SYSCTL_DECL(_net_inet_tcp_sack);
558MALLOC_DECLARE(M_TCPLOG);
559#endif
560
561extern int tcp_log_in_vain;
562
563VNET_DECLARE(struct inpcbhead, tcb); /* queue of active tcpcb's */
564VNET_DECLARE(struct inpcbinfo, tcbinfo);
565VNET_DECLARE(struct tcpstat, tcpstat); /* tcp statistics */
566VNET_DECLARE(int, tcp_mssdflt); /* XXX */
567VNET_DECLARE(int, tcp_minmss);
568VNET_DECLARE(int, tcp_delack_enabled);
569VNET_DECLARE(int, tcp_do_newreno);
570VNET_DECLARE(int, path_mtu_discovery);
571VNET_DECLARE(int, ss_fltsz);
572VNET_DECLARE(int, ss_fltsz_local);
573
574#define V_tcb VNET(tcb)
575#define V_tcbinfo VNET(tcbinfo)
576#define V_tcpstat VNET(tcpstat)
577#define V_tcp_mssdflt VNET(tcp_mssdflt)
578#define V_tcp_minmss VNET(tcp_minmss)
579#define V_tcp_delack_enabled VNET(tcp_delack_enabled)
580#define V_tcp_do_newreno VNET(tcp_do_newreno)
581#define V_path_mtu_discovery VNET(path_mtu_discovery)
582#define V_ss_fltsz VNET(ss_fltsz)
583#define V_ss_fltsz_local VNET(ss_fltsz_local)
584
585VNET_DECLARE(int, blackhole);
586VNET_DECLARE(int, drop_synfin);
587VNET_DECLARE(int, tcp_do_rfc3042);
588VNET_DECLARE(int, tcp_do_rfc3390);
589VNET_DECLARE(int, tcp_insecure_rst);
590VNET_DECLARE(int, tcp_do_autorcvbuf);
591VNET_DECLARE(int, tcp_autorcvbuf_inc);
592VNET_DECLARE(int, tcp_autorcvbuf_max);
593VNET_DECLARE(int, tcp_do_rfc3465);
594VNET_DECLARE(int, tcp_abc_l_var);
595
596#define V_blackhole VNET(blackhole)
597#define V_drop_synfin VNET(drop_synfin)
598#define V_tcp_do_rfc3042 VNET(tcp_do_rfc3042)
599#define V_tcp_do_rfc3390 VNET(tcp_do_rfc3390)
600#define V_tcp_insecure_rst VNET(tcp_insecure_rst)
601#define V_tcp_do_autorcvbuf VNET(tcp_do_autorcvbuf)
602#define V_tcp_autorcvbuf_inc VNET(tcp_autorcvbuf_inc)
603#define V_tcp_autorcvbuf_max VNET(tcp_autorcvbuf_max)
604#define V_tcp_do_rfc3465 VNET(tcp_do_rfc3465)
605#define V_tcp_abc_l_var VNET(tcp_abc_l_var)
606
607VNET_DECLARE(int, tcp_do_tso);
608VNET_DECLARE(int, tcp_do_autosndbuf);
609VNET_DECLARE(int, tcp_autosndbuf_inc);
610VNET_DECLARE(int, tcp_autosndbuf_max);
611
612#define V_tcp_do_tso VNET(tcp_do_tso)
613#define V_tcp_do_autosndbuf VNET(tcp_do_autosndbuf)
614#define V_tcp_autosndbuf_inc VNET(tcp_autosndbuf_inc)
615#define V_tcp_autosndbuf_max VNET(tcp_autosndbuf_max)
616
617VNET_DECLARE(int, nolocaltimewait);
618
619#define V_nolocaltimewait VNET(nolocaltimewait)
620
621VNET_DECLARE(int, tcp_do_sack); /* SACK enabled/disabled */
622VNET_DECLARE(int, tcp_sack_maxholes);
623VNET_DECLARE(int, tcp_sack_globalmaxholes);
624VNET_DECLARE(int, tcp_sack_globalholes);
625VNET_DECLARE(int, tcp_sc_rst_sock_fail); /* RST on sock alloc failure */
626VNET_DECLARE(int, tcp_do_ecn); /* TCP ECN enabled/disabled */
627VNET_DECLARE(int, tcp_ecn_maxretries);
628
629#define V_tcp_do_sack VNET(tcp_do_sack)
630#define V_tcp_sack_maxholes VNET(tcp_sack_maxholes)
631#define V_tcp_sack_globalmaxholes VNET(tcp_sack_globalmaxholes)
632#define V_tcp_sack_globalholes VNET(tcp_sack_globalholes)
633#define V_tcp_sc_rst_sock_fail VNET(tcp_sc_rst_sock_fail)
634#define V_tcp_do_ecn VNET(tcp_do_ecn)
635#define V_tcp_ecn_maxretries VNET(tcp_ecn_maxretries)
636
637int tcp_addoptions(struct tcpopt *, u_char *);
638struct tcpcb *
639 tcp_close(struct tcpcb *);
640void tcp_discardcb(struct tcpcb *);
641void tcp_twstart(struct tcpcb *);
--- 86 unchanged lines hidden ---