Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 01 Oct 1999 14:10:13 -0600
From:      Gary Ruwaldt <gsrmdr@lucent.com>
To:        freebsd-hackers@freeBSD.org
Subject:   radix.c, Hey is this a bug ?
Message-ID:  <37F51525.55BDEF23@lucent.com>

next in thread | raw e-mail | index | archive | help

Hey is this a bug ?

I downloaded the code for radix.c and radix.h and was trying to get a
tree that looks
like the one in  TCP/IP Illustrated V.2 page 563 A.K.A "the book". I set
up a test program to put the same data into the tree, page 560 and
noticed a couple of differences. This is a copy of the data I placed in
the tree:

struct myStuff MyStuff [MaxEntries] =
{
 "127.0.0.0",     0xff000000,
 "127.0.0.1",     0xffffffff,
 "128.32.33.5",   0xffffffff,
 "140.252.13.32", 0xffffffe0,
 "140.252.13.33", 0xffffffff,
 "140.252.13.34", 0xffffffff,
 "140.252.13.35", 0xffffffff,
 "140.252.13.65", 0xffffffff,
 "224.0.0.0",     0xff000000,
 "224.0.0.1",     0xffffffff,
 "0.0.0.0",       0x00000000,
};

For the first entry 127.0.0.0 with a subnet mask of 0xff 000000 the
radix node entry's
mask pointer pointed to the one's entry i.e. radix node in the mask
tree. This caused
a problem with the search i.e. rn_matchaddr of 127.0.0.0,  because the
length of the key was taken from this mask entry as 0xff. I have
modified the code to get the tree to look like
the one in "the book" but I have eliminated the benifit of removing
trailing zeros.
A couple of questions; 1. Can someone explain how the removal of
trailing zeros is
suppose to work.? 2. Is this a real bug or pilot error. If pilot error
what did I do wrong?
If it is a real bug the explaintion for question one (1)  might help me
implement a solution, ya think?

My next step is to turn this code into a C++ class, has anyone already
done this?
Yea, I look around on the WWW, although maybe not in the right sites.





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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?37F51525.55BDEF23>