#include "lq_plugin.h"#include "tc_set.h"#include "link_set.h"#include "olsr_spf.h"#include "lq_packet.h"#include "olsr.h"#include "olsr_memcookie.h"#include "common/avl.h"#include "common/string.h"#include "olsr_logging.h"#include "neighbor_table.h"#include "assert.h"
Go to the source code of this file.
| void deinit_lq_handler | ( | void | ) |
Definition at line 86 of file lq_plugin.c.
References lq_handler::deinitialize.
Referenced by olsr_shutdown().
| void init_lq_handler | ( | void | ) |
Definition at line 63 of file lq_plugin.c.
References lq_handler::initialize, LOG_LQ_PLUGINS, lq_handler::name, OLSR_ERROR, olsr_exit(), OLSR_INFO, olsr_memcookie_add(), lq_handler::size_link_entry, lq_handler::size_lq_hello_neighbor, and lq_handler::size_tc_edge.
Referenced by main().

| static void internal_clear_tc_edge_lq | ( | struct tc_edge_entry * | edge | ) | [static] |
Definition at line 187 of file lq_plugin.c.
References lq_handler::clear_tc_edge_entry, and lq_handler::size_tc_edge.
Referenced by olsr_neighbor_cost_may_changed().
| olsr_linkcost olsr_calc_tc_cost | ( | struct tc_edge_entry * | tc_edge | ) |
Definition at line 105 of file lq_plugin.c.
References lq_handler::calc_tc_edge_entry_cost.
Referenced by olsr_add_tc_edge_entry(), and olsr_tc_update_edge().
| void olsr_deserialize_hello_lq_pair | ( | const uint8_t ** | curr, | |
| struct lq_hello_neighbor * | neigh | |||
| ) |
Definition at line 135 of file lq_plugin.c.
References lq_handler::calc_lq_hello_neighbor_cost, lq_hello_neighbor::cost, and lq_handler::deserialize_hello_lq.
Referenced by deserialize_hello().
| void olsr_deserialize_tc_lq_pair | ( | const uint8_t ** | curr, | |
| struct tc_edge_entry * | edge | |||
| ) |
Definition at line 165 of file lq_plugin.c.
References lq_handler::deserialize_tc_lq.
Referenced by olsr_tc_update_edge().
| void olsr_free_link_entry | ( | struct link_entry * | link | ) |
olsr_free_link_entry
this functions free a link_entry inclusive linkquality data
| pointer | to link_entry |
Definition at line 439 of file lq_plugin.c.
References olsr_memcookie_free().
Referenced by olsr_delete_link_entry().

| void olsr_free_lq_hello_neighbor | ( | struct lq_hello_neighbor * | neigh | ) |
olsr_free_lq_hello_neighbor
this functions free a lq_hello_neighbor inclusive linkquality data
| pointer | to lq_hello_neighbor |
Definition at line 452 of file lq_plugin.c.
References olsr_memcookie_free().
Referenced by deserialize_hello(), and destroy_lq_hello().

| void olsr_free_tc_edge_entry | ( | struct tc_edge_entry * | edge | ) |
olsr_free_tc_edge_entry
this functions free a tc_edge_entry inclusive linkquality data
| pointer | to tc_edge_entry |
Definition at line 465 of file lq_plugin.c.
References olsr_memcookie_free().
Referenced by internal_delete_tc_edge_entry().

| uint8_t olsr_get_Hello_MessageId | ( | void | ) |
olsr_get_Hello_MessageId
Definition at line 476 of file lq_plugin.c.
References lq_handler::messageid_hello.
Referenced by generate_hello(), and olsr_init_package_process().
| const char* olsr_get_linkcost_text | ( | olsr_linkcost | cost, | |
| bool | route, | |||
| char * | buffer, | |||
| size_t | bufsize | |||
| ) |
Definition at line 254 of file lq_plugin.c.
References LINK_COST_BROKEN, lq_handler::print_cost, ROUTE_COST_BROKEN, and strscpy().
Referenced by build_neigh_body(), build_route(), build_topo_body(), FindNeighbors(), ipc_print_neigh_link(), ipc_print_tc_link(), mapwrite_work(), olsr_get_linkdata_text(), olsr_print_link_set(), olsr_print_neighbor_table(), olsr_print_routing_table(), olsr_print_tc_table(), olsr_rtp_to_string(), olsr_spf_add_cand_tree(), olsr_spf_add_path_list(), olsr_spf_del_cand_tree(), olsr_spf_relax(), olsr_tc_edge_to_string(), select_best_nameserver(), txtinfo_link(), txtinfo_neigh2(), txtinfo_routes(), txtinfo_topology(), and write_resolv_file().

| enum lq_linkdata_quality olsr_get_linkdata_quality | ( | struct link_entry * | link, | |
| int | idx | |||
| ) |
Definition at line 340 of file lq_plugin.c.
References lq_linkdata_type::average, lq_linkdata_type::best, lq_handler::get_link_entry_data, lq_linkdata_type::good, lq_handler::linkdata_hello, LQ_QUALITY_AVERAGE, LQ_QUALITY_BAD, LQ_QUALITY_BEST, LQ_QUALITY_GOOD, LQ_QUALITY_WORST, and lq_linkdata_type::worst.
| const char* olsr_get_linkdata_text | ( | struct link_entry * | entry, | |
| int | idx, | |||
| char * | buffer, | |||
| size_t | bufsize | |||
| ) |
Definition at line 284 of file lq_plugin.c.
References link_entry::linkcost, olsr_get_linkcost_text(), and lq_handler::print_link_entry_lq.
Referenced by build_neigh_body(), olsr_print_link_set(), and txtinfo_link().

