mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-02-21 01:42:18 +00:00
Commit 5cbc2167ecfa94a20e8664f5a9f1981b2f244196 changed the servald 'start' command to use a different argv[0], which meant that the testdefs.sh get_servald_pids() function no longer detected running servald processes. This broke most of the 'server' test cases. testdefs.sh setup_servald() now makes a full copy of servald once per test case, not just a symbolic link, so that the logic in get_servald_pids() works again.
@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%