From 346b054ee32a9f7b8491f842709f72cc8d1f3f2e Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Mon, 27 Nov 2023 14:43:11 +0100 Subject: 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 Signed-off-by: Sander Vrijders --- include/ouroboros/ipcp.h | 9 ++++++++- include/ouroboros/protobuf.h | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'include/ouroboros') 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 #include +#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 #include +#include #include #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); -- cgit v1.2.3