mirror of
				https://gitlab.labs.nic.cz/labs/bird.git
				synced 2024-05-11 16:54:54 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			109 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			4.0 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)
 |