Core
~~~~
- fake multipath?
- config file: symbolic constants?
- counters (according to SNMP MIB?)
- generation of subnet mask ICMP's for v6?
- unaligned accesses?
- neighbor cache: local broadcast address?
- ipv4: recognize site scope addresses?
- ifdef out some debugging code?
- better memory allocators
- precedence of all packets (incl. TCP)
- default preferences of protocols: prefer BGP over OSPF/RIP external routes?
- all internal tables are in host order

- filter: logging of dropped routes (?)
- limitation of memory consumption: per-process and total (?)
- alloca
- adding of route: clear all bits not covered by masklen
- switch: generate default route only if at least one BGP connection exists

- route recalculation timing + flap dampening

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

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

- 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!!


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
	- remember routes for all neighbors?

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)


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