diff options
| author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-10-26 09:56:31 +0000 | 
|---|---|---|
| committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-10-26 09:56:31 +0000 | 
| commit | cc64e52dee3559128293a17a669e94acb48f9309 (patch) | |
| tree | e4ef544c225e3b118c8a73d868dccaa073b55f11 /src/ipcpd/normal | |
| parent | 0fd97235ecf670f1fc6db2723c530934b5376458 (diff) | |
| parent | f0646875d0bc941e339d305d0c68b13543cd6f2a (diff) | |
| download | ouroboros-cc64e52dee3559128293a17a669e94acb48f9309.tar.gz ouroboros-cc64e52dee3559128293a17a669e94acb48f9309.zip | |
Merged in sandervrijders/ouroboros/be-directory (pull request #280)
lib, irmd, ipcpd: Add name querying to IPCPs
Diffstat (limited to 'src/ipcpd/normal')
| -rw-r--r-- | src/ipcpd/normal/main.c | 30 | 
1 files changed, 23 insertions, 7 deletions
| diff --git a/src/ipcpd/normal/main.c b/src/ipcpd/normal/main.c index 32aabdf2..2402972f 100644 --- a/src/ipcpd/normal/main.c +++ b/src/ipcpd/normal/main.c @@ -28,6 +28,11 @@  #include <ouroboros/ipcp-dev.h>  #include <ouroboros/time_utils.h> +#include "fmgr.h" +#include "ribmgr.h" +#include "ipcp.h" +#include "frct.h" +  #include <stdbool.h>  #include <signal.h>  #include <stdlib.h> @@ -35,11 +40,6 @@  #include <string.h>  #include <errno.h> -#include "fmgr.h" -#include "ribmgr.h" -#include "ipcp.h" -#include "frct.h" -  #define THIS_TYPE IPCP_NORMAL  /* global for trapping signal */ @@ -72,7 +72,7 @@ static int normal_ipcp_name_reg(char * name)  {          pthread_rwlock_rdlock(&ipcpi.state_lock); -        if (ipcp_data_add_reg_entry(ipcpi.data, name)) { +        if (ipcp_data_reg_add_entry(ipcpi.data, name)) {                  pthread_rwlock_unlock(&ipcpi.state_lock);                  LOG_ERR("Failed to add %s to local registry.", name);                  return -1; @@ -89,13 +89,28 @@ static int normal_ipcp_name_unreg(char * name)  {          pthread_rwlock_rdlock(&ipcpi.state_lock); -        ipcp_data_del_reg_entry(ipcpi.data, name); +        ipcp_data_reg_del_entry(ipcpi.data, name);          pthread_rwlock_unlock(&ipcpi.state_lock);          return 0;  } +static int normal_ipcp_name_query(char * name) +{ +        LOG_MISSING; + +        (void) name; + +        /* +         * NOTE: For the moment we just return -1, +         * for testing purposes we may return zero here +         * for certain names. +         */ + +        return -1; +} +  static int normal_ipcp_enroll(char * dif_name)  {          struct timespec timeout = {(ENROLL_TIMEOUT / 1000), @@ -165,6 +180,7 @@ static struct ipcp_ops normal_ops = {          .ipcp_enroll          = normal_ipcp_enroll,          .ipcp_name_reg        = normal_ipcp_name_reg,          .ipcp_name_unreg      = normal_ipcp_name_unreg, +        .ipcp_name_query      = normal_ipcp_name_query,          .ipcp_flow_alloc      = fmgr_np1_alloc,          .ipcp_flow_alloc_resp = fmgr_np1_alloc_resp,          .ipcp_flow_dealloc    = fmgr_np1_dealloc | 
