]> git.ipfire.org Git - thirdparty/bird.git/blob - TODO
Kernel route syncer supports multiple tables.
[thirdparty/bird.git] / TODO
1 Core
2 ~~~~
3 * protocols: implement dumping of protocol-dependent rte attributes
4
5 - io.c: refuse old-style multicasts for unnumbered interfaces?
6
7 - config: executable config files
8
9 - counters (according to SNMP MIB?)
10 - better memory allocators
11 - default preferences of protocols: prefer BGP over OSPF/RIP external routes?
12
13 - static: check validity of route destination?
14
15 - device: configuration of interface patterns
16
17 - adding of route: check whether all bits not covered by masklen are zero
18
19 - netlink: import Linux route attributes to our rta's, so that they can be filtered?
20
21 - iface: SIOCGIFINDEX exists on glibc systems, but it doesn't work on 2.0.x kernels!
22
23 - socket: Use IP_RECVERR for BGP TCP sockets?
24
25 - OSPF: refuse running on non-multicast devices
26
27 - config: when parsing prefix, check zero bits
28
29 - krt: rescan interfaces when route addition fails?
30
31 Cleanup
32 ~~~~~~~
33 - right usage of DBG vs. debug
34 - cleanup debugging calls
35 - logging and tracing; use appropriate log levels
36 - check incoming packets and log errors!!
37 - check log calls for trailing newlines
38 - check if all protocols set proper packet priorities and TTL's.
39 - replace all NUM, IPA and expr tokens by constant filter expressions
40 - try compiling with -Wunused
41 - does everybody test return value of sk_open?
42
43 Various ideas
44 ~~~~~~~~~~~~~
45 - real multipath (doesn't seem to be simple at all :()
46 - fake multipath (even less simple)
47 - route recalculation timing and flap dampening [see RFC2439 for algorithms]
48 - aggregate engine: standard route aggregation and summarization
49 - aggregate engine: injection of manually configured pseudo-static routes
50 - generate default route if any working BGP connection exists (aggregate engine again?)
51 - generate default route to IGP's (aggregate engine yet another time?)
52
53
54 RIP
55 ~~~
56 - RIP: export-only and import-only mode?
57 - drop RIPv1 (Historic protocol)?
58 - Route Tag
59 - limit routing table xfer (frequency, only to neighbors)
60 - multicast on/off (per interface)
61
62 OSPF
63 ~~~~
64 - importing of device routes for networks where we don't run OSPF
65 - check incoming packets using neighbor cache
66 - stub area: either no external routes or only default route
67 - RFC2328 appendix E: Use a better algorithm
68 - automatic generation of external route tags (RFC1403)
69 - RFC1587 NSSA areas
70 - RFC2370 opaque LSA's
71 - RFC1793 Demand Circuit Support ??
72 - respect interface MTU and try not to create larger packets unless unavoidable
73
74
75 BGP
76 ~~~
77 - in, local, out RIB
78 - maxsize=4096
79 - detection of loops
80 - aggregation, ATOMIC_AGGREGATE
81 - communities
82 - confederations
83 - attributes must be sorted!
84 - re-export of NEXT_HOP attribute
85 - BGP session over currently down interface
86 - LOCAL_PREF attribute
87 - error notification received -> log error
88 - set TTL to 1 (configurable?)
89 - consulting IGP for next-hop information? (what if it changes?)
90 - inter-advertisement delay???!
91 - normalize (sort) incoming AS-SET's
92 - maximum length of AS paths
93
94 - expected neighbor AS
95 - hold time
96 - idle timer after error: initial value, exponential growth, maximum value
97 - import of IGP routes (use external route tags from OSPF)