home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.unix.bsd
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!caen!batcomputer!cornell!newsstand.cit.cornell.edu!newsstand.cit.cornell.edu!jch
- From: Jeffrey C Honig <jch@nr-tech.cit.cornell.edu>
- Subject: Re: [386bsd] ICMP redirect handling panic - FIX
- In-Reply-To: andrew@werple.apana.org.au's message of 14 Dec 1992 13: 30:41 +1100
- Message-ID: <JCH.92Dec14142820@mitchell.cit.cornell.edu>
- Sender: news@mail.cornell.edu
- Nntp-Posting-Host: mitchell.cit.cornell.edu
- Nntp-Posting-User: @cornell.edu
- Organization: Information Technologies/Network Resources; Cornell University;
- Ithaca, NY USA
- References: <1ggrkhINN67h@werple.apana.org.au>
- Date: Mon, 14 Dec 1992 19:28:20 GMT
- Lines: 32
-
- In article <1ggrkhINN67h@werple.apana.org.au> andrew@werple.apana.org.au (Andrew Herbert) writes:
- >
- > The fact that the ENETUNREACH branch (look in the source for rtredirect()),
- > the cause of the panic, is taken at all makes me somewhat dubious as to whether
- > pcroute is doing the right thing. printf()s indicated that the redirects were
- > coming from the router's slip interface that had just died, rather than the
- > ethernet interface as is (reasonably) expected by 386bsd. But in any case, it
- > certainly uncovered a 386bsd bug.
-
- No, pcroute is not doing the right thing, the source address of the
- redirect should be on the same network. Yes, that is a 386bsd bug,
- present in Reno, Net-2 and 4.4 Alpha.
-
- > ***************
- > *** 170,175 ****
- > --- 174,183 ----
- > if (!(flags & RTF_DONE) && rt && !equal(src, rt->rt_gateway))
- > error = EINVAL;
- > else if (ifa_ifwithaddr(gateway))
- > + /*
- > + * XXX - shouldn't this be testing whether (ifa_ifwithaddr(gateway) == 0) ???
- > + * i.e. gateway can't be reached from any interface - andrew@werple, 12 Dec 92
- > + */
- > error = EHOSTUNREACH;
- > if (error)
- > goto done;
-
- There is an earlier check for ifa_ifwithnet(gateway) being zero. This
- check just makes sure that the new gateway is not an interface on this
- host.
-
- Jeff
-