mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-04-07 11:08:36 +00:00
Replaces (const char *file, unsigned int line, const char *function) arguments to all logging functions, simplifies malloc/free tracking code in overlay_buffer.c and Rhizome manifest alloc/free tracking in rhizome_bundle.c. Use __HERE__ macro instead of (__FILE__, __LINE__, __FUNCTION__) everywhere. Special __NOWHERE__ macro is equivalent to (NULL, 0, NULL). Declare net.c functions in new "net.h" header, so log.c doesn't have to pull in the entire "serval.h" just to use write_str(). Facilitates progress on issue #2.
@PGS/20120615 Sometimes it is helpful to run more than one servald instance on a given machine for debugging purposes. To make this easier, there is a dummy interface driver that servald knows about. To use it: 1. create an empty file, e.g., dummynet0, somewhere convenient 2. For each servald instance you wish to use it, set the interface specification to include the dummynet file. Use a specification like "+>pathtodummynetfile", where pathtodummynetfile is the relative path from the instance path of that servald instance to the dummynet file. For example, you might run: % servald config set interfaces "+eth0,+>../dummynet0" 3. Run each servald instance. They should now use the dummy network. NOTE: Because dummynets are files, not sockets, poll/select does not work on them. As a result the main overlay loop has slightly different behaviour and timing characteristics when a dummynet is in use. TODO: Convert dummynet interface to use a unixdomain socket, and a simple dummynet server that reflects packets among the clients connected, so that all socket semantics (including use of poll/select) are preserved.
Description
The Serval Project's core daemon that implements Distributed Numbering Architecture (DNA), MDP, VoMP, Rhizome, MeshMS, etc.
Languages
C
89.4%
Shell
5.9%
Java
2%
M4
1.1%
Assembly
0.6%
Other
0.9%