Andre, I can provide you with any additional information, since I have crashdump saved. I can dig into the problem myself if you give me some pointers where to look at.
On Tue, Feb 24, 2004 at 11:14:59AM +0100, Andre Oppermann wrote: A> Gleb Smirnoff wrote: A> > A> > Dear sirs, A> > A> > please take a look at the following problem. I've been A> > successfully using the following code on STABLE and 5.1-RELEASE: A> > A> > struct route ro; A> > struct sockaddr_in *sin; A> > A> > bzero((caddr_t)&ro, sizeof(ro)); A> > sin = (struct sockaddr_in *)&ro.ro_dst; A> > sin->sin_len = sizeof(*sin); A> > sin->sin_family = AF_INET; A> > sin->sin_addr = fle->r.r_dst; A> > rtalloc(&ro); A> A> Most of the time, if you don't need a cloned route allocated, you can A> just use rtalloc_ign(&ro, RTF_CLONING) to just get a reference to the A> existing rtentry. Not allocating a new cloned route saves work and A> time for the rtalloc code. A> A> > if (ro.ro_rt != NULL) { A> > struct rtentry *rt = ro.ro_rt; A> > A> > /* here some read-only things are done with rt */ A> A> Maybe you do some nasty things to rt here? A> A> > rtfree(ro.ro_rt); A> > } A> > A> > But on CURRENT rtfree() causes panic. Here is backtrace: A> ... A> > Does this mean that something is broken in CURRENT or I am doing something wrong? A> A> rtalloc() and rtfree() are used quite often in the network code and A> otherwise work fine. The odds are high that you are doing something A> wrong. A> A> -- A> Andre -- Totus tuus, Glebius. GLEBIUS-RIPN GLEB-RIPE _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"