Age | Commit message (Collapse) | Author | |
---|---|---|---|
1998-10-19 | Updated TODO. | Martin Mares | |
1998-10-19 | Generate router_id automatically if possible (standard "smallest of local | Martin 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-19 | Basic kernel routing table syncing implemented. Learning of routes installed | Martin Mares | |
by other programs or the kernel itself is not supported yet, but it's not needed for development of other protocols. | |||
1998-10-19 | Use (SOCK_DGRAM,IPPROTO_IP) socket instead of (SOCK_STREAM,IPPROTO_TCP). | Martin Mares | |
This is exactly what Linux ifconfig does and seems to be the preferred way. | |||
1998-10-19 | Exporting fill_in_sockaddr() for use by other unix-dependent code. | Martin Mares | |
1998-10-19 | Fixed generation of device routes for unnumbered point-to-point links. | Martin Mares | |
1998-10-19 | Proto struct now contain (down | starting | up) state. | Martin Mares | |
1998-10-18 | We parse /proc/net/route and flag RT entries according to it. More to come | Martin Mares | |
today in the morning... | |||
1998-10-18 | o 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-18 | Added ipa_from_u32 and ipa_from_u32 for use in the kernel sync code (IPv4 only). | Martin Mares | |
Don't ever think of using it in routing protocols. | |||
1998-10-18 | Since almost every UNIX system requires different techniques for reading | Martin 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-18 | Preconfig, postconfig and init hooks can be NULL. | Martin Mares | |
1998-10-18 | Split protocol init to building of protocol list and real protocol init. | Martin Mares | |
Added kernel route table syncer skeleton. | |||
1998-10-18 | Removed global pointer to proto_dev. | Martin Mares | |
1998-10-18 | After contemplating about RIP route timeouts for a long time, I've implemented | Martin 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-18 | Implemented `route last modified' time. | Martin Mares | |
1998-10-17 | Fixed misleading comment. | Martin Mares | |
1998-10-17 | Each protocol now hears even its own routes and needs to make its own | Martin 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-17 | Solve chicken-and-egg problems with protocol startup. We now queue all inactive | Martin 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-17 | WALK_LIST_DELSAFE now actually works (it really couldn't since it didn't | Martin Mares | |
reference list head at all). | |||
1998-10-17 | rip should now correctly listen, but entries will not time out. | Pavel Machek | |
1998-10-15 | Rip: rip_rta_same added. | Pavel Machek | |
1998-10-14 | Moved scanning of interfaces, so that they get initialized after all | Martin Mares | |
routing protocol instances. | |||
1998-10-14 | Lists: unneccessary test killed, make code friendly to non-gcc. | Pavel Machek | |
1998-10-13 | o There are cases when SIOCGIFINDEX is defined, but it doesn't work. When | Martin 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-13 | Strange, on atrey ioctl() does not fill structure, and bird segfaults | Pavel Machek | |
on it. Now we "only" die(). | |||
1998-10-13 | I 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-07 | RIP now somehow listens to main routing table (dont expect it to work) | Pavel Machek | |
1998-08-31 | Route update hook now gets network prefix as well as updated | Martin Mares | |
route attributes. | |||
1998-07-30 | Bird's info are now understood by ripquery. | Pavel Machek | |
1998-07-28 | Rip now includes code to reply, but it is currently broken. | Pavel Machek | |
1998-07-28 | Do not segfault on iface == NULL. | Pavel Machek | |
1998-07-20 | Reversed buggy patch. | Pavel Machek | |
1998-07-15 | Added comment explaining `now'. | Martin Mares | |
1998-07-10 | Removed format specification attributes for log() and debug() until | Martin Mares | |
GCC is fixed to handle custom formats. | |||
1998-07-10 | Added 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-10 | Replaced remaining references of clock_t by bird_clock_t. | Martin Mares | |
1998-07-09 | Commiting RIP. RIP should somehow listen, will not reply. I needed to | Pavel Machek | |
commit it so that whole thing compiles. | |||
1998-07-09 | Making SIGUSR1 dump also all protocols. | Pavel Machek | |
1998-07-09 | Adding proto_dump_all() function | Pavel Machek | |
1998-07-09 | Adding MIN()/MAX() macros | Pavel Machek | |
1998-07-09 | Adding walk list which permits you to delete entries. | Pavel Machek | |
1998-06-17 | Use '%I' instead of dirty address printing hacks. | Martin Mares | |
1998-06-17 | Oops, forgot '%m'... | Martin Mares | |
1998-06-17 | debug() and log() use the new printf. Feel free to use new formatting | Martin Mares | |
sequences for all output. | |||
1998-06-17 | Added local version of sprintf (bsprintf and bvsprintf) offering few new | Martin Mares | |
format strings: %I IP address %#I IP address in hexadecimal %1I IP address padded to full length %m strerror(errno) | |||
1998-06-17 | ip_ntop() and ip_ntox() for IPv4. | Martin Mares | |
1998-06-17 | Added function for converting of IP addresses to printable form. | Martin Mares | |
1998-06-04 | Now sending IF_CHANGE_CREATE when a new interface appears and IF_CHANGE_UP | Martin Mares | |
only if it's really up. |