Parent Directory
|
Revision Log
|
Revision Graph
Wow, after a long time the CVS is again up and running. * Starting to code t2.[ch]
1 -- 2 Not parallelizable TODOs. This means that if you want to implement one of 3 the following TODOs, you have first to coordinate with someone, learn what he 4 did and what you have to do to continue the development. 5 The list of parallelizable TODOs is in ./TOCODE 6 -- 7 8 9 * 10 ** 11 *** HIGH PRIORITY 12 ** 13 * 14 15 * (generally these TODOs are already being implemented at the moment) 16 17 - See TODO.h 18 19 - igw.c must register the event QSPN_DEL_NODE, to notice the death of 20 a igw. 21 22 - Remove ipv6-gmp.[ch]. It's no more necessary. Remove also the dependence of 23 libgmp. 24 25 - Option -tiny which enables memory hacks, f.e. see :MAX_METRIC_ROUTES: 26 27 - General API 28 - add_new_dev() 29 - tracer_pkt_add_build() // tracer_pkt_add_unpack() 30 _______________________ 31 | TRACER PKT | 32 | | 33 | int size; | 34 |_______________________| 35 || CHUNK 1 ( QSPN ) || 36 || || 37 || int chunk_size; || 38 || || 39 || QSPN PKT; || 40 ||_____________________|| 41 |_______________________| 42 || CHUNK 2 ( IGS ) || 43 || || 44 || int chunk_size; || 45 || || 46 || IGS PKT; || 47 ||_____________________|| 48 |_______________________| 49 || CHUNK 3 ( BW ) || 50 || || 51 || int chunk_size; || 52 || || 53 || BANDWIDTH PKT; || 54 ||_____________________|| 55 |_______________________| 56 || CHUNK N ( ... ) || 57 || || 58 || int chunk_size; || 59 || || 60 || ... PKT; || 61 ||_____________________|| 62 ||_____________________|| 63 64 - Segfault: ./ntkd -ddddd -D -r 65 - Viphilama: http://lab.dyne.org/Ntk_viphilama 66 67 - Rehook 68 - if we are changing gid because of a collision, we must not mark all 69 the (g)rnodes of our gnode as GMAP_HGNODE, in fact, we've hooked 70 only to our new gnode. 71 72 - When the rehook completes, wait a bit before considering other 73 rehooks. 74 75 - The GMAP_HGNODE flag must be removed too! Right now it is just set 76 and never removed. 77 78 - Netsukuku WRT firmware: 79 - a configured openwrt release with all the necessary kernel modules 80 and packages installed 81 - A web interface to configure the /etc/netsukuku/netsukuku.conf file 82 and to use the rc.ntk script. 83 84 - bugs 85 - comments in resolv.conf are not considered: 86 NOTE: Do not resolv this BUG: Now It's useful 87 88 * 89 ** 90 *** MEDIUM PRIORITY 91 ** 92 * 93 94 - Implement a test suite, which performs several automatic tests on ntkd. 95 UserModeLinux should be used in conjunction with a lot of scripts. 96 97 - Equalize multipath routes. The `equalize' module is still experimental in 98 the kernel. 99 100 - bandwidth measurement 101 - do not delete an inet-gw if there's still bw passing on it. 102 103 - Bandwidth weight for each entry of the qspn (not just rtt and latency): 104 - what to use to get the bandwidth of a network interface? 105 Use `iperf' to measure once the max link bw, then monitor with 106 iptables the link and calculate the used bw. 107 - See http://lab.dyne.org/Ntk_bandwidth_measurement 108 109 - Gnodes contiguity 110 - gnode re-hook 111 - When we have two different gnodes A and C, and 112 then B hooks to A, nothing happens, since C, doesn't 113 receive any qspn_pkt 114 - test: two (g)nodes with the same IP 115 - currently only in particular situations the rehook 116 isn't possible: A - A, A - B - A. 117 118 - Challenge 119 - RSA between rnodes: the nodes which are already hooked ask 120 for the public key to the node which is hooking. 121 - Creation of the problem. 122 - Resolution of the problem. 123 - Diffusion of the reply. 124 - Reject of challenge for X time after a first challenge has 125 been completed. 126 - Do just one challenge at the same time, reject/delay all the 127 other which came later. 128 - If the challenge was rejected/delayed wait the right amount 129 of time and retry. 130 - Ban of gnodes which lost the challenge ? 131 - Challenge between two gnode not contiguous, which have the 132 same gid. 133 134 - turn andns_lib.c into a real shared library 135 136 - SNSD 137 - pubkey: automatic deletion request 138 139 - Can multiple qspn packets be processed concurrently? Or do we need mutexes 140 for them? Only the tests will give answer. 141 142 * 143 ** 144 *** LOW PRIORITY 145 ** 146 * 147 148 - ANDNA: Hostname cancellation request 149 150 - ntk-finger: it would be handy to be able to know some info on a particular 151 node. The user puts his node info in /etc/netsukuku/finger. 152 $ ntk-finger remote_node_ip 153 will print out its /etc/netsukuku/finger. 154 - why don't we just use fingerd? 155 - too bugged? 156 - and what about a stupid shell script like this: 157 while [ 0 ]; do cat /etc/netsukuku/finger | nc -l -p 79; done 158 159 - renice the NetsukukuD process? 160 161 - small memory: if the system has <= X Mb of free memory, switch on dumb mode. 162 In this mode NetsukukuD keeps only the list of rnodes and forwards every 163 request to one of them. The lcl_cache is kept too. 164 165 - better memory utilisation: see MAXMSGSZ, PKT_MAX_MSG_SZ, pkt_verify_hdr(), 166 pkt_uncompress(), andns_uncompress(). 167 - The maximum size of an uncompressed or compressed packet must be 168 proportional to the total free memory reserved to the daemon. 169 - pkt_uncompress() must be able to drop the packet if there's no 170 free memory available. The same must be done by pkt_recv() and 171 other similar functions. 172 173 - option to disable the modification of the routing table 174 175 - option to change on runtime the wait-times of the QSPN, radar, etc... 176 -normal, -high, -low 177 178 - option (both on command line and in netsukuku.conf) to disable the saving of 179 caches. (the keyring will always be saved). 180 181 - Change with something else the eliminable fatal calls in netsukuku_hook() 182 183 - Ipv6 support: use ff05::23 for multicast. qspn_gnode_count isn't IPv6 184 compatible! 185 186 - Test request.c 187 188 - Port the kernel route code for *BSD: take a look at rt_ioctl.c and 189 rt_socket.c of quagga. 190 191 - use PREFIX in the man pages 192 193 - xmalloc.c: Implement a "wrapper heap". We do a big malloc() at the start and 194 then we manage personally it, in this way we avoid the huge 195 overhead of malloc. 196 197 - Compressed maps: save the files in compressed formats 198 199 - Write the documentation for the code that can be used by other 200 programs. (By the way it is already commented.) 201 202 - krnl_conf.c: it reads /proc/kallsyms and verifies that there are the symbols 203 used by the modules/builtins kernel code netsukuku is dependent 204 on. kernel_conf.h will have an array like pkt_op_table (pkts.h). 205 Each symbol will be checked by the init functions. There will be 206 also associated an help function that tells what to do when the 207 symbol is missing in /proc/kallsyms. For example, 208 mark_rule_init() will do: 209 if(krnl_conf_check("netfilter") <0) { 210 krnl_netfilter_usage(); 211 return -1 212 } 213 214 - Launch a trigger script. Possible events: INET_UP, INET_DOWN, NEW_RNODE, 215 DEAD_RNODE. 216 217 - restore the network when NetsukukuD is closed (call /etc/rc.d/rc.inet1 ?) 218 219 - Use binreloc from autopackage ( http://autopackage.org/docs/binreloc/ ) 220 221 - /*\ \*/
| alpt (at) freaknet (dot) org | ViewVC Help |
| Powered by ViewVC 1.1-dev |