Date: Wed, 19 Jun 1996 15:37:09 -0400 From: "Daniel M. Eischen" <deischen@iworks.InterWorks.org> 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 Message-ID: <31C856E5.41C67EA6@iworks.InterWorks.org>
next in thread | raw e-mail | index | archive | help
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 <PT-TO-PT> <BCAST_RDISC> > > turn on RIP > > Add 204.213.232.3/32--> 204.213.233.105 metric=1 <IF> ppp0 21:45:28 > > Add 204.213.233.105/32--> 127.0.0.1 metric=1 <IF|LOCAL> 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 <PT-TO-PT> <BROKE|BCAST_RDISC> > > Chg 204.213.232.3/32--> 204.213.233.105 metric=1 <IF> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?31C856E5.41C67EA6>