summaryrefslogtreecommitdiffstats
path: root/sys/net/radix.h
Commit message (Collapse)AuthorAgeFilesLines
* Make KBI changes required for future MFCing of inpcb rtentry / llentry caching.kmacy2011-09-201-2/+2
| | | | | Reviewed by: rwatson, bz Approved by: re (kib)
* Add spares to the network stack for FreeBSD-9:bz2011-07-171-0/+1
| | | | | | | | | | | | | - TCP keep* timers - TCP UTO (adjust from what was there already) - netmap - route caching - user cookie (temporary to allow for the real fix) Slightly re-shuffle struct ifnet moving fields out of the middle of spares and to better align. Discussed with: rwatson (slightly earlier version)
* Not only flush the ipfw tables when unloading ipfw or tearingbz2010-03-071-2/+0
| | | | | | | | down a virtual netowrk stack, but also free the Radix Node Head. Sponsored by: ISPsystem Reviewed by: julian MFC after: 5 days
* Introduce a function rn_detachhead() that will free thebz2010-03-061-0/+3
| | | | | | | | | | radix table root nodes. This is only needed (and available) in the virtualization case to free the resources when tearing down a virtual network stack. Sponsored by: ISPsystem Reviewed by: julian, zec MFC after: 5 days
* Move the scan for max_keylen into route.c::route_init(),luigi2009-12-141-1/+1
| | | | | | | and make max_keylen an argument for rn_init(). This removes an unnecessary dependency on domain.h from radix.c MFC after: 7 days
* - convert radix node head lock from mutex to rwlockkmacy2008-12-071-6/+13
| | | | | | | | - make radix node head lock not recursive - fix LOR in rtexpunge - fix LOR in rtredirect Reviewed by: sam
* This patch provides the back end support for equal-cost multi-pathqingli2008-04-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (ECMP) for both IPv4 and IPv6. Previously, multipath route insertion is disallowed. For example, route add -net 192.103.54.0/24 10.9.44.1 route add -net 192.103.54.0/24 10.9.44.2 The second route insertion will trigger an error message of "add net 192.103.54.0/24: gateway 10.2.5.2: route already in table" Multiple default routes can also be inserted. Here is the netstat output: default 10.2.5.1 UGS 0 3074 bge0 => default 10.2.5.2 UGS 0 0 bge0 When multipath routes exist, the "route delete" command requires a specific gateway to be specified or else an error message would be displayed. For example, route delete default would fail and trigger the following error message: "route: writing to routing socket: No such process" "delete net default: not in table" On the other hand, route delete default 10.2.5.2 would be successful: "delete net default: gateway 10.2.5.2" One does not have to specify a gateway if there is only a single route for a particular destination. I need to perform more testings on address aliases and multiple interfaces that have the same IP prefixes. This patch as it stands today is not yet ready for prime time. Therefore, the ECMP code fragments are fully guarded by the RADIX_MPATH macro. Include the "options RADIX_MPATH" in the kernel configuration to enable this feature. Reviewed by: robert, sam, gnn, julian, kmacy
* /* -> /*- for license, minor formatting changesimp2005-01-071-1/+1
|
* + move MKGet()/MKFree() into the only file that can use them.luigi2004-04-181-15/+0
| | | | | | | | + remove useless wrappers around bcmp(), bcopy(), bzero(). The code assumes that bcmp() returns 0 if the size is 0, but this is true for both the libc and the libkern versions. + nuke Bcmp, Bzero, Bcopy from radix.h now that nobody uses them anymore.
* Remove advertising clause from University of California Regent'simp2004-04-071-4/+0
| | | | | | | license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson. Approved by: core, peter, alc, rwatson
* add R_Zalloc definition that returns pre-zero'd memorysam2003-08-191-0/+2
|
* Make the radix tree code compilable in userland. Requested by ru.hsu2003-02-081-9/+11
| | | | Some style fixes requested by bde.
* Avoid lock order reversal by expanding the scope of thehsu2003-01-281-0/+1
| | | | AF_INET radix tree lock to cover the ARP data structures.
* SMP locking for radix nodes.hsu2002-12-241-0/+11
|
* o Untangle the confusion with the malloc flags {M_WAITOK, M_NOWAIT} andbmilekic2002-12-191-1/+1
| | | | | | | | | | the mbuf allocator flags {M_TRYWAIT, M_DONTWAIT}. o Fix a bpf_compat issue where malloc() was defined to just call bpf_alloc() and pass the 'canwait' flag(s) along. It's been changed to call bpf_alloc() but pass the corresponding M_TRYWAIT or M_DONTWAIT flag (and only one of those two). Submitted by: Hiten Pandya <hiten@unixdaemons.com> (hiten->commit_count++)
* Remove __P.alfred2002-03-191-24/+24
|
* A couple months ago, Kirk and I were doing a walkthrough of the radix-treewollman2000-04-231-11/+11
| | | | | | | | search routine, and scratching our heads over why it was so obfuscated. This delta fixes a number of confusing style bugs and renames several structure members to have more meaningful names. There remain a number of odd control-flow structures. These changes do not affect the generated code.
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"peter1999-12-291-2/+2
| | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Unstaticized rn_delete() and rn_lookup(). They are used in dark cornersbde1997-11-241-1/+4
| | | | | | of netatalk (if NETATALKDEBUG is configured). Removed stray semicolons.
* Last major round (Unless Bruce thinks of somthing :-) of malloc changes.phk1997-10-121-1/+5
| | | | | | | | Distribute all but the most fundamental malloc types. This time I also remembered the trick to making things static: Put "static" in front of them. A couple of finer points by: bde
* Some staticized variables were still declared to be extern.bde1997-09-071-5/+3
|
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Another mega commit to staticize things.phk1995-12-141-9/+3
|
* Incorporate new radix code from UCB. This fixes the orphaned mask bugs.pst1995-04-281-11/+19
| | | | | | | | | This submission was done by hand-applying FreeBSD local modifications on top of the UCB code, rather than trying to patch the UCB code in on top of the FreeBSD code due to the extensive changes. Reviewed by: pst (been handling 30k routes for 4+ months) Obtained from: Sklower/Woody/Honing/Traina (8.4 UCB release)
* Better fix for the deletion of parents of cloned routes problem,wollman1995-03-201-1/+4
| | | | | superseding the `nextchild' hack. This also provides a way forward to fix RTM_CHANGE and RTM_ADD as well.
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-161-2/+3
| | | | | | (except in netccitt, netiso and netns) and most of the warnings from `gcc -Wnested-externs'. Fix all the bugs found. There were no serious ones.
* if.h:bde1994-11-141-4/+7
| | | | | | | | | | Declare a complete prototype for the function pointer *ifa_rtrequest. radix.h: Declare a complete prototype for the function pointer *rnh_walktree and for the function rn_walktree. Uniformize idempotency ifdef.
* Add code to be a bit smarter about IP routes, conditioned on the optionwollman1994-11-021-1/+3
| | | | | IN_RMX. (Eventually this will be standard, but I just wrote the code today and don't want to break anyone.)
* Make idempotent.paul1994-08-211-3/+3
| | | | Submitted by: Paul
* Added $Id$dg1994-08-021-0/+1
|
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-241-0/+153
OpenPOWER on IntegriCloud