]> git.ipfire.org Git - thirdparty/bird.git/blame - TODO
Added dumping of routing tables (`show route'). This includes filtering.
[thirdparty/bird.git] / TODO
CommitLineData
58ef912c
MM
1Core
2~~~~
69ec9087
MM
3* protocols: implement dumping of protocol-dependent rte attributes
4
707ef833 5- IPv6 support
ec8b579e 6
707ef833 7- io.c: refuse old-style multicasts for unnumbered interfaces?
16a8ba30 8
58ef912c 9- counters (according to SNMP MIB?)
18c8241a 10- better memory allocators
707ef833
MM
11- real attribute cache
12- real neighbor cache
13
18c8241a 14- default preferences of protocols: prefer BGP over OSPF/RIP external routes?
8e66a0eb 15
f6bd2066 16- static: check validity of route destination?
dce26783 17- static: allow specifying a per-route filter program for setting route attributes?
98e87c86 18
707ef833
MM
19- rte_update: check whether all bits not covered by masklen are zero
20- rte_update: debug mode
58ef912c 21
bdb95a21
MM
22- netlink: import Linux route attributes to our rta's, so that they can be filtered?
23
a2697f02 24- iface: SIOCGIFINDEX exists on glibc systems, but it doesn't work on 2.0.x kernels!
7972248d 25
9a158361
MM
26- socket: Use IP_RECVERR for BGP TCP sockets?
27
a07e9d82
MM
28- OSPF: refuse running on non-multicast devices
29
707ef833 30- config: executable config files
7de45ba4 31- config: when parsing prefix, check zero bits
707ef833 32- config: reconfiguration
dce26783 33- config: useless rules when protocols disabled
7de45ba4
MM
34
35- krt: rescan interfaces when route addition fails?
707ef833
MM
36- krt: does PERSIST mode have any sense if kernel syncer is shut down as last?
37
38- cmdline: implement
39- cmdline: echo of debug/log messages
40
41- tagging of external routes?
42
43- port to FreeBSD
7de45ba4 44
bff1db76
MM
45Commands
46~~~~~~~~
99bbd23b 47shutdown # order system shutdown
bff1db76 48configure [<file>]
99bbd23b 49debug <what> # dump debugging information to log
1d2664a4 50show <name> # show everything you know about symbol <name>
730f2e2c 51 route [<route>] [table <name>] [filter (<name> | { <inline> })] [where <condition>] [all] <-- WHERE
bff1db76
MM
52 rip ??? [<name>]
53 ospf ??? [<name>]
54 static ??? [<name>]
99bbd23b
MM
55 filters [<name>]
56(disable|enable|restart) <protocol> # or ALL?
bff1db76 57
b5fe3dc2
MM
58Cleanup
59~~~~~~~
60- right usage of DBG vs. debug
61- cleanup debugging calls
62- logging and tracing; use appropriate log levels
63- check incoming packets and log errors!!
64- check log calls for trailing newlines
65- check if all protocols set proper packet priorities and TTL's.
6accdf4f 66- replace all NUM, IPA and expr tokens by constant filter expressions
b982b6db 67- try compiling with -Wunused
5a99ade4 68- does everybody test return value of sk_open?
dce26783 69- add references to RFC's we did follow
b5fe3dc2
MM
70
71Various ideas
72~~~~~~~~~~~~~
73- real multipath (doesn't seem to be simple at all :()
74- fake multipath (even less simple)
12be9b8c 75- route recalculation timing and flap dampening [see RFC2439 for algorithms]
dce26783 76- aggregate engine: standard route aggregation and summarization [RFC2519]
b5fe3dc2
MM
77- aggregate engine: injection of manually configured pseudo-static routes
78- generate default route if any working BGP connection exists (aggregate engine again?)
79- generate default route to IGP's (aggregate engine yet another time?)
dce26783 80- look at RFC 2386 (QoS-based routing)
58ef912c 81
58ef912c 82
18c8241a
MM
83RIP
84~~~
dce26783 85 - export-only and import-only mode?
18c8241a
MM
86 - drop RIPv1 (Historic protocol)?
87 - Route Tag
88 - limit routing table xfer (frequency, only to neighbors)
58ef912c 89
18c8241a
MM
90OSPF
91~~~~
18c8241a 92 - importing of device routes for networks where we don't run OSPF
12be9b8c 93 - check incoming packets using neighbor cache
12be9b8c 94 - RFC2328 appendix E: Use a better algorithm
18c8241a 95 - automatic generation of external route tags (RFC1403)
12be9b8c
MM
96 - RFC1587 NSSA areas
97 - RFC2370 opaque LSA's
12be9b8c 98 - respect interface MTU and try not to create larger packets unless unavoidable
58ef912c 99
58ef912c
MM
100BGP
101~~~
58ef912c
MM
102 - aggregation, ATOMIC_AGGREGATE
103 - communities
58ef912c
MM
104 - attributes must be sorted!
105 - re-export of NEXT_HOP attribute
106 - BGP session over currently down interface
58ef912c
MM
107 - LOCAL_PREF attribute
108 - error notification received -> log error
109 - set TTL to 1 (configurable?)
110 - consulting IGP for next-hop information? (what if it changes?)
111 - inter-advertisement delay???!
112 - normalize (sort) incoming AS-SET's
113 - maximum length of AS paths
58ef912c
MM
114 - expected neighbor AS
115 - hold time
116 - idle timer after error: initial value, exponential growth, maximum value
58ef912c 117 - import of IGP routes (use external route tags from OSPF)