More doxygen for NHDP subsystems
authorHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Wed, 23 Sep 2015 09:36:35 +0000 (11:36 +0200)
committerHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Wed, 23 Sep 2015 09:36:35 +0000 (11:36 +0200)
24 files changed:
src-plugins/nhdp/auto_ll4/auto_ll4.c
src-plugins/nhdp/auto_ll4/auto_ll4.h
src-plugins/nhdp/constant_metric/constant_metric.c
src-plugins/nhdp/constant_metric/constant_metric.h
src-plugins/nhdp/ff_dat_metric/ff_dat_metric.c
src-plugins/nhdp/ff_dat_metric/ff_dat_metric.h
src-plugins/nhdp/hysteresis_olsrv1/hysteresis_olsrv1.c
src-plugins/nhdp/hysteresis_olsrv1/hysteresis_olsrv1.h
src-plugins/nhdp/neighbor_probing/neighbor_probing.h
src-plugins/nhdp/nhdp/nhdp.c
src-plugins/nhdp/nhdp/nhdp.h
src-plugins/nhdp/nhdp/nhdp_db.c
src-plugins/nhdp/nhdp/nhdp_db.h
src-plugins/nhdp/nhdp/nhdp_domain.c
src-plugins/nhdp/nhdp/nhdp_domain.h
src-plugins/nhdp/nhdp/nhdp_hysteresis.c
src-plugins/nhdp/nhdp/nhdp_interfaces.c
src-plugins/nhdp/nhdp/nhdp_interfaces.h
src-plugins/nhdp/nhdp/nhdp_reader.c
src-plugins/nhdp/nhdp/nhdp_writer.c
src-plugins/nhdp/nhdp/nhdp_writer.h
src-plugins/nhdp/nhdpcheck/nhdpcheck.h
src-plugins/nhdp/nhdpinfo/nhdpinfo.c
src-plugins/nhdp/nhdpinfo/nhdpinfo.h

index 45e7e34..b556752 100644 (file)
@@ -76,8 +76,6 @@ struct _config {
   uint64_t startup_delay;
 };
 
-#define _MODE_DETECT "detect"
-
 /**
  * NHDP interface class extension of autoll4 plugin
  */
index d0a07bd..419f9a1 100644 (file)
 #ifndef AUTO_LL4_H_
 #define AUTO_LL4_H_
 
-#include "common/common_types.h"
-#include "core/oonf_subsystem.h"
-
-/* definitions and constants */
+/*! subsystem identification */
 #define OONF_AUTO_LL4_SUBSYSTEM "auto_ll4"
 
 #endif /* AUTO_LL4_H_ */
index addd13e..2c8c22d 100644 (file)
@@ -69,8 +69,6 @@
 /* constants and definitions */
 #define LOG_CONSTANT_METRIC _olsrv2_constant_metric_subsystem.logging
 
-#define CFG_LINK_ENTRY "link"
-
 /**
  * Session data for a configured constant metric
  */
