Diff for /embedaddon/quagga/TODO between versions 1.1.1.1 and 1.1.1.2

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 kernelpass 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 extensionafter 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 settingjust 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...
   

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>