aboutsummaryrefslogtreecommitdiffstats
path: root/nest/route.h
Commit message (Collapse)AuthorAgeFilesLines
* A lot of changes:Ondrej Filip2004-06-251-3/+4
| | | | | | | | | | | | | | - metric is 3 byte long now - summary lsa originating - more OSPF areas possible - virtual links - better E1/E2 routes handling - some bug fixes.. I have to do: - md5 auth (last mandatory item from rfc2328) - !!!!DEBUG!!!!! (mainly virtual link system has probably a lot of bugs) - 2328 appendig E
* RTS_OSPF_BONDARY is nonsense, RTS_OSPF_IA must have smaller id than RTS_OSPF_EXTOndrej Filip2004-06-111-5/+4
|
* Added RTD_NONE /* Just for internal use */Ondrej Filip2004-05-311-0/+1
|
* RIP bugfixPavel Machek2000-06-211-1/+0
|
* Removed rta_find() since nobody uses it and it's more convenientMartin Mares2000-06-021-1/+0
| | | | to use ea_find() directly.
* FIB documentation.Martin Mares2000-06-011-2/+4
| | | | | I've changed the init callback type to a typedef to work around a bug in kernel-doc I'm too lazy to hunt now.
* Route attributes for OSPF.Martin Mares2000-05-301-1/+2
|
* Better rt dumping.Ondrej Filip2000-05-301-4/+0
|
* To find out a type of route (external, inter/intra area)Ondrej Filip2000-05-281-0/+4
|
* Fixed a very nasty bug in FIB iterators.Martin Mares2000-05-191-1/+1
|
* Asynchronous feeding of protocols.Martin Mares2000-05-191-1/+2
|
* Added fib_route() which does (although very slow) lookup of longest-matchMartin Mares2000-05-131-1/+2
| | | | routing in a FIB.
* Fixed nasty segfault in rip.Pavel Machek2000-05-111-0/+1
|
* Added more convient interface for ea_find.Pavel Machek2000-05-101-0/+1
| | | | What is special about int default;? Compiler chokes on that!
* Several simplifications of the fib iterators.Martin Mares2000-05-081-6/+7
|
* Use preferences properly.Martin Mares2000-05-081-2/+2
|
* Implemented `show route <...> stats'.Martin Mares2000-05-071-0/+2
|
* Added commands `show route protocol <p>' and `show route import <p>' whichMartin Mares2000-05-061-1/+5
| | | | | | | | | | | | show the routing table as exported to the protocol given resp. as returned from its import control hook. To get handling of filtered extended attributes right (even in the old `show route where <filter>' command), the get_route_info hook gets an attribute list and all protocol specific rte attributes are contained there as temporary ones. Updated RIP to do that. Added ea_append() which joins two ea_list's.
* Removed RTS_RIP_EXT.Martin Mares2000-05-041-9/+7
|
* Define EAF_ORIGINATED and propagate it properly when merging attribute lists.Martin Mares2000-04-171-0/+1
|
* Printing of AS paths and community sets.Martin Mares2000-04-171-0/+1
|
* Fix comments.Martin Mares2000-04-101-3/+3
|
* As usuall, most important info was missing.Pavel Machek2000-04-101-1/+1
|
* Export ea_same() and ea_hash().Martin Mares2000-04-101-1/+4
|
* BGP doesn't need any inline attributes.Martin Mares2000-04-091-4/+0
|
* Changed initialization of protocol list -- now we call proto_build() insteadMartin Mares2000-04-011-0/+3
| | | | | | | | | | | | | | | | | | of calling the protocols manually. Implemented printing of dynamic attributes in `show route all'. Each protocol can now register its own attribute class (protocol->attr_class, set to EAP_xxx) and also a callback for naming and formatting of attributes. The callback can return one of the following results: GA_UNKNOWN Attribute not recognized. GA_NAME Attribute name recognized and put to the buffer, generic code should format the value. GA_FULL Both attribute name and value put to the buffer. Please update protocols generating dynamic attributes to provide the attr_class and formatting hook.
* Define new data types for BGP.Martin Mares2000-03-201-3/+4
|
* Renamed EAF_INLINE to EAF_TEMP to make the name reflect the real meaning.Martin Mares2000-03-041-1/+1
|
* Garbage collector events and counters are now per table and one dayMartin Mares2000-03-041-1/+8
| | | | they can be made configurable if it turns out to be useful.
* Implemented real attribute cache.Martin Mares2000-03-041-3/+2
|
* Removed RTF_EXTERIOR and RTF_TAGGED (unused).Martin Mares2000-03-011-4/+1
|
* First attempt on dynamic reconfiguration. There are still lots of bugsMartin Mares2000-01-161-2/+9
| | | | and problems to solve, but the hardest part works.
* Minor cleanups.Martin Mares1999-12-161-1/+0
|
* Added dumping of routing tables (`show route'). This includes filtering.Martin Mares1999-12-011-0/+14
|
* Fix timeouts. Triggered updates are not done, yet.Pavel Machek1999-11-251-0/+1
|
* Allow EA type to be set to 'undefined' which overrides all further definitonsMartin Mares1999-11-181-0/+4
| | | | | | | | | of that EA in the same list and causes ea_find() to fail unless you add EA_ALLOW_UNDEF to the second argument. ea_sort (resp. ea_do_prune()) removes all undef'd attributes from the list. I hope this works :)
* DEF_PREF_UKR and DEF_PREF_SINK removed.Martin Mares1999-11-181-2/+0
|
* Renamed attr->attrs to attr->eattrs.Martin Mares1999-11-041-2/+2
|
* Implemented a Table-to-Table protocol a.k.a The Pipe.Martin Mares1999-08-031-0/+3
|
* Kernel route syncer supports multiple tables.Martin Mares1999-08-031-0/+1
| | | | | | | | The changes are just too extensive for lazy me to list them there, but see the comment at the top of sysdep/unix/krt.c. The code got a bit more ifdeffy than I'd like, though. Also fixed a bunch of FIXME's and added a couple of others. :)
* Added extended attributes for rip.Pavel Machek1999-05-311-0/+1
|
* From now we support multiple tables. The master_table variable isMartin Mares1999-05-171-3/+15
| | | | | | | | | | | | | | definitely gone. Both rte_update() and rte_discard() have an additional argument telling which table should they modify. Also, rte_update() no longer walks the whole protocol list -- each table has a list of all protocols connected to this table and having the rt_notify hook set. Each protocol can also freely decide (by calling proto_add_announce_hook) to connect to any other table, but it will be probably used only by the table-to-table protocol. The default debugging dumps now include all routing tables and also all their connections.
* Removed TOS support. This simplifies many things a lot.Martin Mares1999-04-121-10/+9
|
* Routing table core changes to support full route filtering:Martin Mares1999-04-051-1/+5
| | | | | | | | | | | | | | | | | | | | | | | o Introduced rte_cow() which should be used for copying on write the rte's in filters. Each rte now carries a flag saying whether it's a real route (possessing table linkage and other insignia) or a local copy. This function can be expected to be fast since its fast-path is inlined. o Introduced rte_update_pool which is a linear memory pool used for all temporary data during rte_update. You should not reference it directly -- instead use a pool pointer passed to all related functions. o Split rte_update to three functions: rte_update The front end: handles all checking, inbound filtering and calls rte_recalculate() for the final version of the route. rte_recalculate Update the table according to already filtered route. rte_announce Announce routing table changes to all protocols, passing them through export filters and so on. The interface has _not_ changed -- still call rte_update() and it will do the rest for you automagically. o Use new filtering semantics to be explained in a separate mail.
* More changes to the kernel syncer.Martin Mares1999-04-031-6/+8
| | | | | | | | | | o Now compatible with filtering. o Learning of kernel routes supported only on CONFIG_SELF_CONSCIOUS systems (on the others it's impossible to get it semantically correct). o Learning now stores all of its routes in a separate fib and selects the ones the kernel really uses for forwarding packets. o Better treatment of CONFIG_AUTO_ROUTES ports. o Lots of internal changes.
* Implemented extended route attributes and all related functions.Martin Mares1999-03-171-22/+31
|
* KRT: Implemented asynchronous route / interface state notificationsMartin Mares1999-03-041-0/+3
| | | | | | | (via Netlink). Tweaked kernel synchronization rules a bit. Discovered locking bug in kernel Netlink :-) Future plans: Hunt all the bugs and solve all the FIXME's.
* Renamed struct rtattr to struct rta to make things more consistent andMartin Mares1999-03-011-5/+5
| | | | | avoid namespace clashes with <linux/rtnetlink.h>. Other files should not be affected since they use 'rta' directly.
* Fixed bug in FIB_ITERATE_END: it assumed the control variable is namedMartin Mares1999-02-131-3/+4
| | | | | | | "z". I've added an argument specifying name of the variable. Renamed "again" label in FIB_ITERATE_* to "fis_again" to avoid name clashes.
* Rewrote fib functions to make them insert/delete/asynchronous-walk safe.Martin Mares1998-12-201-6/+40
| | | | | | | | | | | | | This is implemented in a way similar to lib/slists.h, but it took some more effort to make rehashing not disturb the readers. We do it by just taking _highest_ k bits of ipa_hash as our hash value and sorting each box by whole ipa_hash(). Consult FIB_ITERATE_* macros in nest/route.h. Implemented fib_check() debugging function and also rewrote the rehashing algorithm to use better thresholds and not to waste time by rehashing forth and back.