summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 10aeef9124f9b006ab5a4fb649c178636207969c (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
Core
~~~~
- route validation
- fake multipath?
- config file: symbolic constants?
- counters (according to SNMP MIB?)
- generation of subnet mask ICMP's for v6?
- debugging dumps and protocol tracing!
- unaligned accesses?


RIP
~~~
- RIP: export-only and import-only mode?
- drop RIPv1 (Historic protocol)?

OSPF
~~~~

Almquist & Kastenholz                                         [Page 111]
RFC 1716          Towards Requirements for IP Routers      November 1994


7.2.2.2  Specific Issues

         Virtual Links

              There is a minor error in the specification that can cause
              routing loops when all of the following conditions are
              simultaneously true:

              (1)  A virtual link is configured through a transit area,

              (2)  Two separate paths exist, each having the same
                   endpoints, but one utilizing only non-virtual
                   backbone links, and the other using links in the
                   transit area, and

              (3)  The latter path is part of the (underlying physical
                   representation of the) configured virtual link,
                   routing loops may occur.

              To prevent this, an implementation of OSPF SHOULD invoke
              the calculation in Section 16.3 of [ROUTE:1] whenever any
              part of the path to the destination is a virtual link (the
              specification only says this is necessary when the first
              hop is a virtual link).

BGP
~~~
- BGP:
	- in, local, out RIB
	- maxsize=4096
	- BGP identifier aka router id
	- removal 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

- address testing macros (ALL_ZEROS)
- all internal tables are in network order (?)
- logging of errors and debug dumps
- filter: logging of dropped routes (?)
- limitation of memory consumption: per-process and total
- alloca
- precedence of all packets (incl. TCP)
- adding of route: clear all bits not covered by masklen
- switch: generate default route only if at least one BGP connection exists

- route update: new, change, remove
- route recalculation timing

- CONFIG_TOS
- CONFIG_MULTIPATH

- reconfiguration without restart of all protocols?
- change of interface address: ??? (down and up?)
- "generate default route" switch for all IGP's

- RIPv2:
	- Route Tag
	- limit routing table xfer (frequency, only to neighbors)
	- multicast on/off
	- remember routes for all neighbors?

- BGP:
	- import of IGP routes (use external route tags from OSPF)

- Interface:
	- RIP metric
	- multicast capability flag
	- MTU
	- OSPF metrics (per-TOS)

- running protocol on an interface:
	- interface is not required to exist
	- can specify a wildcard pattern or an interface list

- preferences:
	- directly connected
	- static
	- OSPF internal, OSPF ext type 1 (comparable metrics), OSPF inter-area
	- RIP
	- BGP
	- OSPF ext type 2
	- sink

- lib:
	- MD5

- OSPF:
	- Dijkstra: use Fibonacci heaps?
	- 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) -- what about
	  using the same rule for RIPv2? [shared code?]

- timers - one-shot and periodic, resolution 1 sec, randomized
- re-configuration: restart of routing protocols (shutdown mode)
- route: originating AS

- Check incoming packets and log errors!!