summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2023-11-27 14:43:11 +0100
committerSander Vrijders <sander@ouroboros.rocks>2023-11-29 09:57:29 +0100
commit346b054ee32a9f7b8491f842709f72cc8d1f3f2e (patch)
tree5a406924ca94a03460e9b1e14d50cd1fca7c5c61 /include
parent3f24301fff9c544dfe2b89c5737bc3cdf94ef9a9 (diff)
downloadouroboros-346b054ee32a9f7b8491f842709f72cc8d1f3f2e.tar.gz
ouroboros-346b054ee32a9f7b8491f842709f72cc8d1f3f2e.zip
include: Store IPCP name and type in info struct
The information for an IPCP is now stored in an ipcp_info struct, containing name and type. The IRM public API is not changed. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'include')
-rw-r--r--include/ouroboros/ipcp.h9
-rw-r--r--include/ouroboros/protobuf.h6
2 files changed, 14 insertions, 1 deletions
diff --git a/include/ouroboros/ipcp.h b/include/ouroboros/ipcp.h
index 4be9b48e..d894abb4 100644
--- a/include/ouroboros/ipcp.h
+++ b/include/ouroboros/ipcp.h
@@ -27,6 +27,7 @@
#include <unistd.h>
#include <stdbool.h>
+#define IPCP_NAME_SIZE 255
#define LAYER_NAME_SIZE 255
#define DEV_NAME_SIZE 255
@@ -97,6 +98,12 @@ struct udp_config {
uint16_t port;
};
+/* Info about the IPCP */
+struct ipcp_info {
+ enum ipcp_type type;
+ char name[IPCP_NAME_SIZE + 1];
+};
+
/* Info reported back to the IRMd about the layer on enrollment */
struct layer_info {
char name[LAYER_NAME_SIZE + 1];
@@ -156,7 +163,7 @@ static const struct ipcp_config uni_default_conf = {
.dt = {
.addr_size = 4,
.eid_size = 8,
- .max_ttl = 6,
+ .max_ttl = 60,
.routing_type = ROUTING_LINK_STATE
},
.addr_auth_type = ADDR_AUTH_FLAT_RANDOM,
diff --git a/include/ouroboros/protobuf.h b/include/ouroboros/protobuf.h
index da5d58fd..ed944a3c 100644
--- a/include/ouroboros/protobuf.h
+++ b/include/ouroboros/protobuf.h
@@ -25,6 +25,7 @@
#include <ouroboros/qos.h>
#include <ouroboros/ipcp.h>
+#include <ouroboros/irm.h>
#include <ouroboros/serdes-oep.h>
#include "ipcp_config.pb-c.h"
@@ -39,6 +40,7 @@ typedef UniConfigMsg uni_config_msg_t;
typedef IpcpMsg ipcp_msg_t;
#include "irm.pb-c.h"
+typedef IpcpInfoMsg ipcp_info_msg_t;
typedef IpcpListMsg ipcp_list_msg_t;
typedef NameInfoMsg name_info_msg_t;
@@ -56,6 +58,10 @@ layer_info_msg_t * layer_info_s_to_msg(const struct layer_info * s);
struct layer_info layer_info_msg_to_s(const layer_info_msg_t * msg);
+ipcp_info_msg_t * ipcp_info_s_to_msg(const struct ipcp_info * s);
+
+struct ipcp_info ipcp_info_msg_to_s(const ipcp_info_msg_t * msg);
+
dt_config_msg_t * dt_config_s_to_msg(const struct dt_config * s);
struct dt_config dt_config_msg_to_s(const dt_config_msg_t * msg);