]> git.ipfire.org Git - thirdparty/bird.git/blob - TODO
If a broadcast address is missing, go fake one.
[thirdparty/bird.git] / TODO
1 Core
2 ~~~~
3 - config: when parsing prefix, check zero bits
4 - config: try to unify expressions
5
6 - static: check validity of route destination?
7
8 - configure: default CFLAGS?
9
10 - filters: deletion of mandatory attributes?
11 - filters: user defined attributes?
12
13 - cli: show tables?
14 - cli: show where is routed given IP address?
15
16 - client: Ctrl-R eats one more enter
17 - client: paging?
18 - client: data losses on large dumps?
19
20 - table: ocassional core dumps in rt_prune()
21 - table: filtering of old routes during updates?
22 - table: do feeding by parts
23
24 - bgp: timing of updates?
25 - bgp: dump and get_route_info
26 - bgp: when protocol is down, don't print Idle state
27
28 - proto: Don't show repeated `Changed state to ...' messages if only internal states change
29
30 Documentation
31 ~~~~~~~~~~~~~
32 - write doctool
33 - write documentation :|
34
35 Globals
36 ~~~~~~~
37 - right usage of DBG vs. debug
38 - kill preconfigs?
39 - check dump functions
40 - cleanup debugging calls
41 - logging and tracing; use appropriate log levels
42 - check incoming packets and log errors!!
43 - check log calls for trailing newlines and log levels followed by comma
44 - check if all protocols set proper packet priorities and TTL's.
45 - replace all NUM, IPA and expr tokens by constant filter expressions
46 - try compiling with -Wunused
47 - does everybody test return value of sk_open?
48 - doc: references to RFC's we did follow
49 - protocols: implement CLI hooks and per-procotol CLI commands
50 - protocols: implement reconfigure hook
51 - protocols: use locking
52 - check use of system includes and sprintf()
53
54 Various ideas
55 ~~~~~~~~~~~~~
56 - static: allow specifying a per-route filter program for setting route attributes?
57 - netlink: realms
58 - netlink: import Linux route attributes to our rta's, so that they can be filtered?
59 - config: executable config files
60 - client: access control
61 - io: use poll if available
62 - IPv6 router advertisements
63 - real multipath (doesn't seem to be simple at all :()
64 - fake multipath (even less simple)
65 - route recalculation timing and flap dampening [see RFC2439 for algorithms]
66 - aggregate engine: standard route aggregation and summarization [RFC2519]
67 - aggregate engine: injection of manually configured pseudo-static routes
68 - generate default route if any working BGP connection exists (aggregate engine again?)
69 - generate default route to IGP's (aggregate engine yet another time?)
70 - look at RFC 2386 (QoS-based routing)
71
72
73 OSPF
74 ~~~~
75 - refuse running on non-multicast devices
76 - importing of device routes for networks where we don't run OSPF
77 - check incoming packets using neighbor cache
78 - RFC2328 appendix E: Use a better algorithm
79 - automatic generation of external route tags (RFC1403)
80 - RFC1587 NSSA areas
81 - RFC2370 opaque LSA's
82 - respect interface MTU and try not to create larger packets unless unavoidable