0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-09 12:48:43 +00:00
bird/TODO
Martin Mares ecacdfa434 Added local version of sprintf (bsprintf and bvsprintf) offering few new
format strings:

	%I	IP address
	%#I	IP address in hexadecimal
	%1I	IP address padded to full length
	%m	strerror(errno)
1998-06-17 14:31:36 +00:00

88 lines
2.7 KiB
Plaintext

Core
~~~~
* router id
- fake multipath?
- config file: symbolic constants?
- counters (according to SNMP MIB?)
- generation of subnet mask ICMP's for v6?
- ipv4: recognize site scope addresses?
- ifdef out some debugging code?
- better memory allocators
- default preferences of protocols: prefer BGP over OSPF/RIP external routes?
- all internal tables are in host order
- secondary addresses -> subinterfaces
- 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
- "interface kill" list
- 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
- re-configuration: restart of routing protocols (shutdown mode)
- Check incoming packets and log errors!!
- implement snprintf etc. and clean up debugging and logging functions
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)