Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site umcp-cs.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxb!mhuxn!mhuxm!mhuxj!houxm!vax135!cornell!uw-beaver!tektronix!hplabs!sdcrdcf!sdcsvax!dcdwest!ittvax!decvax!genrad!mit-eddie!godot!harvard!seismo!umcp-cs!chris From: chris@umcp-cs.UUCP (Chris Torek) Newsgroups: net.unix-wizards Subject: Re: 4.2 ip source route bug? Message-ID: <2717@umcp-cs.UUCP> Date: Sat, 26-Jan-85 23:52:37 EST Article-I.D.: umcp-cs.2717 Posted: Sat Jan 26 23:52:37 1985 Date-Received: Sat, 2-Feb-85 11:44:06 EST References: <104@uwvax.UUCP> Distribution: net Organization: U of Maryland, Computer Science Dept., College Park, MD Lines: 25 > I have been having trouble getting 4.2 to forward source routed ip > datagrams. It seems that once into 4.2 ip, they never get back out. > [...] > [in ip_input.c, for SSRR:] > > ifp = if_ifwithaddr((struct sockaddr *)&ipaddr); > > If, when this function returns, ifp == 0, then the source route is > aborted (ip_options returns without changing the destination address, and > ip_input assumes the datagram is for the current host). It's wrong; it should be if_ifwithnet((struct sockaddr *)&ipaddr). (There *is* an if_ifwithnet in the standard 4.2 code, there *has* to be...?) > Looking at the function if_ifwithaddr(), it appears that it checks 14 bytes > of internet address. That if_ifwithaddr deals in 14 byte things is a whole different bug, and doesn't affect AF_INET. -- (This line accidently left nonblank.) In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690) UUCP: {seismo,allegra,brl-bmd}!umcp-cs!chris CSNet: chris@umcp-cs ARPA: chris@maryland