home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / unix / bsd / 10199 < prev    next >
Encoding:
Text File  |  1992-12-14  |  2.0 KB  |  48 lines

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