== Netsukuku Dev == === Old C implementation === Currently, Netsukuku is being ported from the old C implementation to the new Python implementation. Here you will find some info about developing with Netsukuku. The old C implementation is deprecated, however it is the latest ''stable'' release. If you want to continue using and testing the old implementation feel free to read up the HOWTO section of this wiki for the required kernel modules you need to have compiled. === Current rationale: the Python implementation === You can find detailed notes on the pyntk code here (Italian only right now): [[Netsukuku/ita/notes]] {{{ With stackless Python we can use as many microthreads as we like, without wasting memory and cpu. Normal kernel threads wouldn't allow this. F,e, it isn't a problem to launch a microthread for every received packet. However, another major benefits of microthreads is the possibility to realise the integrated pyntk simulator: the simulator (you can find in pyntk/ntk/sim) is a Discrete Event Simulator. It can simulates a virtual network. The nice thing is that, with Python we've been able to insert the sim under the whole pyntk code: f.e. we wrap directly socket.py! In this way, to simulate something: just launch N pyntk virtual instances in a simulated network, and let the simulator run. The pyntks you're going to simulate are exactly those of real life pyntk code. To clarify: if you see that the simulation goes smooth, without a single node crashing, then this will happen in reality, too. (the integrated simulator works right now: see test/sim/ ) }}} If you want to help out debugging and testing the new implementation, feel free to browse the HOWTO section for the mini guide that shows you how to work with pyntk. === Other documents === * [[Ntk_TODO]] * [[Netsukuku_Dev/vala/flashing_notes]] * [[http://dev.hinezumi.org/log/netsukuku|Development ChangeLog]]