etcp_router: add congestion counters, fix tx_seq rollback on etcp_send failure, add router metrics to etcpmon GUI
- etcp_router.h: add 9 per-conn counters (pkts_sent/err/rcvd, ack_sent/recv/stale, dup/oob/sign_fail) - etcp_router.c: increment counters at 13 event points; fix tx_seq rollback on etcp_send failure (was causing phantom inflight=256 deadlock); add DEBUG_ERROR on all 5 ignored etcp_send returns; fix router_ack_do_send to update timestamps only on success - etcpmon_protocol.h: add etcpmon_router_metrics (14 aggregated fields) - control_server.c: iterate router_conns to fill aggregated router metrics - etcpmon_gui: new 'Router Congestion' block with queue depths and all counters, Debug Levels shifted down, window 1300->1440 - test_etcp_router_unit: fix test_ack_timer for correct no-BGP-route behavior
This commit is contained in:
1 parent
de8cce521a
commit
7329fa65f1
7 files changed
+229
-23
No files matched your search
@@ -525,12 +525,8 @@ static int test_ack_timer(void) {
|
||||
uint8_t data[] = { TEST_SVC_ID, 0x55, 0 };
|
||||
inject(recv_cb, &inst, TEST_REMOTE_NODE, TEST_SVC_ID, 0, data + 1, 2, 0, 0);
|
||||
|
||||
if (c->ack_timer == NULL && c->last_sent_ack_seq != 1) FAIL("ack not sent (no timer, no immediate)");
|
||||
if (c->ack_timer != NULL && c->last_sent_ack_seq != 0) FAIL("last_sent_ack_seq changed before timer fired");
|
||||
|
||||
// Cancel timer manually (it would fire in real event loop)
|
||||
if (c->ack_timer) uasync_cancel_timeout(ua, c->ack_timer);
|
||||
c->ack_timer = NULL;
|
||||
if (c->ack_timer != NULL) FAIL("ack_timer set without BGP route");
|
||||
if (c->last_sent_ack_seq != 0) FAIL("last_sent_ack_seq changed without BGP route");
|
||||
|
||||
etcp_router_conn_close(c);
|
||||
TEARDOWN();
|
||||
|
||||
Reference in new issue
Block a user