summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 4c75e6fa9e92a14aa9a0eba8766c15332648f78c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Core
~~~~
- TOS not supported by kernel -> automatically drop routes with TOS<>0

- config: executable config files
- config: define ipaddr constants?
- config: better default protocol names

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

- static: check validity of route destination?

- device: configuration of interface patterns

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

Cleanup
~~~~~~~
- right usage of DBG vs. debug
- cleanup debugging calls
- logging and tracing; use appropriate log levels
- check incoming packets and log errors!!
- check log calls for trailing newlines
- check if all protocols set proper packet priorities and TTL's.
- replace all NUM's by expr's

Various ideas
~~~~~~~~~~~~~
- real multipath (doesn't seem to be simple at all :()
- fake multipath (even less simple)
- route recalculation timing and flap dampening
- aggregate engine: standard route aggregation and summarization
- aggregate engine: injection of manually configured pseudo-static routes
- generate default route if any working BGP connection exists (aggregate engine again?)
- generate default route to IGP's (aggregate engine yet another time?)


RIP
~~~
	- RIP: export-only and import-only mode?
	- drop RIPv1 (Historic protocol)?
	- Route Tag
	- limit routing table xfer (frequency, only to neighbors)
	- multicast on/off (per interface)
	- remember routes for all neighbors?

OSPF
~~~~
	- point-to-point interface with address: advertise as stub network
	- static routes: stub networks?
	- modes: PtP, PtP-unnumbered, Broadcast, NBMA, point-to-multipoint
	- importing of device routes for networks where we don't run OSPF
	- tie breaking for equal type 2 ext metrics by using internal (type 1) metric
	- SPF tree recalc timing (per-area timers?)
	- aggregation: specify network list for each area
	- stub area: either no external routes or only default route
	- automatic generation of external route tags (RFC1403)


BGP
~~~
	- in, local, out RIB
	- maxsize=4096
	- detection of loops
	- aggregation, ATOMIC_AGGREGATE
	- communities
	- confederations
	- attributes must be sorted!
	- re-export of NEXT_HOP attribute
	- BGP session over currently down interface
	- route flap dampening?
	- LOCAL_PREF attribute
	- error notification received -> log error
	- set TTL to 1 (configurable?)
	- consulting IGP for next-hop information? (what if it changes?)
	- inter-advertisement delay???!
	- normalize (sort) incoming AS-SET's
	- maximum length of AS paths

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