0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-18 17:18:42 +00:00
bird/TODO
Martin Mares 42b3daa09c Description of protocol module moved to where it belongs. If documentation
of standard modules is stored in their source, such auxilliary files
should be as well.
2000-06-05 09:51:24 +00:00

111 lines
4.1 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)
progdoc: dopsat kapitoly o resourcech a sysdepu
OSPF: zkontrolovat defaultni hodnoty metrik
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)