summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
1998-10-18Since almost every UNIX system requires different techniques for readingMartin Mares
the kernel routing table as opposed to modifying it which is approximately the same on non-netlink systems, I've split the kernel routing table routines to read and write parts. To be implemented later ;-)
1998-10-18* Please distinguish between DGB() and debug().Martin Mares
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-10-17WALK_LIST_DELSAFE now actually works (it really couldn't since it didn'tMartin Mares
reference list head at all).
1998-10-17rip should now correctly listen, but entries will not time out.Pavel Machek
1998-10-15Rip: rip_rta_same added.Pavel Machek
1998-10-14Moved scanning of interfaces, so that they get initialized after allMartin Mares
routing protocol instances.
1998-10-14Lists: unneccessary test killed, make code friendly to non-gcc.Pavel Machek
1998-10-13o There are cases when SIOCGIFINDEX is defined, but it doesn't work. WhenMartin Mares
this happens, don't reject the whole interface, just mark it as index 0. o Removed Pavel's comment about EFAULT and SIGSEGV. EFAULT is a valid return code for cases where the buffer is too small. o Commented out the smart interface list size logic temporarily as it seems Linux 2.0 SIOCGIFCONF doesn't react to ifc_req==NULL sanely. Replaced it by exponential stepping.
1998-10-13Strange, on atrey ioctl() does not fill structure, and bird segfaultsPavel Machek
on it. Now we "only" die().
1998-10-13I prefer to have broken drivers than completely stupid ones...Pavel Machek
Linus Torvalds Rip now uses main routing table properly: entries are stored directly into main routing table and we are relying on core to call our's compare. That unfortunately broke garbage collecting (and probably many more things). It compiles.
1998-10-07RIP now somehow listens to main routing table (dont expect it to work)Pavel Machek
1998-08-31Route update hook now gets network prefix as well as updatedMartin Mares
route attributes.
1998-07-30Bird's info are now understood by ripquery.Pavel Machek
1998-07-28Rip now includes code to reply, but it is currently broken.Pavel Machek
1998-07-28Do not segfault on iface == NULL.Pavel Machek
1998-07-20Reversed buggy patch.Pavel Machek
1998-07-15Added comment explaining `now'.Martin Mares
1998-07-10Removed format specification attributes for log() and debug() untilMartin Mares
GCC is fixed to handle custom formats.
1998-07-10Added ipa_class_mask() which guesses netmask for classful addressing.Martin Mares
For pure A/B/C class addresses it just returns the class netmask, for subnets it tries to guess subnet mask. Please make sure the address you pass to this function is really a valid host address (i.e., call ipa_validate() first).
1998-07-10Replaced remaining references of clock_t by bird_clock_t.Martin Mares
1998-07-09Commiting RIP. RIP should somehow listen, will not reply. I needed toPavel Machek
commit it so that whole thing compiles.
1998-07-09Making SIGUSR1 dump also all protocols.Pavel Machek
1998-07-09Adding proto_dump_all() functionPavel Machek
1998-07-09Adding MIN()/MAX() macrosPavel Machek
1998-07-09Adding walk list which permits you to delete entries.Pavel Machek
1998-06-17Use '%I' instead of dirty address printing hacks.Martin Mares
1998-06-17Oops, forgot '%m'...Martin Mares
1998-06-17debug() and log() use the new printf. Feel free to use new formattingMartin Mares
sequences for all output.
1998-06-17Added local version of sprintf (bsprintf and bvsprintf) offering few newMartin Mares
format strings: %I IP address %#I IP address in hexadecimal %1I IP address padded to full length %m strerror(errno)
1998-06-17ip_ntop() and ip_ntox() for IPv4.Martin Mares
1998-06-17Added function for converting of IP addresses to printable form.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-04Fixed processing of timers.Martin Mares
1998-06-03Killed socket debug code. Initialize config pool and protocols.Martin Mares
More to come later...
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