version 1.1.1.1, 2012/02/21 17:26:11
|
version 1.1.1.2, 2016/11/02 10:09:09
|
Line 1
|
Line 1
|
|
|
Quagga TODO list |
Quagga TODO list |
2004/11/24 | 2013-03-29 |
|
|
zebra: |
|
|
|
o Pointopoint address configuration. | This is the Quagga primary TODO list. It is on git because that way changes |
o Multiple (alias) address configuration for the interface when kernel | pass through the usual process just like code does, therefore they will have |
support it [just starting]. | the same visibility. |
o improve rtnetlink to handle sequence number tracking and reconciliation | |
and resyncs. | |
o Add support for valid and preferred lifetimes to IPv6 addresses | |
o proper support for (at least) 1-level recursive routes | |
o Ability to set src on routes, where systems support it. | |
o Ability to apply route-maps to daemon route updates. | |
|
|
bgpd: | 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. |
|
|
o BGP TCP MD5 authentication by password command. | Google Summer of Code 2013 note: this list double-serves as idea list for the |
o HUP signal support (reload configuration file). | Summer of Code. Ideas considered suitable for students are marked with a star |
o BGP multi-path extension | after the number, like this: "[Q999*] achieve world peace". They will also |
o move FSM state to be per-connection, not per-peer. | have extended descriptions. Nevertheless, if you'd like to do something else, |
o Add support for internal and minimum-metric MED setting | just write a mail to the mailing list: quagga-dev@lists.quagga.net |
|
|
ripd: | "GSoC-Mentors:" listings are preliminary at this point. |
|
|
o Multipath support. |
|
|
|
|
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 |
|
Implemented, patch will be sent shortly |
|
Pradosh Mohapatra, Cumulus Networks |
|
|
|
[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: |
ospfd: |
|
|
o Rewrite the incremental RT update code. | [O400] Demand circuits. |
o Demand circuits. | Priority: very low |
o Multiple instances. | |
o OSPF MIB [SNMP get is amost finished]. | |
o HUP signal treatment. | |
o Fragment Oversized LSAs | |
o move SPF to common code | |
o NSSA priority rules (RFC3101 2.4) | |
o Type-7 address ranges (RFC3101 2.2) | |
o Originating Type-7 default into area (RFC3101 2.7) | |
|
|
|
[O401] Multiple instances. |
|
Priority: medium |
|
|
|
[O402] HUP signal treatment. |
|
Priority: medium |
|
State: patch on ML needs review 2012-06-04 Mattias Walström |
|
|
ospf6d: |
ospf6d: |
|
|
o move SPF to common code | [O600*] fix ospf6d in general |
o add router-id lookups | Priority: high |
| State: patches tickling in from Cumulus Networks 2013-03-29 Dinesh Dutt |
| Implemented: p2p link support, ABR, Stub area/Totally Stubby area, |
| SPF throttling, Improving state machine to get performance/scale, |
| max-metric support, Improving ECMP to be > 4, Various other bug fixes |
|
|
isisd: |
|
|
|
o finish SPF | [O601*] OSPFv3 autoconfiguration, prefix assignment and sourcedest routing |
o select nearest L2 when running SPF for L1 | Priority: medium |
o remove the routes when holding time for nexthop expires | State: work in progress 2013-03-29 Edward Seabrook |
o redistribution | GSoC-Mentors: David Lamparter |
o autosummary | |
|
|
o Mesh groups (RFC2973) | OSPFv3 application in the homenet is being designed to use several |
o Crypto authentication (RFC3567) | extensions to the base protocol. In order of dependency, |
| autoconfiguration, prefix assignment and sourcedest routing should |
| be implemented. |
|
|
lib: | This task requires a good level of OSPF understanding plus proper |
o improve route_table speed, eg strided lookups for common prefix depths. | ability to follow IETF discussion about these points. Also, since work |
o improve hash tables, eg auto-growing hash tables | has already started on this, improvements must obviously build on top |
o move performance sensitive users of hashes over to jhash | of that. |
o clean up linked lists | |
o ipv6 addresses need concept of valid/preferred | |
o implement a generic daemon access/control protocol (eg D-Bus like? | |
simplified SNMP-a-like?) | |
o merge SPF code from ospfd and ospf6d into a common libspf | |
o depends-on(generic A/C protocol) move snmp to seperate daemon | |
o extend command definitions to allow them to be self-documenting | |
o i18n command help strings | |
o Document the exported API (DocBook/Doxygen?) | |
|
|
vtysh: | isisd |
o untangle readline specific bits | ===== |
o add a vtyd with a vty (ie telnet) frontend (as opposed to readline) | |
o depends-on(generic A/C protocol) use such | [I000] reassess isisd TODO |
o better AAA support than just PAM, eg krb5, SASL, LDAP.. | |
----------------------------- | [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... |
|
|