/
TODO
108 lines (74 loc) · 2.32 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
0.1
---
debian:
Check policy on /etc/pam.d/* install/usage
Make groupadd kronosnetadm silent and dynamic
systemd packaging in debian?
install /etc/default/kronosnetd
review locking handling policies (attempt locks vs deadlocks and so on)
sort out read buf from recv_from_links since it might be too small vs
sending out 128k (+header+encryption+....)
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
cryto: expand API to support dual key for rekey process
consider adding dhcp support for tap device
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?)
Check IPV6_NEXTHOP for v6 sockets and find equivalent for v4 (Jesper?)
Implement link auth via user/passwd
general:
add log to vty:
- config (per subsystem/total)
- output to vty
log to vty: cmd execution failure
vty:
* split cmd_files
* fix check_param for ip/prefix/crypto
* add description commands for various levels
0.2
---
libtap:
* add man pages
* improve tests to cover thread safety and more error codes
0.3
---
* benchmark tests:
- all critical paths in ring.c
0.4
---
general:
* add statistics
vty:
* add optional options
* tab completion on options
0.5
---
* pong count
* implement link switching via scoring system
- latency
- priority (auto/manual)
- usage (over XX% traffic start RR)
- flapping of the links (time/sec)
0.7
---
* review ring api for libknet shared lib
* review tap api for libtap shared lib
1.0-pre
-------
tests:
* coverity
* unit test:
- test all public APIs
- write ad-doc tests for internal complex functions
- not required to test return codes from external libs directly
(we are not testing glibc)
- test all code paths we write
- no 0.9/1.0 release without max testing coverage for the core