summaryrefslogtreecommitdiffstats
path: root/sys/net/route.c
Commit message (Collapse)AuthorAgeFilesLines
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* fix mixleading comment (my error.. I wrote the comment)julian1997-01-261-1/+1
|
* 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.
* No code changes what so ever, but added about 150 lines of commentsjulian1996-09-101-4/+149
| | | | | | | | Sorry if this makes it harder to merge in lite2 stuff but hey.. At least I can figure out what is going on whenever I end up going through those files again.. do we have a policy regarding commenting existing code?
* Bugfix and simplification for rev 1.34: make sure that the routefenner1996-09-021-16/+6
| | | | | | is non-null before trying to delete it in rt_setgate(), which then allows removal of the special-case code from the RTM_ADD case. This should fix the panics that joerg and Phil Karn have been seeing.
* route.c:RTM_ADD does not check for a netmask before doing a tree walkpeter1996-08-241-2/+2
| | | | | | | | like it does elsewhere. This is probably only happens when incorrect args are given to route(8), or when running with non-IPv4 stacks but incorrect args to the route command is no excuse for panicing! Submitted by: Michael Clay <mclay@weareb.org>, PR#1532
* Disallow host routes that point to themselves. These routes serve nofenner1996-07-101-3/+32
| | | | | | | | | | | purpose, other than to get in the way of the ARP table and cause "can't allocate llinfo" errors. This change may cause gated or routed to start complaining when adding such routes. If so, these programs will need to be fixed to not try to add these routes. Reviewed by: wollman
* Eliminate panic("rtfree") caused by double-freeing the routefenner1996-03-291-5/+6
| | | | | | | | when rt == rt->rt_gwroute . rt == rt->gwroute shouldn't happen in the first place, but that's another problem. (try "route add -host <hostonmynet> <hostonmynet>; ping <hostonmynet>; route delete <hostonmynet>")
* Move or add #include <queue.h> in preparation for upcoming struct socketdg1996-03-111-1/+2
| | | | changes.
* Add more options into the conf/options and i386/conf/options.i386 filespeter1996-03-021-1/+3
| | | | | | and the #include hooks so that 'make depend' is more useful. This covers most of the options I regularly use (but not all) and some other easy ones.
* Fix memory leak in case of adding a host route on top of another one.wollman1996-01-241-1/+3
| | | | Pointed-out-by: Bill Fenner <fenner@parc.xerox.com>
* Another mega commit to staticize things.phk1995-12-141-6/+9
|
* Fixed call to mrt_ioctl(). mrt_ioctl() for some reason has differentbde1995-12-021-1/+5
| | | | number of args when MROUTING is defined.
* Second batch of cleanup changes.phk1995-10-291-2/+1
| | | | | This time mostly making a lot of things static and some unused variables here and there.
* When adding a route fails because there is already a route with the samewollman1995-10-161-1/+23
| | | | | | | (mask,value) in the tree, don't immediately return EEXIST. Instead, check to see if the pre-existing route was generated by protcol-cloning. If so, then it is OK to simply blow away the old route and re-attempt the insertion. If not, then fall back to the same error code as before.
* Eliminate sloppy common-style declarations. There should be none left forbde1995-07-291-1/+5
| | | | the LINT configuation.
* When adding a route, set rt_ifa and rt_ifp a little earlier so thatwollman1995-07-101-4/+13
| | | | the protocol-specific add routine can examine it if desired.
* Remove trailing whitespace.rgrimes1995-05-301-9/+9
|
* Finally finish the cloning cleanup work by making sure that cloneswollman1995-04-251-1/+131
| | | | | | | | | go away whenever a clone's parent is changed, or a route is added in a certain set of circumstances. This also includes code to forbid setting a route's gateway to an address which can only be reached through that route, thus (hopefully) eliminating one class of cloning bottomless-recursion bugs.
* Don't delete clones if they are PINNED.wollman1995-03-241-2/+2
|
* radix.c: correct exit condition in rn_walktree_from()wollman1995-03-231-4/+11
| | | | | route.c: be a little more careful when running deleting children of dying . routes
* Protocol-cloned routes should gain a reference to their parents to makewollman1995-03-211-2/+9
| | | | sure that rt->rt_parent values can never be re-used harmfully.
* Made minor readability tweak.dg1995-03-201-6/+3
|
* Better fix for the deletion of parents of cloned routes problem,wollman1995-03-201-49/+27
| | | | | 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/+2
| | | | | | (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.
* Added back the missing last few bytes of the file.dg1995-01-231-2/+3
|
* route.c: keep track of where cloned routes come from, and make sure towollman1995-01-231-3/+55
| | | | | | | | | | | delete them when the ``parent'' goes away route.h: add glue to track this to rtentry structure. WARNING WILL ROBINSON! This will be yet another incompatible change in your route-using binaries. I apologize, but this was the only way to do it. I took this opportunity to increase the size of the metrics to what I believe will be the final length for 2.1, so that when the T/TCP stuff is done, this won't happen again.
* Implemented rtalloc_ign().wollman1994-12-131-0/+10
|
* Add support for two separate cloning flags, one set by the lower layers,wollman1994-12-131-11/+13
| | | | | | | | | | | | | | | | | and one set by the protocol family. Also add another parameter to rtalloc1() to allow for any interface flags to be ignored; currently this is only useful for RTF_PRCLONING. Get rid of rt_prflags and re-unite with rt_flags. Add T/TCP ``route metrics''. NB: YOU MUST RECOMPILE `route' AND OTHER RELATED PROGRAMS AS A RESULT OF THIS CHANGE. This also adds a new interface parameter, `ifi_physical', which will eventually replace IFF_ALTPHYS as the mechanism for specifying the particular physical connection desired on a multiple-connection card. NB: YOU MUST RECOMPILE `ifconfig' AND OTHER RELATED PROGRAMS AS A RESULT OF THIS CHANGE.
* Collapse two fields so that we have space for another 32 flags.wollman1994-11-031-1/+4
| | | | | | NB: You will have to recompile programs which use the `rt_use' member in order to get the correct values. This should not cause incorrect operation, but the statistics may look a little confusing.
* Add code to be a bit smarter about IP routes, conditioned on the optionwollman1994-11-021-19/+6
| | | | | IN_RMX. (Eventually this will be standard, but I just wrote the code today and don't want to break anyone.)
* Fix a bug which caused panics when attempting to change just the flags ofwollman1994-10-111-2/+30
| | | | | | | | a route. (This still doesn't work, but it doesn't panic now.) It looks like there may be a number of incipient bugs in this code. Also, get ready for the time when all IP gateway routes are cloning, which is necessary to keep proper TCP statistics.
* GCC cleanup.phk1994-10-021-4/+9
| | | | | | Reviewed by: Submitted by: Obtained from:
* Shuffle some functions and variables around to make it possible forwollman1994-09-141-5/+2
| | | | | multicast routing to be implemented as an LKM. (There's still a bit of work to do in this area.)
* The mrt_ioctl goop properly depends on MROUTING, not MULTICAST. (Oof!)wollman1994-09-081-2/+2
|
* Reviewed by: Stefan Esserse1994-09-071-2/+2
| | | | | | Submitted by: rtioctl(): changed parameter to mrt_ioctl from "cmd" to "req" to make it compile with MULTICAST defined.
* Initial get-the-easy-case-working upgrade of the multicast codewollman1994-09-061-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to something more recent than the ancient 1.2 release contained in 4.4. This code has the following advantages as compared to previous versions (culled from the README file for the SunOS release): - True multicast delivery - Configurable rate-limiting of forwarded multicast traffic on each physical interface or tunnel, using a token-bucket limiter. - Simplistic classification of packets for prioritized dropping. - Administrative scoping of multicast address ranges. - Faster detection of hosts leaving groups. - Support for multicast traceroute (code not yet available). - Support for RSVP, the Resource Reservation Protocol. What still needs to be done: - The multicast forwarder needs testing. - The multicast routing daemon needs to be ported. - Network interface drivers need to have the `#ifdef MULTICAST' goop ripped out of them. - The IGMP code should probably be bogon-tested. Some notes about the porting process: In some cases, the Berkeley people decided to incorporate functionality from later releases of the multicast code, but then had to do things differently. As a result, if you look at Deering's patches, and then look at our code, it is not always obvious whether the patch even applies. Let the reader beware. I ran ip_mroute.c through several passes of `unifdef' to get rid of useless grot, and to permanently enable the RSVP support, which we will include as standard. Ported by: Garrett Wollman Submitted by: Steve Deering and Ajit Thyagarajan (among others)
* Added $Id$dg1994-08-021-0/+1
|
* The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.rgrimes1994-05-251-1/+1
| | | | | Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-241-0/+538
OpenPOWER on IntegriCloud