summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@intec.ugent.be>2017-01-11 18:59:11 +0100
committerSander Vrijders <sander.vrijders@intec.ugent.be>2017-01-12 13:40:38 +0100
commit15e9b779385c71d366776b83540e19e0735c4e66 (patch)
tree5f4fe39683c0676c243f287840f2775a867c9142 /src/tools
parenta991831b5373eba38d6f756d254f151b22790238 (diff)
downloadouroboros-15e9b779385c71d366776b83540e19e0735c4e66.tar.gz
ouroboros-15e9b779385c71d366776b83540e19e0735c4e66.zip
ipcpd: normal: Create policies for GAM
This allows the selection of a policy for the graph adjacency manager. Currently we only support constructing a complete graph.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/irm/irm_ipcp_bootstrap.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/tools/irm/irm_ipcp_bootstrap.c b/src/tools/irm/irm_ipcp_bootstrap.c
index 10e53294..4c7f2168 100644
--- a/src/tools/irm/irm_ipcp_bootstrap.c
+++ b/src/tools/irm/irm_ipcp_bootstrap.c
@@ -45,8 +45,10 @@
#define DEFAULT_MAX_PDU_SIZE 9000
#define DEFAULT_DDNS 0
#define DEFAULT_ADDR_AUTH FLAT_RANDOM
+#define DEFAULT_DT_GAM COMPLETE
-#define ADDR_AUTH_FLAT "flat"
+#define ADDR_AUTH_FLAT "flat"
+#define DT_GAM_COMPLETE "complete"
static void usage(void)
{
@@ -67,6 +69,8 @@ static void usage(void)
" [min_pdu <minimum PDU size> (default: %d)]\n"
" [max_pdu <maximum PDU size> (default: %d)]\n"
" [addr_auth <address policy> (default: %s)]\n"
+ " [dt_gam <data transfer graph adjacency manager>"
+ "(default: %s)]\n"
"if TYPE == " SHIM_UDP "\n"
" ip <IP address in dotted notation>\n"
" [dns <DDNS IP address in dotted notation>"
@@ -76,7 +80,7 @@ static void usage(void)
DEFAULT_ADDR_SIZE, DEFAULT_CEP_ID_SIZE,
DEFAULT_PDU_LEN_SIZE, DEFAULT_SEQ_NO_SIZE,
DEFAULT_MIN_PDU_SIZE, DEFAULT_MAX_PDU_SIZE,
- ADDR_AUTH_FLAT, DEFAULT_DDNS);
+ ADDR_AUTH_FLAT, DT_GAM_COMPLETE, DEFAULT_DDNS);
}
int do_bootstrap_ipcp(int argc, char ** argv)
@@ -93,6 +97,7 @@ int do_bootstrap_ipcp(int argc, char ** argv)
uint32_t min_pdu_size = DEFAULT_MIN_PDU_SIZE;
uint32_t max_pdu_size = DEFAULT_MAX_PDU_SIZE;
enum pol_addr_auth addr_auth_type = DEFAULT_ADDR_AUTH;
+ enum pol_gam dt_gam_type = DEFAULT_DT_GAM;
uint32_t ip_addr = 0;
uint32_t dns_addr = DEFAULT_DDNS;
char * ipcp_type = NULL;
@@ -144,6 +149,9 @@ int do_bootstrap_ipcp(int argc, char ** argv)
} else if (matches(*argv, "addr_auth") == 0) {
if (strcmp(ADDR_AUTH_FLAT, *(argv + 1)) == 0)
addr_auth_type = FLAT_RANDOM;
+ } else if (matches(*argv, "dt_gam") == 0) {
+ if (strcmp(DT_GAM_COMPLETE, *(argv + 1)) == 0)
+ dt_gam_type = COMPLETE;
} else {
printf("\"%s\" is unknown, try \"irm "
"ipcp bootstrap\".\n", *argv);
@@ -172,6 +180,7 @@ int do_bootstrap_ipcp(int argc, char ** argv)
conf.min_pdu_size = min_pdu_size;
conf.max_pdu_size = max_pdu_size;
conf.addr_auth_type = addr_auth_type;
+ conf.dt_gam_type = dt_gam_type;
} else if (strcmp(ipcp_type, SHIM_UDP) == 0) {
conf.type = IPCP_SHIM_UDP;
if (ip_addr == 0) {