diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2023-11-27 14:43:11 +0100 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2023-11-29 09:57:29 +0100 |
commit | 346b054ee32a9f7b8491f842709f72cc8d1f3f2e (patch) | |
tree | 5a406924ca94a03460e9b1e14d50cd1fca7c5c61 /include | |
parent | 3f24301fff9c544dfe2b89c5737bc3cdf94ef9a9 (diff) | |
download | ouroboros-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.h | 9 | ||||
-rw-r--r-- | include/ouroboros/protobuf.h | 6 |
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); |