Go to file
dyoung 6fcbbbc853 Take steps to hide the radix_node implementation of the forwarding table
from the forwarding table's users:

        Introduce rt_walktree() for walking the routing table and
        applying a function to each rtentry.  Replace most
        rn_walktree() calls with it.

        Use rt_getkey()/rt_setkey() to get/set a route's destination.
        Keep a pointer to the sockaddr key in the rtentry, so that
        rtentry users do not have to grovel in the radix_node for
        the key.

        Add a RTM_GET method to rtrequest.  Use that instead of
        radix_node lookups in, e.g., carp(4).

Add sys/net/link_proto.c, which supplies sockaddr routines for
link-layer socket addresses (sockaddr_dl).

Cosmetic:

        Constify.  KNF.  Stop open-coding LIST_FOREACH, TAILQ_FOREACH,
        et cetera.  Use NULL instead of 0 for null pointers.  Use
        __arraycount().  Reduce gratuitous parenthesization.

        Stop using variadic arguments for rip6_output(), it is
        unnecessary.

        Remove the unnecessary rtentry member rt_genmask and the
        code to maintain it, since nothing actually used it.

        Make rt_maskedcopy() easier to read by using meaningful variable
        names.

        Extract a subroutine intern_netmask() for looking up a netmask in
        the masks table.

        Start converting backslash-ridden IPv6 macros in
        sys/netinet6/in6_var.h into inline subroutines that one
        can read without special eyeglasses.

One functional change: when the kernel serves an RTM_GET, RTM_LOCK,
or RTM_CHANGE request, it applies the netmask (if supplied) to a
destination before searching for it in the forwarding table.

I have changed sys/netinet/ip_carp.c, carp_setroute(), to remove
the unlawful radix_node knowledge.

Apart from the changes to carp(4), netiso, ATM, and strip(4), I
have run the changes on three nodes in my wireless routing testbed,
which involves IPv4 + IPv6 dynamic routing acrobatics, and it's
working beautifully so far.
2007-07-19 20:48:50 +00:00
bin kill MFSNAMELEN 2007-07-17 20:03:10 +00:00
common cast to void* to avoid a fatal warning 2007-07-18 16:58:14 +00:00
crypto Various racoon configuration manpage updates. 2007-07-18 22:50:47 +00:00
dist remove uucp references; from Anon-Ymous 2007-07-18 18:36:57 +00:00
distrib s/libcrypto.so.3.1/libcrypto.so.3.2/ 2007-07-19 11:28:00 +00:00
doc Note the nick-csl-alignment branch. 2007-07-18 13:28:20 +00:00
etc Do not shutdown the system when a critical event is received, this 2007-07-17 13:56:25 +00:00
games Increased WARNS to 4, since it passes both gcc333 and gcc411 on i386. 2007-06-06 06:10:50 +00:00
gnu PR/36664: Greg A. Woods: Document a simpler and safer way to find gcc's 2007-07-18 00:00:21 +00:00
include _PATH_PUFFS 2007-07-17 10:14:33 +00:00
lib Use HTML escapes. Drop trailing whitespace. Punctuation nits. 2007-07-19 19:25:09 +00:00
libexec Use an elf note to handle pax arguments. This is a temporary solution to 2007-06-24 20:35:36 +00:00
regress A regression test is much more useful, if it passes itself on correct 2007-07-16 19:04:18 +00:00
rescue Add read-only support for SGI's Extent File System. 2007-06-29 23:30:16 +00:00
sbin cast sizeof() to int for printf widths. 2007-07-17 23:56:01 +00:00
share Oops, the cookies for nfs of course represent the *next* directory 2007-07-19 10:14:53 +00:00
sys Take steps to hide the radix_node implementation of the forwarding table 2007-07-19 20:48:50 +00:00
tools sys/queue.h now requires sys/null.h, so add a compatibility header file. 2007-07-19 13:49:12 +00:00
usr.bin Add the '-E' option to interpret regexes as extended regexes. While we 2007-07-19 07:49:30 +00:00
usr.sbin Oops, the cookies for nfs of course represent the *next* directory 2007-07-19 10:14:53 +00:00
x11 build sunffb and xf8_32wid on sparc 2007-04-22 23:42:38 +00:00
BUILDING Document recent changes to "make iso-image". 2007-04-13 19:43:38 +00:00
Makefile
Makefile.inc
UPDATING Add a note that tools have to be re-installed. 2007-07-03 16:35:47 +00:00
build.sh Move several variable initialisations to the beginning of 2007-06-26 12:59:38 +00:00