ip_input.c (55009) | ip_input.c (56555) |
---|---|
1/* 2 * Copyright (c) 1982, 1986, 1988, 1993 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 --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)ip_input.c 8.2 (Berkeley) 1/4/94 | 1/* 2 * Copyright (c) 1982, 1986, 1988, 1993 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 --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)ip_input.c 8.2 (Berkeley) 1/4/94 |
34 * $FreeBSD: head/sys/netinet/ip_input.c 55009 1999-12-22 19:13:38Z shin $ | 34 * $FreeBSD: head/sys/netinet/ip_input.c 56555 2000-01-24 20:39:02Z brian $ |
35 */ 36 37#define _IP_VHL 38 39#include "opt_bootp.h" 40#include "opt_ipfw.h" 41#include "opt_ipdn.h" 42#include "opt_ipdivert.h" --- 15 unchanged lines hidden (view full) --- 58#include <sys/syslog.h> 59#include <sys/sysctl.h> 60 61#include <net/if.h> 62#include <net/if_var.h> 63#include <net/if_dl.h> 64#include <net/route.h> 65#include <net/netisr.h> | 35 */ 36 37#define _IP_VHL 38 39#include "opt_bootp.h" 40#include "opt_ipfw.h" 41#include "opt_ipdn.h" 42#include "opt_ipdivert.h" --- 15 unchanged lines hidden (view full) --- 58#include <sys/syslog.h> 59#include <sys/sysctl.h> 60 61#include <net/if.h> 62#include <net/if_var.h> 63#include <net/if_dl.h> 64#include <net/route.h> 65#include <net/netisr.h> |
66#include <net/intrq.h> |
|
66 67#include <netinet/in.h> 68#include <netinet/in_systm.h> 69#include <netinet/in_var.h> 70#include <netinet/ip.h> 71#include <netinet/in_pcb.h> 72#include <netinet/ip_var.h> 73#include <netinet/ip_icmp.h> --- 58 unchanged lines hidden (view full) --- 132static int ipprintfs = 0; 133#endif 134 135extern struct domain inetdomain; 136extern struct ipprotosw inetsw[]; 137u_char ip_protox[IPPROTO_MAX]; 138static int ipqmaxlen = IFQ_MAXLEN; 139struct in_ifaddrhead in_ifaddrhead; /* first inet address */ | 67 68#include <netinet/in.h> 69#include <netinet/in_systm.h> 70#include <netinet/in_var.h> 71#include <netinet/ip.h> 72#include <netinet/in_pcb.h> 73#include <netinet/ip_var.h> 74#include <netinet/ip_icmp.h> --- 58 unchanged lines hidden (view full) --- 133static int ipprintfs = 0; 134#endif 135 136extern struct domain inetdomain; 137extern struct ipprotosw inetsw[]; 138u_char ip_protox[IPPROTO_MAX]; 139static int ipqmaxlen = IFQ_MAXLEN; 140struct in_ifaddrhead in_ifaddrhead; /* first inet address */ |
140struct ifqueue ipintrq; | |
141SYSCTL_INT(_net_inet_ip, IPCTL_INTRQMAXLEN, intr_queue_maxlen, CTLFLAG_RW, 142 &ipintrq.ifq_maxlen, 0, "Maximum size of the IP input queue"); 143SYSCTL_INT(_net_inet_ip, IPCTL_INTRQDROPS, intr_queue_drops, CTLFLAG_RD, 144 &ipintrq.ifq_drops, 0, "Number of packets dropped from the IP input queue"); 145 146struct ipstat ipstat; 147SYSCTL_STRUCT(_net_inet_ip, IPCTL_STATS, stats, CTLFLAG_RD, 148 &ipstat, ipstat, "IP statistics (struct ipstat, netinet/ip_var.h)"); 149 150/* Packet reassembly stuff */ 151#define IPREASS_NHASH_LOG2 6 152#define IPREASS_NHASH (1 << IPREASS_NHASH_LOG2) 153#define IPREASS_HMASK (IPREASS_NHASH - 1) 154#define IPREASS_HASH(x,y) \ 155 (((((x) & 0xF) | ((((x) >> 8) & 0xF) << 4)) ^ (y)) & IPREASS_HMASK) 156 157static struct ipq ipq[IPREASS_NHASH]; 158static int nipq = 0; /* total # of reass queues */ 159static int maxnipq; | 141SYSCTL_INT(_net_inet_ip, IPCTL_INTRQMAXLEN, intr_queue_maxlen, CTLFLAG_RW, 142 &ipintrq.ifq_maxlen, 0, "Maximum size of the IP input queue"); 143SYSCTL_INT(_net_inet_ip, IPCTL_INTRQDROPS, intr_queue_drops, CTLFLAG_RD, 144 &ipintrq.ifq_drops, 0, "Number of packets dropped from the IP input queue"); 145 146struct ipstat ipstat; 147SYSCTL_STRUCT(_net_inet_ip, IPCTL_STATS, stats, CTLFLAG_RD, 148 &ipstat, ipstat, "IP statistics (struct ipstat, netinet/ip_var.h)"); 149 150/* Packet reassembly stuff */ 151#define IPREASS_NHASH_LOG2 6 152#define IPREASS_NHASH (1 << IPREASS_NHASH_LOG2) 153#define IPREASS_HMASK (IPREASS_NHASH - 1) 154#define IPREASS_HASH(x,y) \ 155 (((((x) & 0xF) | ((((x) >> 8) & 0xF) << 4)) ^ (y)) & IPREASS_HMASK) 156 157static struct ipq ipq[IPREASS_NHASH]; 158static int nipq = 0; /* total # of reass queues */ 159static int maxnipq; |
160const int ipintrq_present = 1; |
|
160 161#ifdef IPCTL_DEFMTU 162SYSCTL_INT(_net_inet_ip, IPCTL_DEFMTU, mtu, CTLFLAG_RW, 163 &ip_mtu, 0, "Default MTU"); 164#endif 165 166#ifdef IPSTEALTH 167static int ipstealth = 0; --- 1590 unchanged lines hidden --- | 161 162#ifdef IPCTL_DEFMTU 163SYSCTL_INT(_net_inet_ip, IPCTL_DEFMTU, mtu, CTLFLAG_RW, 164 &ip_mtu, 0, "Default MTU"); 165#endif 166 167#ifdef IPSTEALTH 168static int ipstealth = 0; --- 1590 unchanged lines hidden --- |