NetBSD/sys/conf
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
..
Makefile.kern.inc Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the 2007-05-28 12:06:17 +00:00
copyright Welcome to 2007. 2007-01-01 04:26:16 +00:00
files Take steps to hide the radix_node implementation of the forwarding table 2007-07-19 20:48:50 +00:00
majors Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block 2007-05-01 17:18:52 +00:00
mkldscript.sh Move mkldscript.sh, which is used to create ldscript dynamically to 2007-03-04 02:35:49 +00:00
newvers.sh amd64 kern.ldscript can handle notes now 2007-05-12 21:00:00 +00:00
newvers_stand.sh
osrelease.sh Back out revision 1.109 - it's NOT silly to parse the comment when 2006-08-08 07:05:40 +00:00
param.c merge yamt-idlelwp branch. asked by core@. some ports still needs work. 2007-05-17 14:51:11 +00:00
std merge yamt-idlelwp branch. asked by core@. some ports still needs work. 2007-05-17 14:51:11 +00:00