Файлы: route_node.* route_node_lmdb.* route_bgp.* -> topo_node.* topo_node_lmdb.* topo_bgp.* Структуры: - ROUTE_BGP -> TOPO_BGP, ROUTE_BGP_CONN_ITEM -> TOPO_BGP_CONN_ITEM - NODEINFO -> TOPO_NODE, NODEINFO_Q -> TOPO_NODEQ, NODEINFO_PATH -> TOPO_NODEPATH - NODEINFO_ROUTES -> TOPO_NODESUBNETS, NODE_CONNECTIVITY -> TOPO_CONNECTIVITY - wire: NODEINFO_MSG -> TOPOMSG_NODE, NODEINFO_IPV4_* -> TOPOMSG_*4 и т.д. - memory: NI_IPV4_* -> TOPO_*4, NI_IPV6_* -> TOPO_*6 - ROUTE_SUBCMD_* -> TOPO_SUBCMD_*, ETCP_ID_ROUTE_ENTRY -> ETCP_ID_TOPO_ENTRY Функции: - route_bgp_* -> topo_bgp_* - nodeinfo_* -> topo_node_* - route_node_* -> topo_node_* - route_node_lmdb_* -> topo_node_lmdb_* Смысл: отделение механизма формирования топологии узлов от IP-роутинга.
30 lines
866 B
C
30 lines
866 B
C
#ifndef ROUTE_CONNECTIVITY_H
|
|
#define ROUTE_CONNECTIVITY_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
#include <stdint.h>
|
|
#include "topo_node.h"
|
|
|
|
struct UTUN_INSTANCE;
|
|
|
|
// Запускает зондирование связности ко всем адресам удалённого узла
|
|
void route_connectivity_probe_node(struct UTUN_INSTANCE* instance,
|
|
struct TOPO_NODEQ* nq);
|
|
|
|
// Отменяет все pending пробы для узла (при удалении / withdraw)
|
|
void route_connectivity_cancel_node(struct UTUN_INSTANCE* instance,
|
|
struct TOPO_NODEQ* nq);
|
|
|
|
// Отменяет все pending пробы для всех узлов (при destroy)
|
|
void route_connectivity_cancel_all(struct UTUN_INSTANCE* instance);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif // ROUTE_CONNECTIVITY_H
|