fix: etcp_router_consumer_ack — use router_ack_do_send instead of schedule

router_schedule_ack skips when rx_seq==last_sent_ack_seq (no-op),
so the first consumer_ack call after setting consumer_ack=1 was
silently ignored. Client never got ACK → send_q stuck at 256.

router_ack_do_send always sends the ACK unconditionally.
This commit is contained in:
Evgeny committed 2026-06-03 19:20:06 +03:00
1 parent 4716641dff
commit e4e5ed71f8
1 file changed
+1 -1
+1 -1
View File
@@ -557,7 +557,7 @@ void etcp_router_consumer_ack(struct UTUN_INSTANCE* inst, uint64_t remote_node_i
struct ETCP_ROUTER_CONN* rconn = etcp_router_conn_get(inst, remote_node_id, svc_id);
if (!rconn) return;
rconn->consumer_ack = 1;
router_schedule_ack(rconn);
router_ack_do_send(rconn);
}
// ====================================================================