ETCP: реализация keepalive пакетов для каждого линка

- Добавлены поля keepalive_timer и pkt_sent_since_keepalive в struct ETCP_LINK
- Реализована отправка пустых keepalive пакетов (только timestamp) по таймеру
- Keepalive пропускается если был отправлен другой пакет с момента последнего тика
- Таймер запускается после инициализации линка (keepalive_interval из конфига)
- Исправлен тест test_bgp_route_exchange: убран лишний htonl() при проверке маршрутов
This commit is contained in:
Evgeny committed 2026-02-16 19:17:47 +03:00
1 parent 232bd49309
commit 15a9521559
3 files changed
+99 -3

No files matched your search

+3 -2
View File
@@ -245,14 +245,15 @@ static int verify_bgp_exchange(void) {
// Check server learned client's routes (192.168.20.0/24, 192.168.21.0/24)
DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Checking server learned client's routes...");
if (!check_learned_route(server_instance, htonl(0xC0A81400), 24, 0x2222222222222222ULL)) {
// Note: Routes are stored in host byte order, not network byte order
if (!check_learned_route(server_instance, 0xC0A81400, 24, 0x2222222222222222ULL)) {
DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "FAIL: Server missing learned route 192.168.20.0/24");
success = 0;
} else {
DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "PASS: Server has learned route 192.168.20.0/24");
}
if (!check_learned_route(server_instance, htonl(0xC0A81500), 24, 0x2222222222222222ULL)) {
if (!check_learned_route(server_instance, 0xC0A81500, 24, 0x2222222222222222ULL)) {
DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "FAIL: Server missing learned route 192.168.21.0/24");
success = 0;
} else {