From 3cb971fcbafaddbd9e5958af82e95293df2af11d Mon Sep 17 00:00:00 2001 From: evgeny Date: Sat, 17 Oct 2026 15:56:19 +0200 Subject: [PATCH] tests: wait for READY group routes before measuring NAT --- tests/stream_netns/nat_scenario.py | 4 +++- tests/stream_netns/node.c | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/stream_netns/nat_scenario.py b/tests/stream_netns/nat_scenario.py index 8093225e..d64a2c3c 100644 --- a/tests/stream_netns/nat_scenario.py +++ b/tests/stream_netns/nat_scenario.py @@ -25,8 +25,10 @@ def check_profiles(scenario): snapshot = agents[target.name].rpc("snapshot")["snapshot"] agents[source.name].rpc("nat_link", snapshot=snapshot, socket=transport) target_id = agents[target.name].identity + source_id = agents[source.name].identity scenario.wait(f"nat-link-{source.name}-{target.name}", - lambda data: target_id in data[source.name]["direct_up"], 20) + lambda data: target_id in data[source.name]["group_ready"] and + source_id in data[target.name]["group_ready"], 20) connected.add(pair) def store_owner(owner, observer): diff --git a/tests/stream_netns/node.c b/tests/stream_netns/node.c index 9794be4d..c26c58b6 100644 --- a/tests/stream_netns/node.c +++ b/tests/stream_netns/node.c @@ -224,6 +224,13 @@ static void statistics(struct lab *lab, uint64_t id, int loads) { if (connection && connection->links_up && !connection->close_requested && connection->state != 2) printf("%s\"%" PRIu64 "\"", separator++ ? "," : "", connection->peer_node_id); } + printf("],\"group_ready\":["); separator = 0; + struct TOPO_GROUP *nat_group = topo_groups_find(lab->inst->topo_groups, TOPO_GROUP_UTUN); + for (struct ll_entry *entry = nat_group ? nat_group->nodes->head : NULL; entry; entry = entry->next) { + uint64_t peer = ((struct TOPO_GROUP_NODE *)entry)->node_id; + if (peer != lab->inst->node_id && topo_group_peer_ready(nat_group, peer)) + printf("%s\"%" PRIu64 "\"", separator++ ? "," : "", peer); + } printf("],\"streams\":["); separator = 0; for (unsigned i = 0; i < LAB_STREAMS; i++) { struct lab_stream *stream = &lab->streams[i];