next release of Netsukuku
The next release of Netsukuku shall have the following objectives:
1. make the code more modular; the modules must be able to operate
each one independently from the others, each one just exposes a well
described interface to the others.
2. document for each module:
* a design document (what it has to accomplish and why);
* the interface that the module must expose to the outside;
* technical implementation details.
3. more closely reflect the original specifications (i.e. the QSPN
document that you can read on the official site and Aplt's master
thesis "Scalable Mesh Networks and The Address Space Balancing
* document in detail any additional module and explain why it is needed.
4. implement better strategies (some new ideas) for the following
* initial hook of a node.
* splitting of a g-node.
* migration of an entire g-node while keeping in each node its
knowledge of routes inside the g-node.
* mechanism, during the migration of a g-node, to keep safe any
open TCP connection inside the g-node itself, because the graph does
not change inside.
* splitting of the network.
* merge two separate networks while keeping the knowledge of both
graphs already explored.
5. implement new features:
* mechanism for any node to request to be anonymized during the
forwarding of its packets to any destination; as a result of this, we
get the feasibility of a peer-to-peer service that makes "anonymous
With reference to points 1 and 2, we wish to achieve these goals for
the following reasons:
A. Make possible automated and systematic testing of the functionality
of each module of the software.
B. Facilitate the insertion of new developers and allow the breakdown
of tasks and doing them in parallel.
To achieve these objectives it is necessary to rewrite almost from
scratch most of the code. Yep, I am serious about that, but don't be
alarmed, I swear it will be shorter and more readable than now!
I have already started this process.
Soon I will publish the first design documents of the single modules.
Since those documents may require frequent changes during the
development of the software, I will write them in Italian. They will
be translated into English only if/when there is a
(non-italian-speaking) developer seriously determined to contribute to
For the moment the documents will be published in the wiki.
Netsukuku mailing list