Tobias DiPasquale wrote:
On Mon, 7 Jun 2004 08:12:13 -0400, Tobias DiPasquale <cbcgtt@gmail.com> wrote:
...Any help would be appreciated. Thanks.
Nevermind about that. Someone on the netfilter list just told me how
it works. As well, there is more detailed information in Chapter 18 of
Understanding the Linux Kernel (2nd Edition) (RTFM ;-)). For others
who may be interested in how this works:
Any one FIB table (because there are more than one) consists of (among
other things) a struct fn_hash, an array of 33 pointers to struct
fn_zone records. The fn_zone records include routing information for
destination networks that each have the same network mask (e.g. all
/24 networks would be represented by the same fn_zone record). The
routing information itself is stored in a fib_node record which is
attached to its associated fn_zone record. The fib_node then contains
a pointer to the struct fib_info record which represents the network
device for that particular route (which is shared by all routes that
are directed to that particular interface). It also seems that after
the route is resolved the first time, it is then entered in the
routing cache (rt_hash_table) for faster future resolution.
This method is similar to the traditional BSD route resolution method
(in fact its almost identical). It also happens to be pretty
inefficient and much better IP lookup algorithms have existed for a
number of years (though there may be some patent/IP issues preventing
some of them from being used that I'm not aware of... $FLAME=="no" if
that's the case).
Anyway, thanks for letting me take up your time with this largely
useless thread.
--
Tobias DiPasquale
[ 0x63626367545440676d61696c2e636f6d ]
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Thanks for info Tobias!! I think nobody answers any basic question
(though valid, because most of the time, explanation is not available in
any documentation) on this list. I was just wondering if there is any
other list on linux networking where I can get answers to some basic
question related to networking implementation in linux.
Regards,
Manu Garg
http://manugarg.spymac.net
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html