topo_group: асимметричный старт BGP (JOIN_GROUP) + вынос group_id/flags из TOPO_NODE
- UTUN: BGP инициирует только сторона-клиент ([client]) и явные etcp_connect; сервер добавляет пира по JOIN_GROUP (фикс обратного маршрута: сервер не создавал узел клиента из-за дедупа senders_list) - topo_group_new_conn: conn_add_path до дедупа; handle_request_table без add_to_senders - TOPO_NODE: убраны group_id/flags (shared-реестр), передаются в topo_node_serialize - routing/control_server: явный TOPO_GROUP_UTUN - CHAT: гейт по peers_* (get_member_channels) + пассивное add/remove в member_sync - tests: тесты адаптированы (route_ping ждёт registry+v4_addrs) - chatgui-android: voice_recorder_init в utun_bridge_voice_start (idempotent)
This commit is contained in:
1 parent
7b73d99b5b
commit
656da48e35
20 files changed
+236
-46
No files matched your search
@@ -139,7 +139,7 @@ static inline int topo_list_count(struct _topo_head* head) { int n = 0; while (h
|
||||
struct TOPO_NODE {
|
||||
struct ll_entry ll;
|
||||
uint32_t group_ref_count;
|
||||
uint8_t flags; uint64_t group_id, node_id; uint8_t ver;
|
||||
uint64_t node_id; uint8_t ver;
|
||||
uint8_t public_key[SC_PUBKEY_SIZE], ed25519_public_key[SC_PUBKEY_SIZE];
|
||||
uint8_t x25519_self_sig[64];
|
||||
uint8_t client_type; // CLIENT_TYPE_SERVER/DESKTOP/MOBILE
|
||||
@@ -191,7 +191,9 @@ struct TOPO_GROUP_NODE* topo_node_find_by_id(struct TOPO_GROUP* group, uint64_t
|
||||
void topo_nodeq_free_group_fields(struct TOPO_GROUPS* groups, struct TOPO_GROUP_NODE* nq);
|
||||
|
||||
int topo_node_dyn_size(const struct TOPOMSG_NODE* msg);
|
||||
int topo_node_serialize(struct TOPO_NODE* ni, struct TOPO_GROUP_NODE* nq, uint8_t* out, size_t out_max, uint16_t cumulative_rtt);
|
||||
int topo_node_serialize(struct TOPO_NODE* ni, struct TOPO_GROUP_NODE* nq,
|
||||
uint64_t group_id, uint8_t flags,
|
||||
uint8_t* out, size_t out_max, uint16_t cumulative_rtt);
|
||||
int topo_node_deserialize(struct TOPO_GROUP* group, const uint8_t* data, size_t len, struct TOPO_NODE** out_ni, struct TOPO_NODESUBNETS** out_subnets,
|
||||
uint64_t** out_hop_list, uint8_t* out_hop_count,
|
||||
uint16_t* out_cumulative_rtt);
|
||||
|
||||
Reference in new issue
Block a user