| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The IPCP_*_TARGET variables (e.g., set(IPCP_LOCAL_TARGET ipcpd-local))
were defined locally in each IPCP's CMakeLists.txt (e.g.,
CMakeLists.txt), but the configure_file() that substitutes
@IPCP_LOCAL_TARGET@ into config.h.in runs in a sibling scope that is
processed before ipcpd. Since CMake variables don't propagate between
sibling directory scopes, all @IPCP_*_TARGET@ substituted to empty
strings, resulting in IPCP_LOCAL_EXEC "".
Moved the IPCP_*_TARGET definitions into the cmake/config/ipcp/*.cmake
files so they are known when generating config.h.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the build definitions back to src/ subdirectories
(CMakeLists.txt per component). Configuration and dependencies are
kept out of tree. Configuration options are bundled into cmake/config/
modules. Dependencies are grouped by component (system/, crypt/, eth/,
coverage/, etc.). It now consistently uses target-based commands
(target_include_directories, target_link_libraries) instead of global
include_directories(). Proper PRIVATE/PUBLIC visibility for executable
link libraries. CONFIG_OUROBOROS_DEBUG now properly set based on being
a valid debug config (not just checking the string name).
It also adds OuroborosTargets export for find_package() support and
CMake package config files (OuroborosConfig.cmake) for easier
integration with CMake projects.
The build logic now follows more idiomatic CMake practices with
configuration separated from target definitions.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
|
| |
|
|
|
|
|
|
|
| |
This moves the CMake build logic out of the source tree and splits it
up into a more modular form. The tests now have a CMakeLists.txt file
in their respective source directory.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The common enrollment code between the unicast and broadcast IPCP
included the same C source from a source file in the unicast and
broadcast directories. Now it's handled by defining COMMON_SOURCES for
the unicast and broadcast IPCP.
For now, only the enrollment component is common. Two things are
needed for the connection manager:
* Routing to be fixed to use a supporting broadcast layer. Then
management flows can be removed from the unicast IPCP (as
they are in fact data transfer flows of the broadcast layer
that supports the routing dissemination traffic).
* DHT to enroll as part of IPCP enrollment. Now it enrolls when
a data transfer flow is established to be more akin to how
Kademlia nodes join a Kademlia DHT, but this should be
revised to adhere more to O7s enrollment concepts.
After that, the connection manager code will also be completely shared
between the unicast and broadcast layer and the connmgr will also be
common code.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The maximum packet lifetime (MPL) is a property of the flow that needs
to be passed to the reliable transmission protocol (FRCP) for its
correct operation. Previously, the value of MPL was set fixed as one
of the (fixed) Delta-t parameters. This patch makes the MPL a property
of the layer, and it can now be set per layer-type at build time.
This is a step towards a proper MPL estimator in the flow allocator.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
|
|
|
This adds a broadcast IPCP that allows us to easily create multicast
applications. The broadcast IPCP accepts flows for "<layer_name>.mc".
A tool, obc (Ouroboros broadcast), is added that sends and reads a
message to a broadcast layer.
Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be>
Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
|