TODO 2.19 KB
Newer Older
1 2
Core
~~~~
3 4 5 6
- debug: static
- debug: pipe
- debug: krt

7
- static: check validity of route destination?
8
- static: allow specifying a per-route filter program for setting route attributes?
9

10
- krt: rescan interfaces when route addition fails?
Martin Mareš's avatar
Martin Mareš committed
11 12 13

- tagging of external routes?

14 15
Commands
~~~~~~~~
16
- show status
Martin Mareš's avatar
Martin Mareš committed
17
- showing of routing table as seen by given protocol
18
- printing of dynamic attributes
19

Martin Mareš's avatar
Martin Mareš committed
20 21 22 23
Documentation
~~~~~~~~~~~~~
- write doctool
- write documentation :|
24

25
Globals
Martin Mareš's avatar
Martin Mareš committed
26 27 28 29 30 31 32
~~~~~~~
- right usage of DBG vs. debug
- cleanup debugging calls
- logging and tracing; use appropriate log levels
- check incoming packets and log errors!!
- check log calls for trailing newlines
- check if all protocols set proper packet priorities and TTL's.
Martin Mareš's avatar
Martin Mareš committed
33
- replace all NUM, IPA and expr tokens by constant filter expressions
34
- try compiling with -Wunused
35
- does everybody test return value of sk_open?
36 37
- doc: references to RFC's we did follow
- protocols: implement CLI hooks and per-procotol CLI commands
38
- protocols: implement reconfigure hook
Martin Mareš's avatar
Martin Mareš committed
39
- protocols: use locking
Martin Mareš's avatar
Martin Mareš committed
40 41 42

Various ideas
~~~~~~~~~~~~~
43
- netlink: import Linux route attributes to our rta's, so that they can be filtered?
44
- config: executable config files
45
- client: access control
46 47
- config: when parsing prefix, check zero bits
- io: use poll if available
48
- IPv6 router advertisements
Martin Mareš's avatar
Martin Mareš committed
49 50
- real multipath (doesn't seem to be simple at all :()
- fake multipath (even less simple)
Martin Mareš's avatar
Martin Mareš committed
51
- route recalculation timing and flap dampening [see RFC2439 for algorithms]
52
- aggregate engine: standard route aggregation and summarization [RFC2519]
Martin Mareš's avatar
Martin Mareš committed
53 54 55
- 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?)
56
- look at RFC 2386 (QoS-based routing)
57 58


59 60
RIP
~~~
61

62 63
OSPF
~~~~
64
	- refuse running on non-multicast devices
65
	- importing of device routes for networks where we don't run OSPF
Martin Mareš's avatar
Martin Mareš committed
66 67
	- check incoming packets using neighbor cache
	- RFC2328 appendix E: Use a better algorithm
68
	- automatic generation of external route tags (RFC1403)
Martin Mareš's avatar
Martin Mareš committed
69 70 71
	- RFC1587 NSSA areas
	- RFC2370 opaque LSA's
	- respect interface MTU and try not to create larger packets unless unavoidable