0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 01:31:55 +00:00
bird/TODO
Martin Mares e3f2d5fce3 Cleanup of configuration.
o  Use `expr' instead of `NUM' and `ipa' instead of `IPA',
   so that defined symbols work everywhere.
o  `define' now accepts both numbers and IP addresses.
o  Renamed `ipa' in filters to `fipa'.

Pavel, please update filters to accept define'd symbols as well.
2000-05-15 11:48:23 +00:00

78 lines
2.5 KiB
Plaintext

Core
~~~~
- config: try to unify expressions
- static: check validity of route destination?
- configure: default CFLAGS?
- filters: deletion of mandatory attributes?
- filters: user defined attributes?
- kernel: persistent mode
- cli: show tables?
- client: Ctrl-R eats one more enter
- client: paging?
- client: data losses on large dumps?
- table: ocassional core dumps in rt_prune()
- table: do feeding by parts
- bgp: timing of updates?
- bgp: dump and get_route_info
- bgp: when protocol is down, don't print Idle state
- proto: Don't show repeated `Changed state to ...' messages if only internal states change
Documentation
~~~~~~~~~~~~~
- write doctool
- write documentation :|
Globals
~~~~~~~
- right usage of DBG vs. debug
- logging and tracing; use appropriate log levels
- check incoming packets and log errors!!
- check log calls for trailing newlines and log levels followed by comma
- check if all protocols set proper packet priorities and TTL's.
- try compiling with -Wunused
- does everybody test return value of sk_open?
- doc: references to RFC's we did follow
- protocols: implement CLI hooks and per-procotol CLI commands
- protocols: implement reconfigure hook
- protocols: use locking
- check use of system includes and sprintf()
Various ideas
~~~~~~~~~~~~~
- static: allow specifying a per-route filter program for setting route attributes?
- netlink: realms
- netlink: import Linux route attributes to our rta's, so that they can be filtered?
- config: executable config files
- client: access control
- io: use poll if available
- IPv6 router advertisements
- real multipath (doesn't seem to be simple at all :()
- fake multipath (even less simple)
- route recalculation timing and flap dampening [see RFC2439 for algorithms]
- aggregate engine: standard route aggregation and summarization [RFC2519]
- aggregate engine: injection of manually configured pseudo-static routes
- generate default route if any working BGP connection exists (aggregate engine again?)
- generate default route to IGP's (aggregate engine yet another time?)
- look at RFC 2386 (QoS-based routing)
OSPF
~~~~
- refuse running on non-multicast devices
- importing of device routes for networks where we don't run OSPF
- check incoming packets using neighbor cache
- RFC2328 appendix E: Use a better algorithm
- automatic generation of external route tags (RFC1403)
- RFC1587 NSSA areas
- RFC2370 opaque LSA's
- respect interface MTU and try not to create larger packets unless unavoidable