From owner-p4-projects Wed Jun 19 18:18:15 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3BAC437B40F; Wed, 19 Jun 2002 18:18:09 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id B3AAE37B41A for ; Wed, 19 Jun 2002 18:18:07 -0700 (PDT) Received: (from perforce@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g5K1I6H46486 for perforce@freebsd.org; Wed, 19 Jun 2002 18:18:06 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 19 Jun 2002 18:18:06 -0700 (PDT) Message-Id: <200206200118.g5K1I6H46486@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm Subject: PERFORCE change 13180 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=13180 Change 13180 by peter@peter_ia64 on 2002/06/19 18:17:24 GRRRRR. I've had it with this and the people that ask about it. (I'll commit it shortly, but I can test it here easiest) Affected files ... ... //depot/projects/ia64/sys/netinet/if_ether.c#9 edit Differences ... ==== //depot/projects/ia64/sys/netinet/if_ether.c#9 (text+ko) ==== @@ -102,7 +102,7 @@ static LIST_HEAD(, llinfo_arp) llinfo_arp; struct ifqueue arpintrq; -static int arp_inuse, arp_allocated; +static int arp_inuse, arp_allocated, arpinit_done; static int arp_maxtries = 5; static int useloopback = 1; /* use loopback interface for local traffic */ @@ -162,13 +162,10 @@ register struct sockaddr *gate = rt->rt_gateway; register struct llinfo_arp *la = (struct llinfo_arp *)rt->rt_llinfo; static struct sockaddr_dl null_sdl = {sizeof(null_sdl), AF_LINK}; - static int arpinit_done; if (!arpinit_done) { arpinit_done = 1; - LIST_INIT(&llinfo_arp); timeout(arptimer, (caddr_t)0, hz); - register_netisr(NETISR_ARP, arpintr); } if (rt->rt_flags & RTF_GATEWAY) return; @@ -494,6 +491,10 @@ register struct arphdr *ar; int s; + if (!arpinit_done) { + arpinit_done = 1; + timeout(arptimer, (caddr_t)0, hz); + } while (arpintrq.ifq_head) { s = splimp(); IF_DEQUEUE(&arpintrq, m); @@ -943,6 +944,8 @@ arpintrq.ifq_maxlen = 50; mtx_init(&arpintrq.ifq_mtx, "arp_inq", NULL, MTX_DEF); + LIST_INIT(&llinfo_arp); + register_netisr(NETISR_ARP, arpintr); } SYSINIT(arp, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, arp_init, 0); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message