
			   Quagga TODO list
                             2013-03-29


This is the Quagga primary TODO list.  It is on git because that way changes
pass through the usual process just like code does, therefore they will have
the same visibility.

If you are working on something beyond a simple fix, to avoid double work it
is a good idea to submit a patch to this TODO list when you are starting,
listing what you're doing.  Also, as others may have done just that, check
the list before starting.

Google Summer of Code 2013 note:  this list double-serves as idea list for the
Summer of Code.  Ideas considered suitable for students are marked with a star
after the number, like this: "[Q999*] achieve world peace".  They will also
have extended descriptions.  Nevertheless, if you'd like to do something else,
just write a mail to the mailing list: quagga-dev@lists.quagga.net

"GSoC-Mentors:" listings are preliminary at this point.


Overall
=======

[Q000] improve unit test architecture

[Q001] kick invalid runtime tests from configure.ac, use list of supported
		OSes and their APIs instead.
	Priority: low
	State: patch half-done 2013-03-29 David Lamparter

[Q002*] clean up zebra IPC, remove code duplication, align to common API
	Priority: high
	GSoC-Mentors: David Lamparter, Christian Franke

	Quagga posesses an IPC mechanism to exchange route information among
	the different daemons and Zebra, the kernel-interface.  This mechanism
	is implemented in libzebra, but is currently used in all sorts of
	different ways in the individual protocol daemons.  Also, in the future
	the entire protocol needs to be redone in an extensible way, so we're
	able to support MPLS, BFD, Multi-Topology/Instance, VRFs, ...

	This TODO entry only refers to the first-step API cleanup.  All the
	daemons need to use a single, well-defined libzebra API.  Only after
	this has been addressed can we look upon changing the protocol itself,
	since by then it will be encapsulated inside libzebra.

[Q003] add multi-instance / multi-topology support to the individual protocols

[Q004] MPLS support
	State: work in progress 2013-03-29 Renato Westphal, Timo Teräs

[Q005] BFD support
	State: two old implementations exist, contact Hasso Tepper


library
=======

[L000] improve route_table speed, eg strided lookups for common prefix depths.

[L001] ipv6 addresses need concept of valid/preferred

[L002] implement a generic daemon access/control protocol (eg D-Bus like?
		simplified SNMP-a-like?  NETCONF?)

[L003] extend vty command definitions to allow them to be self-documenting
		i18n command help strings

[L004] create a common libspf (for ospfd, ospf6d and possibly isisd and more).
		cf. TODO item [O000] for the ospfd/ospf6d specific variant

[L005] stabilise the API (possibly including symbol/library versioning voodoo)

[L006] Document the exported API (DocBook/Doxygen?)

[LE00] incorporate library changes from Euro-IX branch, except threading

[LE01] incorporate threading library support from Euro-IX branch


zebra
=====

[Z000] Pointopoint address configuration.
	Priority: low
	State: patch done & tested 2013-03-29 David Lamparter

[Z001] Add support for valid and preferred lifetimes to IPv6 addresses

[Z002] proper support for (at least) 1-level recursive routes
	Priority: high

[Z003] Ability to set src on routes, where systems support it.

[Z004] Ability to apply route-maps to daemon route updates.


bgpd
====

[B000] HUP signal support (reload configuration file).

[B001] BGP multi-path extension, relaxed mode
	Priority: medium

[B002] move FSM state to be per-connection, not per-peer.

[B003] Add support for internal and minimum-metric MED setting


ripd
====

[R000] Multipath support.


ospfd/ospf6d
============

[O000] move SPF to common code

[O001] extend code sharing between ospfd and ospf6d beyond SPF

[O002*] OSPF testing replay tool
	Priority: medium
	GSoC-Mentors: Martin Winter, Christian Franke, David Lamparter

	In order to extensively test OSPF implementations, a tool to fake an
	OSPF neighbor is immensely useful.  This tool needs to be capable of
	forming an adjacency and pushing LSAs to the device to be tested.  To
	maintain the adjacency, some minimal state tracking is useful.

	In total, the tool needs to form an adjacency, read and push LSAs, and
	output received LSAs.  Additional tools to generate LSAs from
	specifications as well as verify received LSA correctness can then be
	built on top of that.

	The tool needs to support IPv4 and IPv6, possibly split into 2 tools
	with some code sharing.

ospfd:

[O400] Demand circuits.
	Priority: very low

[O401] Multiple instances.
	Priority: medium

[O402] HUP signal treatment.
	Priority: medium
	State: patch on ML needs review 2012-06-04 Mattias Walström

ospf6d:

[O600] fix ospf6d in general
	Priority: high
	State: patches tickling in from Cumulus Networks 2013-03-29 Dinesh Dutt

[O601*] OSPFv3 autoconfiguration, prefix assignment and sourcedest routing
	Priority: medium
	State: work in progress 2013-03-29 Edward Seabrook
	GSoC-Mentors: David Lamparter

	OSPFv3 application in the homenet is being designed to use several
	extensions to the base protocol.  In order of dependency,
	autoconfiguration, prefix assignment and sourcedest routing should
	be implemented.

	This task requires a good level of OSPF understanding plus proper
	ability to follow IETF discussion about these points.  Also, since work
	has already started on this, improvements must obviously build on top
	of that.

isisd
=====

[I000] reassess isisd TODO

[I001*] IS-IS testing replay tool
	Priority: medium
	GSoC-Mentors: Martin Winter, Christian Franke, David Lamparter

	see [O002*].

[I002] Mesh groups (RFC2973)

[I003] Crypto authentication (RFC3567)


vtysh
=====

[V000] untangle readline specific bits

[V001] add a vtyd with a vty (ie telnet) frontend (as opposed to readline)

[V002] (=> [L002]) use daemon control protocol

[V003] better AAA support than just PAM, eg krb5, SASL, LDAP...

