summaryrefslogtreecommitdiffstats
path: root/TODO
AgeCommit message (Collapse)Author
2000-03-12Added tracing of interface events.Martin Mares
2000-03-12Added debugging of communication between protocols and routing tables.Martin Mares
Just ask for "debug routes" if you want to see the routes and "debug filters" if you want even the rejected ones.
2000-03-07Added debugging of protocol state transitions.Martin Mares
2000-03-05Implemented real slab allocator. If you suspect it from being buggy,Martin Mares
just #define FAKE_SLAB at the top of lib/slab.c to bypass it.
2000-03-04Implemented real attribute cache.Martin Mares
2000-03-01Reimplemented neighbor cache. Now uses real hashing.Martin Mares
2000-03-01Made `datetime' more user friendly. Now it should be a quoted stringMartin Mares
of type "dd-mm-yyyy".
2000-03-01Rewrote interface type detection logic. The `unnumbered' flag is now perMartin Mares
address, not per interface (hence it's ifa->flags & IA_UNNUMBERED) and should be set reliably. IF_MULTIACCESS should be fixed now, but it isn't wise to rely on it on interfaces configured with /30 prefix.
2000-02-27Support expansion of command abbreviations.Martin Mares
Client considered finished (modulo bugs).
2000-02-15First usable version of the client. No command completion and similar niftyMartin Mares
features yet, but it works.
2000-01-19Split off general commands to cmds.c.Martin Mares
Added `show symbols' command which dumps whole symbol table together with symbol types etc.
2000-01-18Killed protocol->priority. Protocol startup should be clean and hack-free now.Martin Mares
It seems everything still works (except for disable/enable/restart which hangs sometimes, but it's another story).
2000-01-17Removed point-to-point tunnel hack as it breaks ordinary PtP interfaces.Martin Mares
I'll find a better solution soon.
2000-01-17Separated `official protocol names' used in status dumps from name templatesMartin Mares
used for automatic generation of instance names. protocol->name is the official name protocol->template is the name template (usually "name%d"), should be all lowercase. Updated all protocols to define the templates, checked that their configuration grammar includes proto_name which generates the name and interns it in the symbol table.
2000-01-17Reworked proto lists -- each proto is now in two lists: the global oneMartin Mares
(proto_list) and per-type one (original lists). A lot of things simplified. Implemented `disable', `enable' and `restart' CLI commands.
2000-01-16Added filter_same() for comparision of two filters.Martin Mares
Pavel, please implement this as soon as possible.
2000-01-16Converted shutdown to a kind of reconfiguration, it's no more handledMartin Mares
as a exception in protocol state machines. Introduced a `shutdown' CLI command. Killed few reconfiguration bugs.
2000-01-16First attempt on dynamic reconfiguration. There are still lots of bugsMartin Mares
and problems to solve, but the hardest part works.
1999-12-16Minor cleanups.Martin Mares
1999-12-16Handle cases when SIOCGIFINDEX is defined, but doesn't work (new glibcMartin Mares
with 2.0 kernels).
1999-12-16Tried to clean up multicast handling. Now we don't try to guessMartin Mares
multicast abilities depending on definedness of symbols and use hard-wired system-dependent configuration defines instead. Please test whereever you can.
1999-12-16TODO entries and FIXME's.Martin Mares
1999-12-08Temporary work-arounds for multicast problems. Needs further investigation.Martin Mares
1999-12-06Implemented echoing of log messages to CLI connections. Just try `echo all'.Martin Mares
1999-12-05Added DEBUG commands.Martin Mares
Removed CLI tests, real commands now serve as much better examples.
1999-12-02Implemented `show route where <condition>' command.Martin Mares
Pavel, please check my addition to filter/config.Y.
1999-12-01Updated TODO file.Martin Mares
1999-12-01Added dumping of routing tables (`show route'). This includes filtering.Martin Mares
1999-11-30Remember protocol instance in proto_config and use that forMartin Mares
`show protocols <name>'.
1999-11-18More CLI plans...Martin Mares
1999-11-17Added skeleton of command tree. Please inspect.Martin Mares
1999-08-03Basic support for IPv6. The system-dependent part doesn't work yet,Martin Mares
but the core routines are there and seem to be working. o lib/ipv6.[ch] written o Lexical analyser recognizes IPv6 addresses and when in IPv6 mode, treats pure IPv4 addresses as router IDs. o Router ID must be configured manually on IPv6 systems. o Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts. o Fixed few places where ipa_(hton|ntoh) was called as a function returning converted address.
1999-08-03Pruned the TODO list.Martin Mares
1999-08-03Kernel route syncer supports multiple tables.Martin Mares
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. :)
1999-08-03Added missing structure declarations.Martin Mares
1999-08-03Changes to interface handling on traditional Unices:Martin Mares
o Aliases are interpreted as secondary addresses. o When the system doesn't supply interface indices, generate our ones.
1999-08-03Faster checksum function.Martin Mares
1999-08-03Added functions for parsing and formatting of dates.Martin Mares
1999-05-26Better date/time input methods need to be donePavel Machek
1999-05-21Added --with-sysinclude to allow explicitly setting where kernel includesMartin Mares
reside, so that you can easily switch between 2.0 and 2.2 ones. Check existence of <linux/rtnetlink.h> for linux-22 configs to make sure we're using the correct set of includes.
1999-05-14Added ip_skip_header() and modified OSPF to use it.Martin Mares
1999-05-07Netlink support for secondary interface addresses.Martin Mares
1999-05-06I rewrote the interface handling code, so that it supports multipleMartin Mares
addresses per interface (needed for example for IPv6 support). Visible changes: o struct iface now contains a list of all interface addresses (represented by struct ifa), iface->addr points to the primary address (if any). o Interface has IF_UP set iff it's up and it has a primary address. o IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED in the protocols; I've added this, but please check). o The if_notify_change hook has been simplified (only one interface pointer etc.). o Introduced a ifa_notify_change hook. (For now, only the Direct protocol does use it -- it's wise to just listen to device routes in all other protocols.) o Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway). o Updated all the code except netlink (I'll look at it tomorrow) to match the new semantics (please look at your code to ensure I did it right). Things to fix: o Netlink. o Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
1999-04-27Recognize site scope for IPv4 addresses (prefixes reserved for privateMartin Mares
networks). Removed old #ifndef logic which was used to avoid IPv4/IPv6 clashes before conditionals in Modules lists were introduced.
1999-04-12Removed TOS support. This simplifies many things a lot.Martin Mares
1999-04-12Fixed a couple of bugs in handling of multicast sockets.Martin Mares
See comments in lib/socket.h for a detailed guide on how to use them.
1999-04-03Added new protocol hook for dumping of protocol-dependent routeMartin Mares
attributes. Please implement in all protocols.
1999-03-29Updated the TODO list.Martin Mares
1999-03-26Moved to a much more systematic way of configuring kernel protocols.Martin Mares
o Nothing is configured automatically. You _need_ to specify the kernel syncer in config file in order to get it started. o Syncing has been split to route syncer (protocol "Kernel") and interface syncer (protocol "Device"), device routes are generated by protocol "Direct" (now can exist in multiple instances, so that it will be possible to feed different device routes to different routing tables once multiple tables get supported). See doc/bird.conf.example for a living example of these shiny features.
1999-03-03Rewrote the kernel syncer. The old layering was horrible.Martin Mares
The new kernel syncer is cleanly split between generic UNIX module and OS dependent submodules: - krt.c (the generic part) - krt-iface (low-level functions for interface handling) - krt-scan (low-level functions for routing table scanning) - krt-set (low-level functions for setting of kernel routes) krt-set and krt-iface are common for all BSD-like Unices, krt-scan is heavily system dependent (most Unices require /dev/kmem parsing, Linux uses /proc), Netlink substitues all three modules. We expect each UNIX port supports kernel routing table scanning, kernel interface table scanning, kernel route manipulation and possibly also asynchronous event notifications (new route, interface state change; not implemented yet) and build the KRT protocol on the top of these primitive operations.