diff --git a/TODO b/TODO index de7f5716..2fbd3dff 100644 --- a/TODO +++ b/TODO @@ -1,104 +1,4 @@ -distro/packaging: - - (issue) check why systemd doesn't let me set scheduler priority - fixed for systemd unit file, LSB init + systemd still fails - https://bugzilla.redhat.com/show_bug.cgi?id=893015 +The TODO list has moved to: https://trello.com/b/Aqq9xJfF/todo -link/host level: - - (issue) review RX thread error code related to guaranteed delivery - (for ex when using SCTP) - - (issue) investigate sock_notify_fn in thread_send_recv.c data delivery to app - to better handle socket failures. In some cases we need/want to retry - delivering to the application (sock overload?) and others the app - need to close/remove the socket. I don't think we can automatically - do the right thing without asking the app (sock_notify return code). - - (issue) transports: review all error handling code failures, - specially on clear_config, to not leak and better clean - in case of errors - - (issue) improve test suite to cover for all transports (needs transport list API) - - (issue) change knet_bench to allow protocol specification per link - - (issue) review memory locking across - - (issue) simplify handling of DATA and HOSTINFO code paths in send/recv code - - (issue) need bind to interface for dynamic ip local interfaces vs src ip - address or find a way to autodetect the new ip on that interface - (listen to kernel netlink?) - - (issue) must implement link auth via user/passwd. This is necessary - in case key is leaked. - - (issue) standardize exit labels (ex out_unlock / exit_unlock) and variable/function - names. - - (issue) review how TX onwire pckt info are filled in between inbuf/socket/frags - - (rfe) continue improving multinode TX code - - (rfe) add fd_tracker error exit check and perhaps use it for local sockets too - to make it easier to identify leaks and fd abuse - - (rfe) link status callback notification - - (rfe) compress: should only compress user data, we will add a bit in the data - header to indicate if the pckt is compressed or not (save time). - this approach allow runtime change of compress. - open questions are: methods? level? zlib? lzo? bz? lzma? xz? - how much do we save by compressin our header? - compress must happen before encrypt - we can express compress data in packet type without adding extra - flags to the headers. DATA -> BZ/GZDATA and we can change that - right before encrypting. Using a similar approach to PING_MASK - - (rfe) crypto: expand API to support dual key for rekey process - - (rfe) link id made optional? right now we need the link id to match - on both sides of the connection. this is somewhat annoying - from a user perspective. Evaluate if we can make it optional. - - (rfe) make hostid autogenerated in a consistent way? - - (rfe) Check IPV6_NEXTHOP for v6 sockets and find equivalent for v4 (Jesper?) - this would allow using one IP address as destination via multiple links - - (rfe) add statistics at different levels (pckt per host/link, bytes, crypto - overhead, frame overhead, pure data...) - - (rfe) link connection access-list - (chrissie has working generic code for this one, needs merging and API) - - (rfe) improve host-to-host communication. Right now I am not satisfied with - the current implementation, even if it works. - - (rfe) implement link switching via scoring system based on: - 1) latency - 2) priority (auto/manual) - 3) usage (over XX% traffic start RR) - 4) flapping of the links (time/sec) - this requires complex rules setting and a super efficent way to look - up destination links - 5) if links are stable, reduce the number of links in a-a - min 2 - - (rfe) benchmark tests for all critical paths in switching threads - - (rfe) network convergence protocol (host exchange) - - (rfe) reswitching of packets - - (rfe) look into UDP+ECN bit set to avoid overloading sockets? - - (rfe) add openssl support? - - (rfe) consider adding threadpools to process data packets in parallel +Please read https://trello.com/c/JQIRSPE2/1-how-to-use-this-board -libknet: - - (issue) review logging policy/levels in public api call - example is scanning for active links in a host that would return - a half gazzillion useless log entries - - (issue) add .3 man pages - -libtap: - - (issue) add .3 man pages - - (issue) improve tests to cover thread safety and better error codes - specially from the up/down handling. - - (rfe) consider adding dhcp support for tap device - it can be done now via up.d/ scripts, but it's not intuitive - -kronostnetd: - - (issue) beside the code that is as bad as it can possibly be and - will make you wish to have a tea spoon handy to carve your - eyeballs out, the vty needs a good clean/rewrite - - (issue) fix config file format. current one will make you scream - - (issue) missing output from several command execution failures in vty mode - - (issue) fix check_param for ip/prefix/crypto - (this is part of the rewrite as it needs more clever arg parsing - code/method) - - (rfe) add logging config (per subsystem/global) - - (rfe) split vty_cmd_files to be smaller. it's just too big to handle - nicely. - - (rfe) add equivalent of "description: ...." to various levels - - (rfe) add optional options. right now it's necessary to specify everything - all the time. - - (rfe) implement tab completion on options - -general: - - (issue) missing unit tests on many many bits - - (issue) missing docs of all kind, devel, users, admin guide. - - (rfe) check code with coverity