summaryrefslogtreecommitdiff
path: root/nest
AgeCommit message (Collapse)Author
1998-11-29Added configuration of the device internal protocol. This is primarilyMartin Mares
intended to serve as an example of interface pattern list use. As a side effect, you can disable generating of device routes by disabling this protocol.
1998-11-29Handle disabled protocol instances.Martin Mares
1998-11-29Added functions for manipulating interface name pattern lists:Martin Mares
o iface_patt_match(list, iface) -- match interface against list o iface_patts_equal(a, b, c) -- compare whether two pattern lists are equal or not. c(x,y) is called for comparison of protocol-dependent data.
1998-11-29Allow setting debug value and `disabled' flag in protocol definition.Martin Mares
1998-11-29Renamed `DEBUG' symbol to `DEBUGGING' to prevent collisions with tokenMartin Mares
names and include files.
1998-11-27Oops, forgot to remove a debugging kludge.Martin Mares
1998-11-27Trivial 15-line bison excercise: Implemented expressions includingMartin Mares
user-defined numeric symbols. Whenever possible, use `expr' instead of `NUM' to get full express ion power :-)
1998-11-27First attempt at protocol configuration (now done only for RIP).Martin Mares
1998-11-27Parser fragment for the core. Now handles only router ID setting.Martin Mares
1998-11-27Replaced nest/confile.h by conf/conf.h, added a lot of new definitions.Martin Mares
1998-10-26Previous fix was wrong.Martin Mares
1998-10-26rte_update: Doesn't loop forever when multiple routes point to the sameMartin Mares
destination.
1998-10-20RIP now actually talks to itself.Pavel Machek
1998-10-20Beware the NULL route, my son... The bugs that bite, the BIRDs that crash :-)Martin Mares
1998-10-20Insert/remove hooks return void, not int.Martin Mares
1998-10-20Added pointer to network to RTE. The complications with passing NET separatelyMartin Mares
aren't worth 4 bytes per RTE. rte_discard and rte_dump don't need net * as parameter.
1998-10-19Generate router_id automatically if possible (standard "smallest of localMartin Mares
regular interface addresses" rule). Protocols should NOT rely on router_id existence -- when router ID is not available, the router_id variable is set to zero and protocols requiring valid router ID should just refuse to start, reporting such error to the log.
1998-10-19Fixed generation of device routes for unnumbered point-to-point links.Martin Mares
1998-10-19Proto struct now contain (down | starting | up) state.Martin Mares
1998-10-18o FIB flags now available for FIB users.Martin Mares
o struct network: FIB flags used for kernel syncing. o struct network: `next' field deleted (historical relic).
1998-10-18Preconfig, postconfig and init hooks can be NULL.Martin Mares
1998-10-18Split protocol init to building of protocol list and real protocol init.Martin Mares
Added kernel route table syncer skeleton.
1998-10-18Removed global pointer to proto_dev.Martin Mares
1998-10-18After contemplating about RIP route timeouts for a long time, I've implementedMartin Mares
protocol callbacks for route insertion and deletion from the central table. RIP should maintain its own per-protocol queue of existing routes, scan it periodically and call rte_discard() for routes that have timed out.
1998-10-18Implemented `route last modified' time.Martin Mares
1998-10-17Fixed misleading comment.Martin Mares
1998-10-17Each protocol now hears even its own routes and needs to make its ownMartin Mares
loop detection. This is needed since both RIP and OSPF handle multiple neighbors and they need to redistribute routes learned from each neighbor to the remaining ones.
1998-10-17Solve chicken-and-egg problems with protocol startup. We now queue all inactiveMartin Mares
protocols and don't send route/interface updates to them and when they come up, we resend the whole route/interface tables privately. Removed the "scan interface list after protocol start" work-around.
1998-08-31Route update hook now gets network prefix as well as updatedMartin Mares
route attributes.
1998-07-28Do not segfault on iface == NULL.Pavel Machek
1998-07-09Adding proto_dump_all() functionPavel Machek
1998-06-17Use '%I' instead of dirty address printing hacks.Martin Mares
1998-06-04Now sending IF_CHANGE_CREATE when a new interface appears and IF_CHANGE_UPMartin Mares
only if it's really up.
1998-06-04FIB_WALK and friends are now slightly more friendly.Martin Mares
1998-06-04Dumping of _static_ attributes implemented.Martin Mares
1998-06-04We have full interface routes now.Martin Mares
1998-06-04Handle route deletion without segfaults. A bit more debug dumps.Martin Mares
1998-06-03Skeleton of device route protocol. As it's tightly coupled with our kernel,Martin Mares
it sits here instead of `proto/dev'.
1998-06-03Protocol hooks. All of them may be NULL.Martin Mares
1998-06-03Basic protocol operations.Martin Mares
1998-06-03Changed protocol declarations a bit.Martin Mares
1998-06-03Added configuration pool.Martin Mares
1998-06-01- Rewrote whole interface logic. Removed support for multiple addresses perMartin Mares
interface since it makes much trouble everywhere. Instead, we understand secondary addresses as subinterfaces. - In case interface addresses or basic flags change, we simply convert it to a down/up sequence. - Implemented the universal neighbour cache. (Just forget what did previous includes say of neighbour caching, this one is brand new.)
1998-05-26Debug messages.Martin Mares
1998-05-26Implemented scanning of network interfaces. Mostly very ugly code due toMartin Mares
terrible kernel interface (SIOGIFCONF and friends).
1998-05-26Resource pools are now named.Martin Mares
1998-05-24Added debug dump function, but it's still empty :(Martin Mares
1998-05-24protos_init, not proto_init.Martin Mares
1998-05-24Added interface index (used only by OS-dependent code since ifindexes itselfMartin Mares
are OS-dependent).
1998-05-24Implemented timers. Using bird_clock_t for absolute time from now...Martin Mares