| const char* olsr_get_linklabel | ( | int | idx | ) |
Definition at line 301 of file lq_plugin.c.
References lq_handler::linkdata_hello, and lq_linkdata_type::name.
Referenced by build_neigh_body(), olsr_print_link_set(), olsr_print_tc_table(), txtinfo_enable(), txtinfo_routes(), and txtinfo_topology().
| size_t olsr_get_linklabel_count | ( | void | ) |
Definition at line 326 of file lq_plugin.c.
References lq_handler::linkdata_hello_count.
Referenced by build_neigh_body(), olsr_print_link_set(), txtinfo_enable(), and txtinfo_link().
| size_t olsr_get_linklabel_maxlength | ( | int | idx | ) |
Definition at line 316 of file lq_plugin.c.
References lq_handler::linkdata_hello, and lq_linkdata_type::name_maxlen.
Referenced by olsr_print_link_set(), and olsr_print_tc_table().
| uint8_t olsr_get_TC_MessageId | ( | void | ) |
olsr_get_TC_MessageId
Definition at line 487 of file lq_plugin.c.
References lq_handler::messageid_tc.
Referenced by olsr_init_package_process(), olsr_input_tc(), and olsr_output_lq_tc_internal().
| void olsr_lq_hello_handler | ( | struct link_entry * | entry, | |
| bool | lost | |||
| ) |
Definition at line 181 of file lq_plugin.c.
References lq_handler::hello_handler.
Referenced by olsr_expire_link_loss_timer(), and olsr_update_packet_loss().
| struct link_entry* olsr_malloc_link_entry | ( | void | ) | [read] |
Definition at line 421 of file lq_plugin.c.
References lq_handler::clear_link_entry, and olsr_memcookie_malloc().
Referenced by add_link_entry().

| struct lq_hello_neighbor* olsr_malloc_lq_hello_neighbor | ( | void | ) | [read] |
Definition at line 402 of file lq_plugin.c.
References lq_handler::clear_lq_hello_neighbor, and olsr_memcookie_malloc().
Referenced by deserialize_hello().

| struct tc_edge_entry* olsr_malloc_tc_edge_entry | ( | void | ) | [read] |
Definition at line 383 of file lq_plugin.c.
References lq_handler::clear_tc_edge_entry, and olsr_memcookie_malloc().
Referenced by olsr_add_tc_edge_entry().

| void olsr_memorize_foreign_hello_lq | ( | struct link_entry * | local, | |
| struct lq_hello_neighbor * | foreign | |||
| ) |
Definition at line 236 of file lq_plugin.c.
References lq_handler::memorize_foreign_hello.
Referenced by hello_tap().
| void olsr_neighbor_cost_may_changed | ( | struct nbr_entry * | nbr | ) |
Definition at line 200 of file lq_plugin.c.
References changes_neighborhood, changes_topology, lq_handler::copy_link_entry_lq_into_tc_edge_entry, tc_edge_entry::cost, get_best_link_to_neighbor(), internal_clear_tc_edge_lq(), LINK_COST_BROKEN, link_entry::linkcost, signal_link_changes(), and nbr_entry::tc_edge.
Referenced by lq_etxff_timer(), lq_etxfloat_hello_handler(), lq_etxfpm_hello_handler(), and lq_rfc_packet_loss_handler().

| void olsr_serialize_hello_lq_pair | ( | uint8_t ** | buff, | |
| struct link_entry * | link | |||
| ) |
Definition at line 120 of file lq_plugin.c.
References lq_handler::serialize_hello_lq.
Referenced by generate_hello().
| void olsr_serialize_tc_lq | ( | unsigned char ** | curr, | |
| struct link_entry * | lnk | |||
| ) |
Definition at line 151 of file lq_plugin.c.
References lq_handler::serialize_tc_lq.
Referenced by olsr_output_lq_tc_internal().
| size_t olsr_sizeof_HelloLQ | ( | void | ) |
olsr_sizeof_HelloLQ
Definition at line 498 of file lq_plugin.c.
References lq_handler::serialized_lqhello_size.
Referenced by deserialize_hello().
| size_t olsr_sizeof_TCLQ | ( | void | ) |
olsr_sizeof_TCLQ
Definition at line 508 of file lq_plugin.c.
References lq_handler::serialized_lqtc_size.
Referenced by olsr_input_tc(), and olsr_output_lq_tc_internal().
| struct lq_handler* active_lq_handler = NULL |
Definition at line 56 of file lq_plugin.c.
Referenced by lq_etxff_enable(), lq_etxfloat_enable(), lq_etxfpm_enable(), and lq_rfc_enable().
struct olsr_memcookie_info* link_entry_mem_cookie = NULL [static] |
Definition at line 60 of file lq_plugin.c.
struct olsr_memcookie_info* lq_hello_neighbor_mem_cookie = NULL [static] |
Definition at line 59 of file lq_plugin.c.
struct olsr_memcookie_info* tc_edge_mem_cookie = NULL [static] |
Definition at line 58 of file lq_plugin.c.
1.6.3