@@ -103,7 +101,7 @@ static void _cb_cfg_changed(void);
 
 /* plugin declaration */
 static struct cfg_schema_entry _constant_entries[] = {
-  _CFG_VALIDATE(CFG_LINK_ENTRY, "", "Defines the static cost to the link to a neighbor."
+  _CFG_VALIDATE("link", "", "Defines the static cost to the link to a neighbor."
       " Value consists of the originator address followed by the link cost",
       .cb_validate = _cb_validate_link, .list = true),
 };
@@ -167,7 +165,7 @@ static struct oonf_class _linkcost_class = {
   .size = sizeof(struct _linkcost),
 };
 
-struct avl_tree _linkcost_tree;
+static struct avl_tree _linkcost_tree;
 
 /**
  * Initialize plugin
index 9c8d690..36391ec 100644 (file)
 #ifndef CONSTANT_METRIC_H_
 #define CONSTANT_METRIC_H_
 
-#include "common/common_types.h"
-#include "core/oonf_subsystem.h"
-
-/* definitions and constants */
+/*! subsystem identification */
 #define OONF_CONSTANT_METRIC_SUBSYSTEM "constant_metric"
 
 #endif /* CONSTANT_METRIC_H_ */
index 0b4b9b6..edf7737 100644 (file)
@@ -159,9 +159,9 @@ static void _cb_link_changed(void *);
 static void _cb_link_removed(void *);
 
 static void _cb_dat_sampling(void *);
-void _calculate_link_neighborhood(struct nhdp_link *lnk,
+static void _calculate_link_neighborhood(struct nhdp_link *lnk,
     struct link_datff_data *ldata);
-int _calculate_loss_exponent(int link_neigborhood);
+static int _calculate_dynamic_loss_exponent(int link_neigborhood);
 static uint32_t _apply_packet_loss(struct nhdp_link *lnk,
     struct link_datff_data *ldata,
     uint32_t metric, uint32_t received, uint32_t total);
@@ -185,13 +185,24 @@ static int _cb_cfg_validate(const char *section_name,
 static void _cb_cfg_changed(void);
 
 /* plugin declaration */
+
+/**
+ * loss scaling options
+ */
 enum idx_loss_scaling {
+  /*! linear loss scaling */
   IDX_LOSS_LINEAR,
+
+  /*! quadratic loss scaling */
   IDX_LOSS_QUADRATIC,
+
+  /*! cubic loss scaling */
   IDX_LOSS_CUBIC,
+
+  /*! dynamic loss scaling */
   IDX_LOSS_DYNAMIC,
 };
-const char *LOSS_SCALING[] = {
+static const char *LOSS_SCALING[] = {
   [IDX_LOSS_LINEAR]    = "linear",
   [IDX_LOSS_QUADRATIC] = "quadratic",
   [IDX_LOSS_CUBIC]     = "cubic",
@@ -675,7 +686,12 @@ _cb_dat_sampling(void *ptr __attribute__((unused))) {
   }
 }
 
-void
+/**
+ * Calculate how many neigbors a link has
+ * @param lnk nhdp link
+ * @param data ff data link data
+ */
+static void
 _calculate_link_neighborhood(struct nhdp_link *lnk, struct link_datff_data *data) {
   struct nhdp_l2hop *l2hop;
   struct nhdp_laddr *laddr;
@@ -695,8 +711,13 @@ _calculate_link_neighborhood(struct nhdp_link *lnk, struct link_datff_data *data
   data->link_neigborhood = count;
 }
 
-int
-_calculate_loss_exponent(int link_neigborhood) {
+/**
+ * Calculate the loss exponentiation based on the link neigborhood size
+ * @param link_neigborhood link neighborhood count
+ * @return loss exponent
+ */
+static int
+_calculate_dynamic_loss_exponent(int link_neigborhood) {
   if (link_neigborhood < 4) {
     return 1;
   }
@@ -752,7 +773,7 @@ _apply_packet_loss(struct nhdp_link *lnk,
       loss_exponent = 3;
       break;
     case IDX_LOSS_DYNAMIC:
-      loss_exponent = _calculate_loss_exponent(ldata->link_neigborhood);
+      loss_exponent = _calculate_dynamic_loss_exponent(ldata->link_neigborhood);
       break;
     default:
       loss_exponent = 1;
index 6fca96e..9a71a1c 100644 (file)
 #ifndef FF_DAT_METRIC_H_
 #define FF_DAT_METRIC_H_
 
-#include "common/common_types.h"
-#include "core/oonf_subsystem.h"
-
+/*! subsystem identification */
 #define OONF_FF_DAT_METRIC_SUBSYSTEM "ff_dat_metric"
 
-/* definitions and constants */
+/**
+ * ff data metric constants
+ */
 enum {
-  /* frame transmission success bewteen 1/8 and 8/8 */
+  /* frame transmission success between 1/8 and 8/8 */
   DATFF_FRAME_SUCCESS_RANGE = 1<<3,
 
   /*
index 865006d..f004509 100644 (file)
@@ -160,7 +160,7 @@ static struct oonf_subsystem _olsrv2_hysteresis_olsrv1_subsystem = {
 DECLARE_OONF_PLUGIN(_olsrv2_hysteresis_olsrv1_subsystem);
 
 /* storage extension for nhdp_link */
-struct oonf_class_extension _link_extenstion = {
+static struct oonf_class_extension _link_extenstion = {
   .ext_name = OONF_HYSTERESIS_OLSRV1_SUBSYSTEM,
   .class_name = NHDP_CLASS_LINK,
   .size = sizeof(struct link_hysteresis_data),
@@ -169,13 +169,13 @@ struct oonf_class_extension _link_extenstion = {
 };
 
 /* timer class to measure itime between Hellos */
-struct oonf_timer_class _hello_timer_info = {
+static struct oonf_timer_class _hello_timer_info = {
   .name = "Hello itime timeout for hysteresis",
   .callback = _cb_timer_hello_lost,
 };
 
 /* hysteresis handler */
-struct nhdp_hysteresis_handler _hysteresis_handler = {
+static struct nhdp_hysteresis_handler _hysteresis_handler = {
   .name = "hysteresis_olsrv1",
   .update_hysteresis = _cb_update_hysteresis,
   .is_pending = _cb_is_pending,
index b998c89..e6beadc 100644 (file)
@@ -46,9 +46,7 @@
 #ifndef HYSTERESIS_OONFV1_H_
 #define HYSTERESIS_OONFV1_H_
 
-#include "common/common_types.h"
-#include "core/oonf_subsystem.h"
-
+/*! subsystem identifier */
 #define OONF_HYSTERESIS_OLSRV1_SUBSYSTEM "hysteresis_olsrv1"
 
 #endif /* HYSTERESIS_OONFV1_H_ */
index c733e83..8f896c9 100644 (file)
 #ifndef NEIGHBOR_PROBING_H_
 #define NEIGHBOR_PROBING_H_
 
-#include "common/common_types.h"
-#include "core/oonf_subsystem.h"
-
+/*! subsystem identifier */
 #define OONF_NEIGHBOR_PROBING_SUBSYSTEM "neighbor_probing"
 
 enum {
-  /* message type for probing */
+  /*! message type for probing */
   RFC5444_MSGTYPE_PROBING = 192,
 
-  /* message specifc TLV */
+  /*! message specific probing TLV */
   RFC5444_MSGTLV_PROBING = 128,
 };
 
index 1f784a9..a6163bb 100644 (file)
@@ -101,9 +101,9 @@ static int _cb_validate_domain_section(const char *section_name,
 /* subsystem definition */
 static struct cfg_schema_entry _nhdp_entries[] = {
   CFG_MAP_STRING_ARRAY(_generic_parameters, flooding_mpr_name, "mpr", "*",
-      "ID of the mpr algorithm used for this domain. '"CFG_DOMAIN_NO_MPR"'"
-      " means no mpr algorithm (everyone is MPR), '"CFG_DOMAIN_ANY_MPR"' means"
-      " any metric that is loaded (with fallback on '"CFG_DOMAIN_NO_MPR"').",
+      "ID of the mpr algorithm used for this domain. '"CFG_DOMAIN_NO_METRIC_MPR"'"
+      " means no mpr algorithm (everyone is MPR), '"CFG_DOMAIN_ANY_METRIC_MPR"' means"
+      " any metric that is loaded (with fallback on '"CFG_DOMAIN_NO_METRIC_MPR"').",
       NHDP_DOMAIN_MPR_MAXLEN),
   CFG_MAP_INT32_MINMAX(_generic_parameters, mpr_willingness, "willingness",
       RFC7181_WILLINGNESS_DEFAULT_STRING,
@@ -138,15 +138,15 @@ static struct cfg_schema_section _interface_section = {
 };
 
 static struct cfg_schema_entry _domain_entries[] = {
-  CFG_MAP_STRING_ARRAY(_domain_parameters, metric_name, "metric", CFG_DOMAIN_ANY_METRIC,
-      "ID of the routing metric used for this domain. '"CFG_DOMAIN_NO_METRIC"'"
-      " means no metric (hopcount!), '"CFG_DOMAIN_ANY_METRIC"' means any metric"
-      " that is loaded (with fallback on '"CFG_DOMAIN_NO_METRIC"').",
+  CFG_MAP_STRING_ARRAY(_domain_parameters, metric_name, "metric", CFG_DOMAIN_ANY_METRIC_MPR,
+      "ID of the routing metric used for this domain. '"CFG_DOMAIN_NO_METRIC_MPR"'"
+      " means no metric (hopcount!), '"CFG_DOMAIN_ANY_METRIC_MPR"' means any metric"
+      " that is loaded (with fallback on '"CFG_DOMAIN_NO_METRIC_MPR"').",
       NHDP_DOMAIN_METRIC_MAXLEN),
-  CFG_MAP_STRING_ARRAY(_domain_parameters, mpr_name,  "mpr", CFG_DOMAIN_ANY_MPR,
-      "ID of the mpr algorithm used for this domain. '"CFG_DOMAIN_NO_MPR"'"
-      " means no mpr algorithm (everyone is MPR), '"CFG_DOMAIN_ANY_MPR"' means"
-      " any metric that is loaded (with fallback on '"CFG_DOMAIN_NO_MPR"').",
+  CFG_MAP_STRING_ARRAY(_domain_parameters, mpr_name,  "mpr", CFG_DOMAIN_ANY_METRIC_MPR,
+      "ID of the mpr algorithm used for this domain. '"CFG_DOMAIN_NO_METRIC_MPR"'"
+      " means no mpr algorithm (everyone is MPR), '"CFG_DOMAIN_ANY_METRIC_MPR"' means"
+      " any metric that is loaded (with fallback on '"CFG_DOMAIN_NO_METRIC_MPR"').",
       NHDP_DOMAIN_MPR_MAXLEN),
   CFG_MAP_INT32_MINMAX(_domain_parameters, mpr_willingness, "willingness",
       RFC7181_WILLINGNESS_DEFAULT_STRING, "Routing willingness used for MPR calculation",
index c9aa2c6..5d6bb63 100644 (file)
 #include "core/oonf_subsystem.h"
 #include "subsystems/oonf_rfc5444.h"
 
+/*! subsystem identifier */
 #define OONF_NHDP_SUBSYSTEM "nhdp"
 
+/*! configuration section for NHDP */
 #define CFG_NHDP_SECTION        "nhdp"
 
+/*! configuration section for NHDP domains */
 #define CFG_NHDP_DOMAIN_SECTION "domain"
+
+/*! default NHDP domain name */
 #define CFG_NHDP_DEFAULT_DOMAIN "0"
-#define CFG_DOMAIN_NO_METRIC    "-"
-#define CFG_DOMAIN_ANY_METRIC   "*"
-#define CFG_DOMAIN_NO_MPR       "-"
-#define CFG_DOMAIN_ANY_MPR      "*"
+
+/*! special name for 'no' metric/mpr */
+#define CFG_DOMAIN_NO_METRIC_MPR    "-"
+
+/*! special name for 'any' metric/mpr */
+#define CFG_DOMAIN_ANY_METRIC_MPR   "*"
 
 
 enum {
-  /* maximum number of metric domains */
+  /*! maximum number of metric domains */
   NHDP_MAXIMUM_DOMAINS = 4,
 
-  /* message tlv for transporting IPv4 originator in ipv6 messages */
+  /*! message tlv for transporting IPv4 originator in ipv6 messages */
   NHDP_MSGTLV_IPV4ORIGINATOR = 226,
 
-  /* message tlv for transporting mac address */
+  /*! message tlv for transporting mac address */
   NHDP_MSGTLV_MAC = 227,
 
-  /* Address TLV for custom link metric data */
+  /*! Address TLV for custom link metric data */
   NHDP_ADDRTLV_LQ_CUSTOM = 228,
 };
 
index 6eb8f9c..8636d97 100644 (file)
@@ -261,6 +261,10 @@ nhdp_db_neighbor_remove(struct nhdp_neighbor *neigh) {
   oonf_class_free(&_neigh_info, neigh);
 }
 
+/**
+ * Set a NHDP neighbor to unsymmetric
+ * @param neigh nhdp neighbor
+ */
 void
 nhdp_db_neighbor_set_unsymmetric(struct nhdp_neighbor *neigh) {
   struct nhdp_link *lnk;
@@ -561,6 +565,10 @@ nhdp_db_link_set_unsymmetric(struct nhdp_link *lnk) {
   oonf_class_event(&_link_info, lnk, OONF_OBJECT_CHANGED);
 }
 
+/**
+ * Remove a link from the nhdp database
+ * @param lnk nhdp link
+ */
 void
 nhdp_db_link_remove(struct nhdp_link *lnk) {
   struct nhdp_laddr *laddr, *la_it;
@@ -824,21 +832,37 @@ nhdp_db_link_status_to_string(struct nhdp_link *lnk) {
   }
 }
 
+/**
+ * get global list of nhdp neighbors
+ * @return neighbor list
+ */
 struct list_entity *
 nhdp_db_get_neigh_list(void) {
   return &_neigh_list;
 }
 
+/**
+ * get global list of nhdp links
+ * @return link list
+ */
 struct list_entity *
 nhdp_db_get_link_list(void) {
   return &_link_list;
 }
 
+/**
+ * get global tree of nhdp neighbor addresses
+ * @return neighbor address tree
+ */
 struct avl_tree *
 nhdp_db_get_naddr_tree(void) {
   return &_naddr_tree;
 }
 
+/**
+ * get global tree of nhdp originators
+ * @return originator tree
+ */
 struct avl_tree *
 nhdp_db_get_neigh_originator_tree(void) {
   return &_neigh_originator_tree;
index e7336c5..3103711 100644 (file)
@@ -60,20 +60,43 @@ struct nhdp_laddr;
 
 #include "nhdp/nhdp.h"
 
+/*! memory class for NHDP links */
 #define NHDP_CLASS_LINK             "nhdp_link"
+
+/*! memory class for NHDP link address */
 #define NHDP_CLASS_LINK_ADDRESS     "nhdp_laddr"
+
+/*! memory class for NHDP 2hop link */
 #define NHDP_CLASS_LINK_2HOP        "nhdp_l2hop"
+
+/*! memory class for NHDP neighbor */
 #define NHDP_CLASS_NEIGHBOR         "nhdp_neighbor"
+
+/*! memory class for NHDP neighbor address */
 #define NHDP_CLASS_NEIGHBOR_ADDRESS "nhdp_naddr"
 
+/**
+ * link status of NHDP neighbors
+ */
 enum nhdp_link_status {
-  NHDP_LINK_PENDING   = -1,                          //!< NHDP_LINK_PENDING
-  NHDP_LINK_LOST      = RFC6130_LINKSTATUS_LOST,     //!< NHDP_LINK_LOST
-  NHDP_LINK_SYMMETRIC = RFC6130_LINKSTATUS_SYMMETRIC,//!< NHDP_LINK_SYMMETRIC
-  NHDP_LINK_HEARD     = RFC6130_LINKSTATUS_HEARD,    //!< NHDP_LINK_HEARD
+  /*! link is pending */
+  NHDP_LINK_PENDING   = -1,
+
+  /*! link is lost */
+  NHDP_LINK_LOST      = RFC6130_LINKSTATUS_LOST,
+
+  /*! link is symmetric */
+  NHDP_LINK_SYMMETRIC = RFC6130_LINKSTATUS_SYMMETRIC,
+
+  /*! link has been heard */
+  NHDP_LINK_HEARD     = RFC6130_LINKSTATUS_HEARD,
 };
 
+/**
+ * NHDP db constants
+ */
 enum {
+  /*! maximum text length of link status */
   NHDP_LINK_STATUS_TXTLENGTH = 10
 };
 
index b304159..5912aef 100644 (file)
@@ -76,7 +76,7 @@ static const char *_path_to_string(struct nhdp_metric_str *, uint32_t, uint8_t);
 static const char *_int_to_string(struct nhdp_metric_str *, struct nhdp_link *);
 
 /* domain class */
-struct oonf_class _domain_class = {
+static struct oonf_class _domain_class = {
   .name = NHDP_CLASS_DOMAIN,
   .size = sizeof(struct nhdp_domain),
 };
@@ -118,7 +118,7 @@ static struct avl_tree _domain_metrics;
 static struct avl_tree _domain_mprs;
 
 /* flooding domain */
-struct nhdp_domain _flooding_domain;
+static struct nhdp_domain _flooding_domain;
 
 /* NHDP RFC5444 protocol */
 static struct oonf_rfc5444_protocol *_protocol;
@@ -860,16 +860,32 @@ nhdp_domain_set_incoming_metric(struct nhdp_domain_metric *metric,
   return changed;
 }
 
+/**
+ * get list of nhdp domains
+ * @return domain list
+ */
 struct list_entity *
 nhdp_domain_get_list(void) {
   return &_domain_list;
 }
 
+/**
+ * get list of nhdp domain listeners for metric/mpr changes
+ * @return listener list
+ */
 struct list_entity *
 nhdp_domain_get_listener_list(void) {
   return &_domain_listener_list;
 }
 
+/**
+ * get current NHDP flooding domain
+ * @return flooding domain
+ */
+const struct nhdp_domain *
+nhdp_domain_get_flooding(void) {
+  return &_flooding_domain;
+}
 
 /**
  * Recalculate the 'best link/metric' values of a neighbor
@@ -1034,7 +1050,7 @@ _apply_metric(struct nhdp_domain *domain, const char *metric_name) {
   }
 
   /* Handle wildcard metric name first */
-  if (strcasecmp(metric_name, CFG_DOMAIN_ANY_METRIC) == 0
+  if (strcasecmp(metric_name, CFG_DOMAIN_ANY_METRIC_MPR) == 0
       && !avl_is_empty(&_domain_metrics)) {
     metric_name = avl_first_element(&_domain_metrics, metric, _node)->name;
   }
@@ -1069,7 +1085,7 @@ _remove_metric(struct nhdp_domain *domain) {
   if (!domain->metric->_refcount && domain->metric->disable) {
     domain->metric->disable();
   }
-  strscpy(domain->metric_name, CFG_DOMAIN_NO_METRIC, sizeof(domain->metric_name));
+  strscpy(domain->metric_name, CFG_DOMAIN_NO_METRIC_MPR, sizeof(domain->metric_name));
   domain->metric = &_no_metric;
   domain->metric->_refcount++;
 }
@@ -1100,7 +1116,7 @@ _apply_mpr(struct nhdp_domain *domain, const char *mpr_name, uint8_t willingness
   }
 
   /* Handle wildcard mpr name first */
-  if (strcasecmp(mpr_name, CFG_DOMAIN_ANY_METRIC) == 0
+  if (strcasecmp(mpr_name, CFG_DOMAIN_ANY_METRIC_MPR) == 0
       && !avl_is_empty(&_domain_mprs)) {
     mpr_name = avl_first_element(&_domain_mprs, mpr, _node)->name;
   }
@@ -1135,7 +1151,7 @@ _remove_mpr(struct nhdp_domain *domain) {
   if (!domain->mpr->_refcount && domain->mpr->disable) {
     domain->mpr->disable();
   }
-  strscpy(domain->mpr_name, CFG_DOMAIN_NO_MPR, sizeof(domain->mpr_name));
+  strscpy(domain->mpr_name, CFG_DOMAIN_NO_METRIC_MPR, sizeof(domain->mpr_name));
   domain->mpr = &_everyone_mprs;
   domain->mpr->_refcount++;
 }
index 6fe66ee..ad9379f 100644 (file)
 #include "nhdp/nhdp_interfaces.h"
 #include "nhdp/nhdp_db.h"
 
+/*! memory class for nhdp domain */
 #define NHDP_CLASS_DOMAIN             "nhdp_domain"
 
-/* constants with maximum length of metric/mpr name */
+/**
+ * NHDP domain constants
+ */
 enum {
+  /*! maximum length of metric name */
   NHDP_DOMAIN_METRIC_MAXLEN = 16,
+
+  /*! maximum length of mpr name */
   NHDP_DOMAIN_MPR_MAXLEN = 16,
 };
 
index b725048..d789243 100644 (file)
@@ -59,7 +59,7 @@ static const char * _to_string(struct nhdp_hysteresis_str *buf,
     struct nhdp_link *lnk);
 
 /* default handler */
-struct nhdp_hysteresis_handler _handler = {
+static struct nhdp_hysteresis_handler _handler = {
   .name = "No NHDP hysteresis",
   .update_hysteresis = _update_hysteresis,
   .is_pending = _is_pending,
index 9ab93cc..4f98dfb 100644 (file)
@@ -105,6 +105,7 @@ static struct oonf_rfc5444_protocol *_protocol;
 
 /**
  * Initialize NHDP interface subsystem
+ * @param p rfc5444 protocol
  */
 void
 nhdp_interfaces_init(struct oonf_rfc5444_protocol *p) {
@@ -332,11 +333,19 @@ nhdp_interface_apply_settings(struct nhdp_interface *interf) {
   interf->i_hold_time = interf->n_hold_time;
 }
 
+/**
+ * get tree of NHDP interfaces
+ * @return interface tree
+ */
 struct avl_tree *
 nhdp_interface_get_tree(void) {
   return &_interface_tree;
 }
 
+/**
+ * get tree of NHDP interface addresses
+ * @return interface address tree
+ */
 struct avl_tree *
 nhdp_interface_get_address_tree(void) {
   return &_ifaddr_tree;
index 55883df..a739fc1 100644 (file)
@@ -61,7 +61,10 @@ struct nhdp_interface_domaindata;
 
 #include "nhdp/nhdp_db.h"
 
+/*! memory class for NHDP interface */
 #define NHDP_CLASS_INTERFACE         "nhdp_interf"
+
+/*! memory class for NHDP interface address */
 #define NHDP_CLASS_INTERFACE_ADDRESS "nhdp_iaddr"
 
 /**
index 764ff20..759975b 100644 (file)
@@ -87,9 +87,9 @@ static void _cleanup_error(void);
 static enum rfc5444_result _pass2_process_localif(struct netaddr *addr, uint8_t local_if);
 static void _handle_originator(struct rfc5444_reader_tlvblock_context *context);
 
-static enum rfc5444_result
-_cb_messagetlvs(struct rfc5444_reader_tlvblock_context *context);
-enum rfc5444_result _cb_failed_constraints(
+static enum rfc5444_result _cb_messagetlvs(
+    struct rfc5444_reader_tlvblock_context *context);
+static enum rfc5444_result _cb_failed_constraints(
       struct rfc5444_reader_tlvblock_context *context);
 
 static enum rfc5444_result
@@ -195,6 +195,7 @@ static struct {
 
 /**
  * Initialize nhdp reader
+ * @param p rfc5444 protocol
  */
 void
 nhdp_reader_init(struct oonf_rfc5444_protocol *p) {
@@ -471,7 +472,7 @@ _cb_messagetlvs(struct rfc5444_reader_tlvblock_context *context) {
   return RFC5444_OKAY;
 }
 
-enum rfc5444_result
+static enum rfc5444_result
 _cb_failed_constraints(struct rfc5444_reader_tlvblock_context *context __attribute__((unused))) {
 #ifdef OONF_LOG_INFO
   struct netaddr_str nbuf;
index 2353bcd..0a35d9c 100644 (file)
@@ -104,6 +104,8 @@ static struct nhdp_interface *_nhdp_if = NULL;
 
 /**
  * Initialize nhdp writer
+ * @param p rfc5444 protocol
+ * @return -1 if an error happened, 0 otherwise
  */
 int
 nhdp_writer_init(struct oonf_rfc5444_protocol *p) {
index 789c1d4..d381e59 100644 (file)
@@ -51,7 +51,6 @@
 
 int nhdp_writer_init(struct oonf_rfc5444_protocol *)
   __attribute__((warn_unused_result));
-void nhdp_writer_initiate_shutdown(void);
 void nhdp_writer_cleanup(void);
 
 EXPORT void nhdp_writer_send_hello(struct nhdp_interface *interf);
index b8194fe..0e1bf90 100644 (file)
@@ -46,9 +46,7 @@
 #ifndef NHDPCHECK_H_
 #define NHDPCHECK_H_
 
-#include "common/common_types.h"
-#include "core/oonf_subsystem.h"
-
+/*! subsystem identifier */
 #define OONF_NHDPCHECK_SUBSYSTEM "nhdpcheck"
 
 #endif /* NHDPCHECK_H_ */
index f653be8..504c6b7 100644 (file)
 /* Definitions */
 #define LOG_NHDPINFO _olsrv2_nhdpinfo_subsystem.logging
 
-/* name of telnet subcommands/JSON nodes */
-#define __JSON_NAME_INTERFACE     "interface"
-#define _JSON_NAME_IFADDR        "if_addr"
-#define _JSON_NAME_LINK          "link"
-#define _JSON_NAME_DOMAIN        "domain"
-#define _JSON_NAME_LADDR         "link_addr"
-#define _JSON_NAME_TWOHOP        "link_twohop"
-#define __JSON_NAME_NEIGHBOR      "neighbor"
-#define _JSON_NAME_NADDR         "neighbor_addr"
-
 /* prototypes */
 static int _init(void);
 static void _cleanup(void);
@@ -106,54 +96,137 @@ static int _cb_create_text_neighbor_address(struct oonf_viewer_template *);
  *
  * The keys are API, so they should not be changed after published
  */
-#define __KEY_IF                      "if"
+
+/*! template key for interface name */
+#define KEY_IF                      "if"
+
+/*! template key for interface IPv4 socket address */
 #define KEY_IF_BINDTO_V4            "if_bindto_v4"
+
+/*! template key for interface IPv6 socket address */
 #define KEY_IF_BINDTO_V6            "if_bindto_v6"
+
+/*! template key for interface MAP address */
 #define KEY_IF_MAC                  "if_mac"
+
+/*! template key for IPv4 flooding flag */
 #define KEY_IF_FLOODING_V4          "if_flooding_v4"
+
+/*! template key for IPv6 flooding flag */
 #define KEY_IF_FLOODING_V6          "if_flooding_v6"
+
+/*! template key for dualstack mode */
 #define KEY_IF_DUALSTACK_MODE       "if_dualstack_mode"
+
+/*! template key for an interface address */
 #define KEY_IF_ADDRESS              "if_address"
+
+/*! template key for a lost interface address */
 #define KEY_IF_ADDRESS_LOST         "if_address_lost"
+
+/*! template key for validity time of a lost interface address */
 #define KEY_IF_ADDRESS_LOST_VTIME   "if_address_lost_vtime"
 
+/*! template key for the links remote socket IP address */
 #define KEY_LINK_BINDTO             "link_bindto"
+
+/*! template key for the validity time of the link */
 #define KEY_LINK_VTIME_VALUE        "link_vtime_value"
+
+/*! template key for the interval time of the link */
 #define KEY_LINK_ITIME_VALUE        "link_itime_value"
+
+/*! template key for the time the link will still be symmetric */
 #define KEY_LINK_SYMTIME            "link_symtime"
+
+/*! template key for the time the link will still be heard */
 #define KEY_LINK_HEARDTIME          "link_heardtime"
+
+/*! template key for validity time of the link */
 #define KEY_LINK_VTIME              "link_vtime"
+
+/*! template key for link status */
 #define KEY_LINK_STATUS             "link_status"
+
+/*! template key for links local dualstack IP address */
 #define KEY_LINK_DUALSTACK          "link_dualstack"
+
+/*! template key for links remote mac address */
 #define KEY_LINK_MAC                "link_mac"
 
+/*! template key for a link IP address */
 #define KEY_LINK_ADDRESS            "link_address"
 
+/*! template key for an IP address of a two-hop link */
 #define KEY_TWOHOP_ADDRESS          "twohop_address"
+
+/*! template key for the flag to signal a two-hop link on the same interface */
 #define KEY_TWOHOP_SAMEIF           "twohop_same_interface"
+
+/*! template key for the validity time of a two-hop link */
 #define KEY_TWOHOP_VTIME            "twohop_vtime"
 
+/*! template key for neighbors originator IP */
 #define KEY_NEIGHBOR_ORIGINATOR     "neighbor_originator"
+
+/*! template key for neighbors dualstack originator IP */
 #define KEY_NEIGHBOR_DUALSTACK      "neighbor_dualstack"
+
+/*! template key signaling neighbor has selected node as flooding MPR */
 #define KEY_NEIGHBOR_FLOOD_LOCAL    "neighbor_flood_local"
+
+/*! template key signaling route has selected neighbor as flooding MPR */
 #define KEY_NEIGHBOR_FLOOD_REMOTE   "neighbor_flood_remote"
+
+/*! template key for number of symmetric links of neighbor */
 #define KEY_NEIGHBOR_SYMMETRIC      "neighbor_symmetric"
+
+/*! template key for number of links of neighbor */
 #define KEY_NEIGHBOR_LINKCOUNT      "neighbor_linkcount"
+
+/*! template key for neighbor flooding willingness */
 #define KEY_NEIGHBOR_FLOOD_WILL     "neighbor_flood_willingness"
+
+/*! template key for neighbor address */
 #define KEY_NEIGHBOR_ADDRESS        "neighbor_address"
+
+/*! template key for lost neighbor address */
 #define KEY_NEIGHBOR_ADDRESS_LOST   "neighbor_address_lost"
+
+/*! template key for validity time of lost neighbor address */
 #define KEY_NEIGHBOR_ADDRESS_VTIME  "neighbor_address_lost_vtime"
 
+/*! template key for NHDP domain */
 #define KEY_DOMAIN                  "domain"
+
+/*! template key for NHDP domain metric name */
 #define KEY_DOMAIN_METRIC           "domain_metric"
+
+/*! template key for incoming human readable metric */
 #define KEY_DOMAIN_METRIC_IN        "domain_metric_in"
+
+/*! template key for outgoing human readable metric */
 #define KEY_DOMAIN_METRIC_OUT       "domain_metric_out"
+
+/*! template key for incoming numeric metric */
 #define KEY_DOMAIN_METRIC_IN_RAW    "domain_metric_in_raw"
+
+/*! template key for outgoing numeric metric */
 #define KEY_DOMAIN_METRIC_OUT_RAW   "domain_metric_out_raw"
+
+/*! template key for internal metric representation */
 #define KEY_DOMAIN_METRIC_INTERNAL  "domain_metric_internal"
+
+/*! template key for NHDP domain MPR name */
 #define KEY_DOMAIN_MPR              "domain_mpr"
+
+/*! template key signaling local node is selected as routing MPR */
 #define KEY_DOMAIN_MPR_LOCAL        "domain_mpr_local"
+
+/*! template key signaling remote node has been selected as routing MPR */
 #define KEY_DOMAIN_MPR_REMOTE       "domain_mpr_remote"
+
+/*! template key for routing willingness */
 #define KEY_DOMAIN_MPR_WILL         "domain_mpr_willingness"
 
 /*
@@ -213,11 +286,11 @@ static char                       _value_domain_mpr_will[3];
 
 /* definition of the template data entries for JSON and table output */
 static struct abuf_template_data_entry _tde_if_key[] = {
-    { __KEY_IF, _value_if, true },
+    { KEY_IF, _value_if, true },
 };
 
 static struct abuf_template_data_entry _tde_if[] = {
-    { __KEY_IF, _value_if, true },
+    { KEY_IF, _value_if, true },
     { KEY_IF_BINDTO_V4, _value_if_bindto_v4.buf, true },
     { KEY_IF_BINDTO_V6, _value_if_bindto_v6.buf, true },
     { KEY_IF_MAC, _value_if_mac.buf, true },
@@ -347,43 +420,43 @@ static struct oonf_viewer_template _templates[] = {
     {
         .data = _td_if,
         .data_size = ARRAYSIZE(_td_if),
-        .json_name = __JSON_NAME_INTERFACE,
+        .json_name = "interface",
         .cb_function = _cb_create_text_interface,
     },
     {
         .data = _td_if_addr,
         .data_size = ARRAYSIZE(_td_if_addr),
-        .json_name = _JSON_NAME_IFADDR,
+        .json_name = "if_addr",
         .cb_function = _cb_create_text_if_address,
     },
     {
         .data = _td_link,
         .data_size = ARRAYSIZE(_td_link),
-        .json_name = _JSON_NAME_LINK,
+        .json_name = "link",
         .cb_function = _cb_create_text_link,
     },
     {
         .data = _td_link_addr,
         .data_size = ARRAYSIZE(_td_link_addr),
-        .json_name = _JSON_NAME_LADDR,
+        .json_name = "link_addr",
         .cb_function = _cb_create_text_link_address,
     },
     {
         .data = _td_twohop_addr,
         .data_size = ARRAYSIZE(_td_twohop_addr),
-        .json_name = _JSON_NAME_TWOHOP,
+        .json_name = "link_twohop",
         .cb_function = _cb_create_text_link_twohop,
     },
     {
         .data = _td_neigh,
         .data_size = ARRAYSIZE(_td_neigh),
-        .json_name = __JSON_NAME_NEIGHBOR,
+        .json_name = "neighbor",
         .cb_function = _cb_create_text_neighbor,
     },
     {
         .data = _td_neigh_addr,
         .data_size = ARRAYSIZE(_td_neigh_addr),
-        .json_name = _JSON_NAME_NADDR,
+        .json_name = "neighbor_addr",
         .cb_function = _cb_create_text_neighbor_address,
     }
 };
index 507fe24..b52783a 100644 (file)
@@ -46,9 +46,7 @@
 #ifndef NHDPINFO_H_
 #define NHDPINFO_H_
 
-#include "common/common_types.h"
-#include "core/oonf_subsystem.h"
-
+/*! subsystem identifier */
 #define OONF_NHDPINFO_SUBSYSTEM "nhdpinfo"
 
 #endif /* NHDPINFO_H_ */