bird/TODO
2000-06-05 18:40:25 +00:00

109 lines
4 KiB
Plaintext

Core
~~~~
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?
- 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?
- client: paging of output
- client: Ctrl-R eats one more enter
- bgp: timing of updates?
- netlink: realms
- netlink: import Linux route attributes to our rta's, so that they can be filtered?
- config: executable config files
- filters: user defined attributes?
- 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)
- cli: show tables?
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
Documentation (sorry, its in czech)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Filtry:
o Vysvetlit nesting a zastinovani.
Protocols:
o passwords: syntaxe data uz, tusim, davno vypada jinak.
Struktura dokumentace:
o Na konci (nebo ve zvlast sekci pro kazdy protokol?) by mel byt seznam referenci
na vsechny mozne dokumenty, zejmena vsak vsechna RFC, kterymi se ridime nebo
ktera maji neco spolecneho s tim, co delame (napriklad RPSL).
K jazyku:
o K "BIRD Internet Routing Daemon" by mel patrit urcity clen.
o Pokud je v zavorce cela veta, patri pred ')' tecka, pokud neni, tak
nepatri.
o Davej si pozor na rody -- router je vzdycky `it', nikdy `he'.
Jeste by to chtelo trosku podrobneji:
(1) zminit se o atributech, rici, co vsechno o route rikaji a odkazat
na kapitolu o filtrech, kde jsou presne nadefinovany
(2) kdyz mluvis o preferenci, mel bys rici, co to je (ze to je atribut)
a kdo jej vlastne nastavuje (ze existuje globalni default pro typ
protokolu, ktery muzes overridovat v konfiguraci protokolu, coz
muzes pro konkretni routu overridovat filtrem).
(3) popsat spojeni mezi routovacimi tabulkami, filtry a protokoly
Last minute stuff:
~~~~~~~~~~~~~~~~~~
Martin: DOC: korektury
DOC: typograficky doladit, vyrobit titulni stranku (ta, co ji vygeneruji SGMLtools, vypada priserne)
Zinscenovat jeste jeden poradny test OSPF
Zjistit, kde se bude tisknout a vazat dokumentace
DOC: Linux 2.2 je ten, kdo podporuje vice routing tables
Pavel: RIP: programatorska dokumentace (finish)
filtry: programatorska dokumentace
filtry: opravit chybove hlasky !!!
DOC: dokoncit uzivatelskou dokumentaci (viz predchozi maily)
DOC: Pridat odkazy na RFC apod.
Zjistit, v jake forme ma byt projekt odevzdan (kolik kopii dokumentace atd.)
Feela: OSPF: locking
OSPF: tracing (a zkontrolovat vsechny debug()-y), u log() uvadet kategorie a jmeno instance
OSPF: vypnout LOCAL_DEBUG
OSPF: ze vsech die() udelat bug() a zkontrolovat, ze to jsou opravdu interni bugy
OSPF: reconfiguration hook
OSPF: uzivatelska dokumentace
OSPF: programatorska dokumentace
OSPF: autentikace (kdyz se nestihne, nijak to nevadi)