Statistics
| Branch: | Revision:

iof-bird-daemon / TODO @ b982b6db

History | View | Annotate | Download (2.98 KB)

1
Core
2
~~~~
3
- TOS not supported by kernel -> automatically drop routes with TOS<>0
4

    
5
- config: executable config files
6
- config: define ipaddr constants?
7
- config: better default protocol names
8

    
9
- counters (according to SNMP MIB?)
10
- better memory allocators
11
- default preferences of protocols: prefer BGP over OSPF/RIP external routes?
12
- secondary addresses -> subinterfaces or ignore
13

    
14
- static: check validity of route destination?
15

    
16
- device: configuration of interface patterns
17

    
18
- adding of route: check whether all bits not covered by masklen are zero
19

    
20
- incoming packets: interface the packet came from? (esp. for multicasts)
21
- broadcast/multicast echoing suppresion
22
- we need ifindex at least for PtP links
23

    
24
- kernel: RTM_DELROUTE not announced for device routes [confirmed by Alexey: it's a feature]
25

    
26
- netlink: import Linux route attributes to our rta's, so that they can be filtered?
27

    
28
Cleanup
29
~~~~~~~
30
- right usage of DBG vs. debug
31
- cleanup debugging calls
32
- logging and tracing; use appropriate log levels
33
- check incoming packets and log errors!!
34
- check log calls for trailing newlines
35
- check if all protocols set proper packet priorities and TTL's.
36
- replace all NUM's by expr's
37
- try compiling with -Wunused
38

    
39
Various ideas
40
~~~~~~~~~~~~~
41
- real multipath (doesn't seem to be simple at all :()
42
- fake multipath (even less simple)
43
- route recalculation timing and flap dampening [see RFC2439 for algorithms]
44
- aggregate engine: standard route aggregation and summarization
45
- aggregate engine: injection of manually configured pseudo-static routes
46
- generate default route if any working BGP connection exists (aggregate engine again?)
47
- generate default route to IGP's (aggregate engine yet another time?)
48

    
49

    
50
RIP
51
~~~
52
	- RIP: export-only and import-only mode?
53
	- drop RIPv1 (Historic protocol)?
54
	- Route Tag
55
	- limit routing table xfer (frequency, only to neighbors)
56
	- multicast on/off (per interface)
57

    
58
OSPF
59
~~~~
60
	- importing of device routes for networks where we don't run OSPF
61
	- check incoming packets using neighbor cache
62
	- stub area: either no external routes or only default route
63
	- RFC2328 appendix E: Use a better algorithm
64
	- automatic generation of external route tags (RFC1403)
65
	- RFC1587 NSSA areas
66
	- RFC2370 opaque LSA's
67
	- RFC1793 Demand Circuit Support ??
68
	- respect interface MTU and try not to create larger packets unless unavoidable
69

    
70

    
71
BGP
72
~~~
73
	- in, local, out RIB
74
	- maxsize=4096
75
	- detection of loops
76
	- aggregation, ATOMIC_AGGREGATE
77
	- communities
78
	- confederations
79
	- attributes must be sorted!
80
	- re-export of NEXT_HOP attribute
81
	- BGP session over currently down interface
82
	- LOCAL_PREF attribute
83
	- error notification received -> log error
84
	- set TTL to 1 (configurable?)
85
	- consulting IGP for next-hop information? (what if it changes?)
86
	- inter-advertisement delay???!
87
	- normalize (sort) incoming AS-SET's
88
	- maximum length of AS paths
89

    
90
	- expected neighbor AS
91
	- hold time
92
	- idle timer after error: initial value, exponential growth, maximum value
93
	- import of IGP routes (use external route tags from OSPF)