Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Sep 1999 23:20:02 -0700 (PDT)
From:      Christophe Colle <colle@pandora.be>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/13232: panic("rtfree"); when sending bootp requests to machine
Message-ID:  <199909220620.XAA73692@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/13232; it has been noted by GNATS.

From: Christophe Colle <colle@pandora.be>
To: "Massa.Hatanaka" <hatanaka@open.nm.fujitsu.co.jp>
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: kern/13232: panic("rtfree"); when sending bootp requests to
 machine
Date: Wed, 22 Sep 1999 08:12:59 +0200 (MET DST)

 Hi,
 
 I patched the kernel with this updated, and now it seems to work
 fine...
 Thanks!
 
 cc
 
 On Thu, 16 Sep 1999, Massa.Hatanaka wrote:
 
 > Date: Thu, 16 Sep 1999 11:06:18 JST
 > From: Massa.Hatanaka <hatanaka@open.nm.fujitsu.co.jp>
 > To: freebsd-gnats-submit@freebsd.org
 > Cc: colle@krtkg1.rug.ac.be, hatanaka@open.nm.fujitsu.co.jp
 > Subject: Re: kern/13232: panic("rtfree"); when sending bootp requests to
     machine
 > 
 > Altough I am not sure to fix, you can try the following fixes.
 > Hope that helps.
 > 
 > -Massa. Hatanaka
 > 
 > ==
 > [1] For aged bug
 > 
 >     route_output():sys/net/rtsock.c
 > 
 > 		if ((rnh = rt_tables[dst->sa_family]) == 0) {
 > 			senderr(EAFNOSUPPORT);
 > 		} else if (rt = (struct rtentry *)
 > 				rnh->rnh_lookup(dst, netmask, rnh))
 > 	#ifdef	notdef
 > 			rt->rt_refcnt++;
 > 	#else   /* notdef */
 > 		{
 > 			if (rt->rt_nodes[0].rn_flags & RNF_ROOT) {
 > 				rt = 0;
 > 				senderr(ESRCH);
 > 			}
 > 			rt->rt_refcnt++;
 > 		}
 > 	#endif  /* notdef */
 > 		else
 > 			senderr(ESRCH);
 > 
 > [2] For young bug
 > 
 >     in_matroute():sys/netinet/in_rmx.c
 > 
 > 	static struct radix_node *
 > 	in_matroute(void *v_arg, struct radix_node_head *head)
 > 	{
 > 		struct radix_node *rn = rn_match(v_arg, head);
 > 		struct rtentry *rt = (struct rtentry *)rn;
 > 
 > #ifdef  notdef
 > #endif  /* notdef */
 > 		if (rn && (rn->rn_flags & RNF_ROOT)) {
 > 			return (rn);
 > 		}
 > #endif  /* notdef */
 > 		if(rt && rt->rt_refcnt == 0) { /* this is first reference */
 > 			if(rt->rt_flags & RTPRF_OURS) {
 > 				rt->rt_flags &= ~RTPRF_OURS;
 > 				rt->rt_rmx.rmx_expire = 0;
 > 			}
 > 		}
 > 		return rn;
 > 	}
 > 
 > ===
 > Massa. Hatanaka                                Fujitsu Limited, Japan
 > /* E-Mail: masoh@itspf.fujitsu.oz.au */
 > E-Mail: hatanaka@open.nm.fujitsu.co.jp
 > 
 
 ---
 
 you type win, but you lose
 
 The Internet doesn't really need admins that are dumber than 
 the ones we have already.
 ----
 
 Christophe Colle
 
 Telenet, Liersesteenweg 4, 2800 Mechelen, Belgium
     tel:+32(0)15.333.981
     mailto:christophe.colle@telenet.be
     http://krtkg1.rug.ac.be/~colle
 
 
 
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909220620.XAA73692>