| version 1.293, 2010/12/13 14:18:50 |
version 1.293.2.1, 2011/06/06 09:09:55 |
| Line 221 int ip_checkinterface = 0; |
|
| Line 221 int ip_checkinterface = 0; |
|
| |
|
| struct rttimer_queue *ip_mtudisc_timeout_q = NULL; |
struct rttimer_queue *ip_mtudisc_timeout_q = NULL; |
| |
|
| int ipqmaxlen = IFQ_MAXLEN; |
|
| u_long in_ifaddrhash; /* size of hash table - 1 */ |
u_long in_ifaddrhash; /* size of hash table - 1 */ |
| int in_ifaddrentries; /* total number of addrs */ |
int in_ifaddrentries; /* total number of addrs */ |
| struct in_ifaddrhead in_ifaddrhead; |
struct in_ifaddrhead in_ifaddrhead; |
| Line 279 static struct ip_srcrt { |
|
| Line 278 static struct ip_srcrt { |
|
| struct in_addr route[MAX_IPOPTLEN/sizeof(struct in_addr)]; |
struct in_addr route[MAX_IPOPTLEN/sizeof(struct in_addr)]; |
| } ip_srcrt; |
} ip_srcrt; |
| |
|
| |
static int ip_drainwanted; |
| |
|
| static void save_rte(u_char *, struct in_addr); |
static void save_rte(u_char *, struct in_addr); |
| |
|
| #ifdef MBUFTRACE |
#ifdef MBUFTRACE |
|
|
| ip_ids = ip_id_init(); |
ip_ids = ip_id_init(); |
| ip_id = time_second & 0xfffff; |
ip_id = time_second & 0xfffff; |
| |
|
| ipintrq.ifq_maxlen = ipqmaxlen; |
ipintrq.ifq_maxlen = IFQ_MAXLEN; |
| |
|
| TAILQ_INIT(&in_ifaddrhead); |
TAILQ_INIT(&in_ifaddrhead); |
| in_ifaddrhashtbl = hashinit(IN_IFADDR_HASH_SIZE, HASH_LIST, true, |
in_ifaddrhashtbl = hashinit(IN_IFADDR_HASH_SIZE, HASH_LIST, true, |
|
|
| struct ifqueue lcl_intrq; |
struct ifqueue lcl_intrq; |
| |
|
| memset(&lcl_intrq, 0, sizeof(lcl_intrq)); |
memset(&lcl_intrq, 0, sizeof(lcl_intrq)); |
| ipintrq.ifq_maxlen = ipqmaxlen; |
|
| |
|
| mutex_enter(softnet_lock); |
mutex_enter(softnet_lock); |
| KERNEL_LOCK(1, NULL); |
KERNEL_LOCK(1, NULL); |
| Line 1284 const int inetctlerrmap[PRC_NCMDS] = { |
|
| Line 1284 const int inetctlerrmap[PRC_NCMDS] = { |
|
| [PRC_PARAMPROB] = ENOPROTOOPT, |
[PRC_PARAMPROB] = ENOPROTOOPT, |
| }; |
}; |
| |
|
| |
void |
| |
ip_fasttimo(void) |
| |
{ |
| |
if (ip_drainwanted) { |
| |
ip_drain(); |
| |
ip_drainwanted = 0; |
| |
} |
| |
} |
| |
|
| |
void |
| |
ip_drainstub(void) |
| |
{ |
| |
ip_drainwanted = 1; |
| |
} |
| |
|
| /* |
/* |
| * Forward a packet. If some error occurs return the sender |
* Forward a packet. If some error occurs return the sender |
| * an icmp packet. Note we can't always generate a meaningful |
* an icmp packet. Note we can't always generate a meaningful |