docs: update file inventory and module header contracts

Refresh both AGENTS guides and clarify module purpose, usage, ownership, threading, return values and wire formats in headers. Remove the unused timeout_heap freed_count field and unimplemented getter.
This commit is contained in:
evgeny committed 2026-10-04 13:10:01 +02:00
1 parent c19eff67f6
commit a97e8bcc1f
118 files changed
+628 -406

No files matched your search

+4 -29
View File
@@ -1,3 +1,7 @@
/* route6_lib — локальная IPv6-таблица подсетей на BSD radix с longest-prefix lookup.
* Очередь индексирует записи по node_id для удаления всех подсетей узла; TOPO_GROUP_NODE заимствован.
* create/insert/lookup/delete/destroy — в одном uasync-потоке; маршруты удалять до освобождения узла.
* addr — 16 сетевых байтов. Результат lookup принадлежит таблице и живёт до удаления записи/destroy. */
#ifndef ROUTE6_LIB_H
#define ROUTE6_LIB_H
@@ -13,36 +17,7 @@ extern "C" {
#include "../lib/u_async.h"
/*
Диапазон Назначение
::/128 Неопределенный адрес (unspecified). Используется до назначения адреса интерфейсу.
::1/128 Адрес обратной петли (loopback), аналог 127.0.0.1 в IPv4.
2000::/3 Глобально маршрутизируемые (Global Unicast) адреса. Основное адресное пространство Интернета.
fc00::/7 Уникальные локальные адреса (ULA), аналог частных IPv4 (10.0.0.0/8, 192.168.0.0/16). На практике обычно используется fd00::/8.
fe80::/10 Локальные канальные адреса (Link-Local). Автоматически назначаются интерфейсам и работают только в пределах одного сегмента сети. Не маршрутизируются.
ff00::/8 Multicast-адреса. Используются вместо широковещания (broadcast), которого в IPv6 нет.
100::/64 Адреса для протокола Discard-Only. Предназначены для тестирования и отладки.
64:ff9b::/96 Префикс для трансляции IPv4↔IPv6 (NAT64).
64:ff9b:1::/48 Расширенный префикс NAT64.
2001:db8::/32 Зарезервирован для документации и примеров. Не используется в Интернете.
2002::/16 6to4-адреса (устаревший механизм перехода с IPv4 на IPv6).
2001::/32 Teredo (устаревшая технология туннелирования IPv6 через IPv4).
::ffff:0:0/96 IPv4-mapped IPv6 addresses. Используются ОС для представления IPv4-адресов в IPv6 API.
Адреса узлов сети формируются по следующему принципу:
FCxx:xxxx:xxxx:xxxx : yyyy:yyyy:yyyy:yyyy - local network: x = network id, y - node id.
-- network id --- ---- node id ------
FDxx/8 - опциональные ipv6 подсети узлов /64 (если нужно)
В разных node_groups общие:
- nodelists с их настройками (глобальная таблица)
- одинаковые линки между nodes (т.к. только один линк между парой узлов)
- При маршрутизации используем только узлы
*/
// таблица маршрутизации IPv6 на radix tree + ll_queue (поиск по node_id для удаления)