diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2023-08-27 13:12:23 +0200 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2023-08-30 10:02:44 +0200 |
commit | e3d2677318030bfec170d7399f527dd6babf7a90 (patch) | |
tree | 6f1083b38159d8118393b004dc86413ff24e50bd /src/ipcpd | |
parent | 8183983c2c1cc50e3e0c82a8ab08d5fd66e0dc86 (diff) | |
download | ouroboros-e3d2677318030bfec170d7399f527dd6babf7a90.tar.gz ouroboros-e3d2677318030bfec170d7399f527dd6babf7a90.zip |
ipcpd: Simplify including common enrollment code
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>
Diffstat (limited to 'src/ipcpd')
-rw-r--r-- | src/ipcpd/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/ipcpd/broadcast/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/ipcpd/broadcast/enroll.c | 24 | ||||
-rw-r--r-- | src/ipcpd/unicast/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/ipcpd/unicast/enroll.c | 3 |
5 files changed, 6 insertions, 31 deletions
diff --git a/src/ipcpd/CMakeLists.txt b/src/ipcpd/CMakeLists.txt index 1ce1bc0d..24275a4f 100644 --- a/src/ipcpd/CMakeLists.txt +++ b/src/ipcpd/CMakeLists.txt @@ -44,6 +44,10 @@ set(IPCP_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/shim-data.c ) +set (COMMON_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/common/enroll.c + ) + add_subdirectory(local) add_subdirectory(eth) add_subdirectory(udp) diff --git a/src/ipcpd/broadcast/CMakeLists.txt b/src/ipcpd/broadcast/CMakeLists.txt index af0d8fcf..d85f335e 100644 --- a/src/ipcpd/broadcast/CMakeLists.txt +++ b/src/ipcpd/broadcast/CMakeLists.txt @@ -20,11 +20,10 @@ set(SOURCE_FILES # Add source files here connmgr.c dt.c - enroll.c main.c ) -add_executable(ipcpd-broadcast ${SOURCE_FILES} ${IPCP_SOURCES} +add_executable(ipcpd-broadcast ${SOURCE_FILES} ${IPCP_SOURCES} ${COMMON_SOURCES} ${LAYER_CONFIG_PROTO_SRCS}) target_link_libraries(ipcpd-broadcast LINK_PUBLIC ouroboros-dev) diff --git a/src/ipcpd/broadcast/enroll.c b/src/ipcpd/broadcast/enroll.c deleted file mode 100644 index 140c582a..00000000 --- a/src/ipcpd/broadcast/enroll.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Ouroboros - Copyright (C) 2016 - 2023 - * - * Enrollment Task - * - * Dimitri Staessens <dimitri@ouroboros.rocks> - * Sander Vrijders <sander@ouroboros.rocks> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., http://www.fsf.org/about/contact/. - */ -#define BUILD_IPCP_BROADCAST - -#include "common/enroll.c" diff --git a/src/ipcpd/unicast/CMakeLists.txt b/src/ipcpd/unicast/CMakeLists.txt index e1fe1074..c87a58c4 100644 --- a/src/ipcpd/unicast/CMakeLists.txt +++ b/src/ipcpd/unicast/CMakeLists.txt @@ -38,7 +38,6 @@ set(SOURCE_FILES connmgr.c dir.c dt.c - enroll.c fa.c main.c pff.c @@ -57,7 +56,7 @@ set(SOURCE_FILES routing/graph.c ) -add_executable(ipcpd-unicast ${SOURCE_FILES} ${IPCP_SOURCES} +add_executable(ipcpd-unicast ${SOURCE_FILES} ${IPCP_SOURCES} ${COMMON_SOURCES} ${KAD_PROTO_SRCS} ${LAYER_CONFIG_PROTO_SRCS}) target_link_libraries(ipcpd-unicast LINK_PUBLIC ouroboros-dev) diff --git a/src/ipcpd/unicast/enroll.c b/src/ipcpd/unicast/enroll.c deleted file mode 100644 index 500a3895..00000000 --- a/src/ipcpd/unicast/enroll.c +++ /dev/null @@ -1,3 +0,0 @@ -#define BUILD_IPCP_UNICAST - -#include "common/enroll.c" |