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 207369 2010-04-29 11:52:42Z 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); |
45#define V_tcp_do_rfc1323 VNET(tcp_do_rfc1323) 46 |
47VNET_DECLARE(int, tcp_reass_qsize); 48VNET_DECLARE(struct uma_zone *, tcp_reass_zone); |
49#define V_tcp_reass_qsize VNET(tcp_reass_qsize) 50#define V_tcp_reass_zone VNET(tcp_reass_zone) |
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 |
561VNET_DECLARE(struct inpcbhead, tcb); /* queue of active tcpcb's */ 562VNET_DECLARE(struct inpcbinfo, tcbinfo); 563VNET_DECLARE(struct tcpstat, tcpstat); /* tcp statistics */ |
564extern int tcp_log_in_vain; |
565VNET_DECLARE(int, tcp_mssdflt); /* XXX */ 566VNET_DECLARE(int, tcp_minmss); 567VNET_DECLARE(int, tcp_delack_enabled); 568VNET_DECLARE(int, tcp_do_newreno); 569VNET_DECLARE(int, path_mtu_discovery); 570VNET_DECLARE(int, ss_fltsz); 571VNET_DECLARE(int, ss_fltsz_local); |
572#define V_tcb VNET(tcb) 573#define V_tcbinfo VNET(tcbinfo) 574#define V_tcpstat VNET(tcpstat) 575#define V_tcp_mssdflt VNET(tcp_mssdflt) 576#define V_tcp_minmss VNET(tcp_minmss) 577#define V_tcp_delack_enabled VNET(tcp_delack_enabled) 578#define V_tcp_do_newreno VNET(tcp_do_newreno) 579#define V_path_mtu_discovery VNET(path_mtu_discovery) 580#define V_ss_fltsz VNET(ss_fltsz) 581#define V_ss_fltsz_local VNET(ss_fltsz_local) 582 |
583VNET_DECLARE(int, tcp_do_sack); /* SACK enabled/disabled */ |
584VNET_DECLARE(int, tcp_sc_rst_sock_fail); /* RST on sock alloc failure */ |
585#define V_tcp_do_sack VNET(tcp_do_sack) |
586#define V_tcp_sc_rst_sock_fail VNET(tcp_sc_rst_sock_fail) |
587 588VNET_DECLARE(int, tcp_do_ecn); /* TCP ECN enabled/disabled */ 589VNET_DECLARE(int, tcp_ecn_maxretries); |
590#define V_tcp_do_ecn VNET(tcp_do_ecn) 591#define V_tcp_ecn_maxretries VNET(tcp_ecn_maxretries) 592 593int tcp_addoptions(struct tcpopt *, u_char *); 594struct tcpcb * 595 tcp_close(struct tcpcb *); 596void tcp_discardcb(struct tcpcb *); 597void tcp_twstart(struct tcpcb *); --- 86 unchanged lines hidden --- |