diff options
-rw-r--r-- | include/ouroboros/ipcp.h | 6 | ||||
-rw-r--r-- | src/ipcpd/ipcp.c | 1 | ||||
-rw-r--r-- | src/ipcpd/unicast/dt.c | 5 | ||||
-rw-r--r-- | src/ipcpd/unicast/dt.h | 1 | ||||
-rw-r--r-- | src/ipcpd/unicast/enroll.c | 3 | ||||
-rw-r--r-- | src/ipcpd/unicast/main.c | 1 | ||||
-rw-r--r-- | src/ipcpd/unicast/pff.h | 5 | ||||
-rw-r--r-- | src/ipcpd/unicast/routing.c | 12 | ||||
-rw-r--r-- | src/lib/ipcp_config.proto | 13 | ||||
-rw-r--r-- | src/lib/irm.c | 2 | ||||
-rw-r--r-- | src/tools/irm/irm_ipcp_bootstrap.c | 16 |
11 files changed, 26 insertions, 39 deletions
diff --git a/include/ouroboros/ipcp.h b/include/ouroboros/ipcp.h index c82a313e..71607646 100644 --- a/include/ouroboros/ipcp.h +++ b/include/ouroboros/ipcp.h @@ -54,11 +54,6 @@ enum pol_routing { ROUTING_LINK_STATE_LFA }; -enum pol_pff { - PFF_SIMPLE = 0, - PFF_ALTERNATE -}; - enum pol_dir_hash { DIR_HASH_SHA3_224 = 0, DIR_HASH_SHA3_256, @@ -85,7 +80,6 @@ struct ipcp_config { enum pol_addr_auth addr_auth_type; enum pol_routing routing_type; - enum pol_pff pff_type; /* UDP */ uint32_t ip_addr; diff --git a/src/ipcpd/ipcp.c b/src/ipcpd/ipcp.c index f826379d..8f9fcd7d 100644 --- a/src/ipcpd/ipcp.c +++ b/src/ipcpd/ipcp.c @@ -241,7 +241,6 @@ static void * mainloop(void * o) conf.max_ttl = conf_msg->max_ttl; conf.addr_auth_type = conf_msg->addr_auth_type; conf.routing_type = conf_msg->routing_type; - conf.pff_type = conf_msg->pff_type; break; case IPCP_ETH_DIX: conf.ethertype = conf_msg->ethertype; diff --git a/src/ipcpd/unicast/dt.c b/src/ipcpd/unicast/dt.c index cabc159d..ee14d28e 100644 --- a/src/ipcpd/unicast/dt.c +++ b/src/ipcpd/unicast/dt.c @@ -621,7 +621,6 @@ static void * dt_conn_handle(void * o) } int dt_init(enum pol_routing pr, - enum pol_pff pp, uint8_t addr_size, uint8_t eid_size, uint8_t max_ttl) @@ -629,6 +628,7 @@ int dt_init(enum pol_routing pr, int i; int j; char dtstr[256]; + enum pol_pff pp; struct conn_info info; memset(&info, 0, sizeof(info)); @@ -659,7 +659,8 @@ int dt_init(enum pol_routing pr, goto fail_connmgr_comp_init; } - if (routing_init(pr)) { + pp = routing_init(pr); + if (pp < 0) { log_err("Failed to init routing."); goto fail_routing; } diff --git a/src/ipcpd/unicast/dt.h b/src/ipcpd/unicast/dt.h index 15a7b660..73b71a92 100644 --- a/src/ipcpd/unicast/dt.h +++ b/src/ipcpd/unicast/dt.h @@ -32,7 +32,6 @@ #define INVALID_ADDR 0 int dt_init(enum pol_routing pr, - enum pol_pff pp, uint8_t addr_size, uint8_t eid_size, uint8_t max_ttl diff --git a/src/ipcpd/unicast/enroll.c b/src/ipcpd/unicast/enroll.c index 582e808f..6a612ff3 100644 --- a/src/ipcpd/unicast/enroll.c +++ b/src/ipcpd/unicast/enroll.c @@ -136,7 +136,6 @@ static int send_rcv_enroll_msg(int fd) enroll.conf.max_ttl = reply->conf->max_ttl; enroll.conf.addr_auth_type = reply->conf->addr_auth_type; enroll.conf.routing_type = reply->conf->routing_type; - enroll.conf.pff_type = reply->conf->pff_type; enroll.conf.layer_info.dir_hash_algo = reply->conf->layer_info->dir_hash_algo; @@ -173,8 +172,6 @@ static ssize_t enroll_pack(uint8_t ** buf) config.addr_auth_type = enroll.conf.addr_auth_type; config.has_routing_type = true; config.routing_type = enroll.conf.routing_type; - config.has_pff_type = true; - config.pff_type = enroll.conf.pff_type; config.layer_info = &layer_info; layer_info.layer_name = (char *) enroll.conf.layer_info.layer_name; diff --git a/src/ipcpd/unicast/main.c b/src/ipcpd/unicast/main.c index 33295e29..43052209 100644 --- a/src/ipcpd/unicast/main.c +++ b/src/ipcpd/unicast/main.c @@ -82,7 +82,6 @@ static int initialize_components(const struct ipcp_config * conf) log_dbg("IPCP got address %" PRIu64 ".", ipcpi.dt_addr); if (dt_init(conf->routing_type, - conf->pff_type, conf->addr_size, conf->eid_size, conf->max_ttl)) { diff --git a/src/ipcpd/unicast/pff.h b/src/ipcpd/unicast/pff.h index d88ffa7f..a7b618dc 100644 --- a/src/ipcpd/unicast/pff.h +++ b/src/ipcpd/unicast/pff.h @@ -29,6 +29,11 @@ #include <stdlib.h> #include <stdbool.h> +enum pol_pff { + PFF_SIMPLE = 0, + PFF_ALTERNATE +}; + struct pff * pff_create(enum pol_pff pol); void pff_destroy(struct pff * pff); diff --git a/src/ipcpd/unicast/routing.c b/src/ipcpd/unicast/routing.c index 1d660cde..0794555e 100644 --- a/src/ipcpd/unicast/routing.c +++ b/src/ipcpd/unicast/routing.c @@ -24,6 +24,7 @@ #include <ouroboros/errno.h> +#include "pff.h" #include "routing.h" #include "pol/link_state.h" @@ -31,16 +32,25 @@ struct pol_routing_ops * r_ops; int routing_init(enum pol_routing pr) { + enum pol_pff pff_type; + switch (pr) { case ROUTING_LINK_STATE: + pff_type = PFF_SIMPLE; + r_ops = &link_state_ops; + break; case ROUTING_LINK_STATE_LFA: + pff_type = PFF_ALTERNATE; r_ops = &link_state_ops; break; default: return -ENOTSUP; } - return r_ops->init(pr); + if (r_ops->init(pr)) + return -1; + + return pff_type; } struct routing_i * routing_i_create(struct pff * pff) diff --git a/src/lib/ipcp_config.proto b/src/lib/ipcp_config.proto index 17d1c47e..23c65e94 100644 --- a/src/lib/ipcp_config.proto +++ b/src/lib/ipcp_config.proto @@ -36,16 +36,15 @@ message ipcp_config_msg { optional uint32 max_ttl = 5; optional uint32 addr_auth_type = 6; optional uint32 routing_type = 7; - optional uint32 pff_type = 8; // Config for UDP - optional uint32 ip_addr = 9; - optional uint32 dns_addr = 10; - optional uint32 clt_port = 11; - optional uint32 srv_port = 12; + optional uint32 ip_addr = 8; + optional uint32 dns_addr = 9; + optional uint32 clt_port = 10; + optional uint32 srv_port = 11; // Config for the Ethernet - optional string dev = 13; + optional string dev = 12; // Config for DIX Ethernet - optional uint32 ethertype = 14; + optional uint32 ethertype = 13; } enum enroll_code { diff --git a/src/lib/irm.c b/src/lib/irm.c index 9b74c72d..e4b39f2c 100644 --- a/src/lib/irm.c +++ b/src/lib/irm.c @@ -132,8 +132,6 @@ int irm_bootstrap_ipcp(pid_t pid, config.addr_auth_type = conf->addr_auth_type; config.has_routing_type = true; config.routing_type = conf->routing_type; - config.has_pff_type = true; - config.pff_type = conf->pff_type; break; case IPCP_UDP: config.has_ip_addr = true; diff --git a/src/tools/irm/irm_ipcp_bootstrap.c b/src/tools/irm/irm_ipcp_bootstrap.c index e58a4765..7b844ba7 100644 --- a/src/tools/irm/irm_ipcp_bootstrap.c +++ b/src/tools/irm/irm_ipcp_bootstrap.c @@ -70,7 +70,6 @@ #define DEFAULT_TTL 60 #define DEFAULT_ADDR_AUTH ADDR_AUTH_FLAT_RANDOM #define DEFAULT_ROUTING ROUTING_LINK_STATE -#define DEFAULT_PFF PFF_SIMPLE #define DEFAULT_HASH_ALGO DIR_HASH_SHA3_256 #define DEFAULT_ETHERTYPE 0xA000 #define DEFAULT_CLIENT_PORT 0x0000 /* random port */ @@ -79,8 +78,6 @@ #define FLAT_RANDOM_ADDR_AUTH "flat" #define LINK_STATE_ROUTING "link_state" #define LINK_STATE_LFA_ROUTING "lfa" -#define SIMPLE_PFF "simple" -#define ALTERNATE_PFF "alternate" static void usage(void) { @@ -97,13 +94,11 @@ static void usage(void) " [ttl (max time-to-live value, default: %d)]\n" " [addr_auth <ADDRESS_POLICY> (default: %s)]\n" " [routing <ROUTING_POLICY> (default: %s)]\n" - " [pff [PFF_POLICY] (default: %s)]\n" " [hash [ALGORITHM] (default: %s)]\n" " [autobind]\n" "where ADDRESS_POLICY = {"FLAT_RANDOM_ADDR_AUTH"}\n" " ROUTING_POLICY = {"LINK_STATE_ROUTING " " LINK_STATE_LFA_ROUTING "}\n" - " PFF_POLICY = {" SIMPLE_PFF " " ALTERNATE_PFF "}\n" " ALGORITHM = {" SHA3_224 " " SHA3_256 " " SHA3_384 " " SHA3_512 "}\n\n" "if TYPE == " UDP "\n" @@ -134,7 +129,7 @@ static void usage(void) "if TYPE == " BROADCAST "\n" " [autobind]\n\n", DEFAULT_ADDR_SIZE, DEFAULT_EID_SIZE, DEFAULT_TTL, - FLAT_RANDOM_ADDR_AUTH, LINK_STATE_ROUTING, SIMPLE_PFF, + FLAT_RANDOM_ADDR_AUTH, LINK_STATE_ROUTING, SHA3_256, DEFAULT_SERVER_PORT, SHA3_256, 0xA000, SHA3_256, SHA3_256, SHA3_256); } @@ -150,7 +145,6 @@ int do_bootstrap_ipcp(int argc, uint8_t max_ttl = DEFAULT_TTL; enum pol_addr_auth addr_auth_type = DEFAULT_ADDR_AUTH; enum pol_routing routing_type = DEFAULT_ROUTING; - enum pol_pff pff_type = DEFAULT_PFF; enum pol_dir_hash hash_algo = DEFAULT_HASH_ALGO; uint32_t ip_addr = 0; uint32_t dns_addr = DEFAULT_DDNS; @@ -232,13 +226,6 @@ int do_bootstrap_ipcp(int argc, routing_type = ROUTING_LINK_STATE_LFA; else goto unknown_param; - } else if (matches(*argv, "pff") == 0) { - if (strcmp(SIMPLE_PFF, *(argv + 1)) == 0) - pff_type = PFF_SIMPLE; - else if (strcmp(ALTERNATE_PFF, *(argv + 1)) == 0) - pff_type = PFF_ALTERNATE; - else - goto unknown_param; } else { printf("Unknown option: \"%s\".\n", *argv); return -1; @@ -324,7 +311,6 @@ int do_bootstrap_ipcp(int argc, conf.max_ttl = max_ttl; conf.addr_auth_type = addr_auth_type; conf.routing_type = routing_type; - conf.pff_type = pff_type; break; case IPCP_UDP: if (ip_addr == 0) |