]> git.ipfire.org Git - thirdparty/bird.git/blob - TODO
Made `datetime' more user friendly. Now it should be a quoted string
[thirdparty/bird.git] / TODO
1 Core
2 ~~~~
3 - IPv6: hashing functions etc.
4
5 - krt-iface: check whether the interface alias hack works
6
7 - better memory allocators
8 - real attribute cache
9 - real neighbor cache
10
11 - preferences of protocols
12
13 - static: check validity of route destination?
14 - static: allow specifying a per-route filter program for setting route attributes?
15
16 - rte_update: check whether all bits not covered by masklen are zero
17 - rte_update: debug mode
18
19 - netlink: import Linux route attributes to our rta's, so that they can be filtered?
20
21 - config: when parsing prefix, check zero bits
22
23 - krt: rescan interfaces when route addition fails?
24
25 - tagging of external routes?
26
27 - io: use poll if available
28
29 Commands
30 ~~~~~~~~
31 - showing of routing table as seen by given protocol
32
33 Documentation
34 ~~~~~~~~~~~~~
35 - write doctool
36 - write documentation :|
37
38 Globals
39 ~~~~~~~
40 - right usage of DBG vs. debug
41 - cleanup debugging calls
42 - logging and tracing; use appropriate log levels
43 - check incoming packets and log errors!!
44 - check log calls for trailing newlines
45 - check if all protocols set proper packet priorities and TTL's.
46 - replace all NUM, IPA and expr tokens by constant filter expressions
47 - try compiling with -Wunused
48 - does everybody test return value of sk_open?
49 - doc: references to RFC's we did follow
50 - protocols: implement CLI hooks and per-procotol CLI commands
51 - protocols: implement reconfigure hook
52 - protocols: use locking
53
54 Various ideas
55 ~~~~~~~~~~~~~
56 - config: executable config files
57 - client: access control
58 - IPv6 router advertisements
59 - real multipath (doesn't seem to be simple at all :()
60 - fake multipath (even less simple)
61 - route recalculation timing and flap dampening [see RFC2439 for algorithms]
62 - aggregate engine: standard route aggregation and summarization [RFC2519]
63 - aggregate engine: injection of manually configured pseudo-static routes
64 - generate default route if any working BGP connection exists (aggregate engine again?)
65 - generate default route to IGP's (aggregate engine yet another time?)
66 - look at RFC 2386 (QoS-based routing)
67
68
69 RIP
70 ~~~
71
72 OSPF
73 ~~~~
74 - refuse running on non-multicast devices
75 - importing of device routes for networks where we don't run OSPF
76 - check incoming packets using neighbor cache
77 - RFC2328 appendix E: Use a better algorithm
78 - automatic generation of external route tags (RFC1403)
79 - RFC1587 NSSA areas
80 - RFC2370 opaque LSA's
81 - respect interface MTU and try not to create larger packets unless unavoidable
82
83 BGP
84 ~~~
85 - aggregation, ATOMIC_AGGREGATE
86 - communities
87 - attributes must be sorted!
88 - re-export of NEXT_HOP attribute
89 - BGP session over currently down interface
90 - LOCAL_PREF attribute
91 - error notification received -> log error
92 - set TTL to 1 (configurable?)
93 - consulting IGP for next-hop information? (what if it changes?)
94 - inter-advertisement delay???!
95 - normalize (sort) incoming AS-SET's
96 - maximum length of AS paths
97 - expected neighbor AS
98 - hold time
99 - idle timer after error: initial value, exponential growth, maximum value
100 - import of IGP routes (use external route tags from OSPF)
101 - Use IP_RECVERR for BGP TCP sockets?