"Noroute to host after certaintime"is fxp only?
Jeff Love
jl at burghcom.com
Wed Sep 24 17:12:28 PDT 2003
Mike Tancsa writes:
>
> It looks like a fix just got committed into the tree.
>
> bms 2003/09/24 14:48:00 PDT
>
> FreeBSD src repository
>
> Modified files: (Branch: RELENG_4)
> sys/netinet if_ether.c
> Log:
> Fix a logic error in the check to see if arplookup() should free the
> route.
>
> Noticed by: Mike Hogsett
> Reviewed by: ru
>
> Revision Changes Path
> 1.64.2.26 +1 -1 src/sys/netinet/if_ether.c
>
>
> ---Mike
>
The patch provided by BMS looked exactly like the one on the security
advisory, thus I have not applied it.
Due to the fact that this machine was not patched but was cvsup(RELENG_4_8),
and not being able to route to any cvsup server I had to manually update
if_ether.c
Changed;
----- snip -----
if (why) {
if (create)
log(LOG_DEBUG, "arplookup %s failed: %s\n",
inet_ntoa(sin.sin_addr), why);
/* If there are no references to this route, purge it */
if (rt->rt_refcnt <= 0 &&
(rt->rt_flags & RTF_WASCLONED) != RTF_WASCLONED) {
rtrequest(RTM_DELETE,
(struct sockaddr *)rt_key(rt),
rt->rt_gateway, rt_mask(rt),
rt->rt_flags, 0);
}
return (0);
}
return ((struct llinfo_arp *)rt->rt_llinfo);
}
----- snip -----
To;
----- snip -----
if (why && create) {
log(LOG_DEBUG, "arplookup %s failed: %s\n",
inet_ntoa(sin.sin_addr), why);
return 0;
} else if (why) {
return 0;
}
return ((struct llinfo_arp *)rt->rt_llinfo);
}
----- snip -----
I then recompiled and installed kernel. Network seems to be back in order,
with reverted if_ether.c. I suppose I've violated my src tree with this
edit(4.8-RELEASE-p8 with older if_ether.c), so I'll cvsup ASAP for the
correct fix.
Thanks for the help!
<
< Jeff Love
< Burgh Gaming // www.burghcom.com
< MIG #1646
<
More information about the freebsd-stable
mailing list