From owner-freebsd-current Wed Jun 19 12:51:20 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA12256 for current-outgoing; Wed, 19 Jun 1996 12:51:20 -0700 (PDT) Received: from plunger.gdeb.com (plunger.gdeb.com [153.11.11.3]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id MAA12230 for ; Wed, 19 Jun 1996 12:51:16 -0700 (PDT) Received: from orion.gdeb.com (orion.caen.gdeb.com) by plunger.gdeb.com with SMTP (1.37.109.16/16.2) id AA199253326; Wed, 19 Jun 1996 15:42:06 -0400 Message-Id: <31C856E5.41C67EA6@iworks.InterWorks.org> Date: Wed, 19 Jun 1996 15:37:09 -0400 From: "Daniel M. Eischen" X-Mailer: Mozilla 3.0b2 (X11; I; FreeBSD 2.1-STABLE i386) Mime-Version: 1.0 To: wollman@lcs.mit.edu, fenner@parc.xerox.com Cc: current@FreeBSD.org, deischen@iworks.InterWorks.org Subject: Re: As of 960608, routed now complains bitterly Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk Bill Fenner writes: > >RTM_ADD 0.0.0.0 --> 204.213.232.3 from pid 189 > > Was routed pid 189, or did this come from somewhere else (your ppp startup > script?) Is your ppp neighbor advertising default? > > Can you try running "route monitor" in parallel? I don't think that > routed is doing enough tracing. No it wasn't routed, but was probably from my PPP startup script in which I set the default route. I'm away from my machine at home, so I can't verify this until later tonight (EST). I'll try running "route monitor" as you suggest. Garret Wollman writes: > > Add interface ppp0 204.213.233.105 --> 204.213.232.3 metric=1 > > turn on RIP > > Add 204.213.232.3/32--> 204.213.233.105 metric=1 ppp0 21:45:28 > > Add 204.213.233.105/32--> 127.0.0.1 metric=1 ppp0 21:45:28 > > Send RIPv2 REQUEST to 204.213.232.3.520 via ppp0 > > sendto(ppp0, 204.213.232.3.520): Network is down > > Chg interface ppp0 204.213.233.105 --> 204.213.232.3 metric=1 > > Chg 204.213.232.3/32--> 204.213.233.105 metric=1 ppp0 > > 204.213.232.3/32--> metric=16 - hold-down=10 21:43:28 > > This part looks curious. Note here that it's trying to send a RIP > message to the other side of your PPP link and getting an ENETDOWN > error. I'm guessing that the following code is what's causing it: > > (from if_ppp.c) > if (sc->sc_devp == NULL || (ifp->if_flags & IFF_RUNNING) == 0 > || (ifp->if_flags & IFF_UP) == 0 && dst->sa_family != AF_UNSPEC) { > error = ENETDOWN; /* sort of */ > goto bad; > } > > What this seems to be saying is: `if there is no TTY attached, or if > the interface is not RUNNING, or if both the interface is not UP and > the attempted write is not for family AF_UNSPEC (meaning raw PPP)'. > My guess would be that there is some window in between the time that > the interface is configured as UP, and the time that it is configured > as RUNNING (perhaps there is some IPCP transaction that has to go on > here), and that `routed' is attempting to send on an interface that is > in such a state. > > Here is an experiment you might try... in > /usr/src/usr.sbin/routed/defs.h, look for the lines: > > #ifdef sgi > #define IFF_UP_RUNNING (IFF_RUNNING|IFF_UP) > #else > #define IFF_UP_RUNNING IFF_UP > #endif > > ...and change the `#ifdef sgi' to `#if 1' and see what happens. You > might have to fix up a few interfaces in the kernel (like the > loopback) so that they properly set IFF_RUNNING in order for this to > work. (I will do so in -current.) > > Also, if you are getting lots of IP_[ADD|DROP]_MEMBERSHIP warnings, > try defining MCAST_PPP_BUG. I don't think that this should be > necessary, but it can't hurt to try. I'll also try this later tonight. Dan Eischen deischen@iworks.InterWorks.org