)]}'
{"id":"openvpn~1748","triplet_id":"openvpn~master~I375a41749060b7d006647bc27002c55436c8a8bb","project":"openvpn","branch":"master","topic":"oob-server-probe","attention_set":{"1000008":{"account":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"last_update":"2026-09-17 13:15:25.000000000","reason":"\u003cGERRIT_ACCOUNT_1000041\u003e replied on the change","reason_account":{"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"}}},"removed_from_attention_set":{"1000003":{"account":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"last_update":"2026-09-17 13:18:02.000000000","reason":"\u003cGERRIT_ACCOUNT_1000003\u003e replied on the change","reason_account":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"}},"1000041":{"account":{"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"},"last_update":"2026-09-17 13:15:25.000000000","reason":"\u003cGERRIT_ACCOUNT_1000041\u003e replied on the change","reason_account":{"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"}}},"hashtags":[],"change_id":"I375a41749060b7d006647bc27002c55436c8a8bb","subject":"oob: Measure probe RTT for candidate-band selection","status":"NEW","created":"2026-06-29 07:58:31.000000000","updated":"2026-09-17 13:18:02.000000000","submit_type":"CHERRY_PICK","submittable":false,"total_comment_count":5,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"2ad312378f69e3161ad25e73cf90b61c0cf7a3be","_number":1748,"virtual_id_number":1748,"owner":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"actions":{},"labels":{"Code-Review":{"recommended":{"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"},"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},{"value":1,"date":"2026-09-17 13:15:25.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"}],"values":{"-2":"This shall not be submitted","-1":"I would prefer this is not submitted as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","value":1,"default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},{"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"}],"CC":[{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-29 07:58:38.000000000","updated_by":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"reviewer":{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"},"state":"CC"},{"updated":"2026-06-29 07:58:38.000000000","updated_by":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"reviewer":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"state":"REVIEWER"},{"updated":"2026-09-11 15:24:54.000000000","updated_by":{"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"},"reviewer":{"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"},"state":"REVIEWER"}],"messages":[{"id":"ac0e4d5942a666390d227f038ea6cc3342aefce9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-06-29 07:58:31.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0cb057276636d400b5eef01eb75d54c349c4b65b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-06-29 12:08:26.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"d805f325d209283cbd304888be1314340041530d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-06-29 12:37:47.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"980db3c4eb6d52fab935909e427b1fd871946900","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-02 12:30:33.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"9e15b991b5ac8328d52cbf3a15f5ade378ab083a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-06 06:50:47.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"ff5ea98fd7248974afd8dbfd751742cf862db9b4","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-06 07:11:38.000000000","message":"Topic set to oob-server-probe","accounts_in_message":[],"_revision_number":5},{"id":"7643e54ccd06b95e316a1f6c63f0fef450e3a32e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-06 08:22:28.000000000","message":"Uploaded patch set 6: Patch Set 5 was rebased.","accounts_in_message":[],"_revision_number":6},{"id":"55c509e926c5b0a34398dd8d5a187e36e867349c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-09 13:47:21.000000000","message":"Uploaded patch set 7: Patch Set 6 was rebased.","accounts_in_message":[],"_revision_number":7},{"id":"b30e30901f2f2eb8b751193b2913f5b12566df78","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-14 08:14:41.000000000","message":"Uploaded patch set 8: New patch set was added with same tree, parent tree, and commit message as Patch Set 7.","accounts_in_message":[],"_revision_number":8},{"id":"2785920a7863a53d7d51c97758382540d552a1f1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-14 12:32:24.000000000","message":"Uploaded patch set 9: Patch Set 8 was rebased.","accounts_in_message":[],"_revision_number":9},{"id":"20424b41eec9b73674629c00ada9ea76f7fd6b84","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-16 07:54:14.000000000","message":"Uploaded patch set 10: Patch Set 9 was rebased.","accounts_in_message":[],"_revision_number":10},{"id":"f40f18c1a44c305bb221d8cee9db01ee92b0355b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-16 08:09:01.000000000","message":"Uploaded patch set 11: Patch Set 10 was rebased.","accounts_in_message":[],"_revision_number":11},{"id":"f07644a9d6b1df6dda3b5ed7251c4d3f32931791","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-21 12:35:24.000000000","message":"Uploaded patch set 12: Patch Set 11 was rebased.","accounts_in_message":[],"_revision_number":12},{"id":"1cd6d42b69d07ab9e8f2787d6994be0758cda75a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-28 15:03:23.000000000","message":"Uploaded patch set 13: Patch Set 12 was rebased.","accounts_in_message":[],"_revision_number":13},{"id":"125f554c078a9afb9e42997ee1e050258b25f25d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-07-29 12:22:54.000000000","message":"Uploaded patch set 14.","accounts_in_message":[],"_revision_number":14},{"id":"ed29fbc64c5eac53d5ab2d817070f230ae5526f9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-08-04 08:10:28.000000000","message":"Uploaded patch set 15: Patch Set 14 was rebased.","accounts_in_message":[],"_revision_number":15},{"id":"77e3879c171195fe2b59daf7b40a6d3d188b546d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-08-28 12:51:00.000000000","message":"Uploaded patch set 16.","accounts_in_message":[],"_revision_number":16},{"id":"373c84c2b5ed720dfc186d64295c102a66591350","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-09 07:27:02.000000000","message":"Uploaded patch set 17: Patch Set 16 was rebased.","accounts_in_message":[],"_revision_number":17},{"id":"c8ce056c3c082324d5eddd5293a0d11dccfadddb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-11 08:18:16.000000000","message":"Uploaded patch set 18.","accounts_in_message":[],"_revision_number":18},{"id":"d2326a9e41c32a69bae0d6576815882f15ffa989","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-11 09:11:03.000000000","message":"Uploaded patch set 19: Patch Set 18 was rebased.","accounts_in_message":[],"_revision_number":19},{"id":"d7e9941645ecbb18fa810e00e68c7450532b748c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-11 15:23:13.000000000","message":"Uploaded patch set 20: Patch Set 19 was rebased. Commit message was updated.","accounts_in_message":[],"_revision_number":20},{"id":"fd1d2aae6b87792872761a85ed7d8c7a75d25869","author":{"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"},"date":"2026-09-11 15:24:54.000000000","message":"Patch Set 20: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":20},{"id":"d9ed02d8e6b2ea7bc4f907d7935616f14bef6092","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-12 07:08:46.000000000","message":"Uploaded patch set 21: Patch Set 20 was rebased.\n\nCopied Votes:\n* Code-Review-1 (copy condition: \"changekind:NO_CHANGE OR **changekind:TRIVIAL_REBASE** OR is:MIN\")\n","accounts_in_message":[],"_revision_number":21},{"id":"5ca99ccfe284ebdb14efa2bdea3053a0910ad354","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-14 14:18:32.000000000","message":"Uploaded patch set 22.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:NO_CHANGE OR changekind:TRIVIAL_REBASE OR is:MIN\")\n","accounts_in_message":[],"_revision_number":22},{"id":"42992afb083d63f257468f795faee833181ca3cb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-15 12:59:19.000000000","message":"Uploaded patch set 23.","accounts_in_message":[],"_revision_number":23},{"id":"0f284129b121672811ae484a461026239066e3e4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-17 07:01:11.000000000","message":"Uploaded patch set 24: Patch Set 23 was rebased.","accounts_in_message":[],"_revision_number":24},{"id":"cb9af9cf51e62948daa90095d76498101844d489","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-17 07:59:49.000000000","message":"Patch Set 24:\n\n(2 comments)","accounts_in_message":[],"_revision_number":24},{"id":"ea379e6e3c900089105e3b84cfe703e6867054e5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-17 11:30:36.000000000","message":"Uploaded patch set 25: Patch Set 24 was rebased.","accounts_in_message":[],"_revision_number":25},{"id":"e4996f804e2b08fdddd3deb207c76abb4266b253","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"date":"2026-09-17 12:28:12.000000000","message":"Uploaded patch set 26.","accounts_in_message":[],"_revision_number":26},{"id":"48d18acb86595001cbbb0e82699bbb349ab32fa4","author":{"_account_id":1000041,"name":"ralf_lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"},"date":"2026-09-17 13:15:25.000000000","message":"Patch Set 26: Code-Review+1","accounts_in_message":[],"_revision_number":26},{"id":"2ad312378f69e3161ad25e73cf90b61c0cf7a3be","author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"date":"2026-09-17 13:18:02.000000000","message":"Patch Set 26:\n\n(1 comment)","accounts_in_message":[],"_revision_number":26}],"current_revision_number":26,"current_revision":"5fc002eff7bf1be5478dae6e28a336f1bc904b06","revisions":{"e56c7d39e606b11b39bb35fc225c5091e99f8917":{"kind":"REWORK","_number":1,"created":"2026-06-29 07:58:31.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/1","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/1","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/1 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/1","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"577a0d1d7afdf2b6f17f2595c5b72401dc6fb5d2","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-29 07:58:03.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"136ac8eb135ca56b0f1e7d30ce955dc627a1f5f6":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-06-29 12:08:26.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/2","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/2","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/2 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/2","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"8056a449f5a2a25c9a9c8ef191a3648a40177b0d","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-29 11:45:13.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"8dfb48f684b4e87cabe86639fa81a83895297f4f":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-06-29 12:37:47.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/3","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/3","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/3 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/3","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"412d78bef9b38f9b5cdfc7b10cce2d6c85c0fbda","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-29 12:32:06.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"ec8570f762f19242f95856f2a20789a97e3ca227":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2026-07-02 12:30:33.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/4","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/4","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/4 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/4","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"e9a53b6caf34f4a17daec54368fe1d62c1215248","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-02 12:11:48.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"9e0e57163f64ccf8b13259b8873959ad2a40b119":{"kind":"REWORK","_number":5,"created":"2026-07-06 06:50:47.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/5","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/5","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/5 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/5","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/5 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"b8fe6e45a2f7c60c5f6e6f862b868522b598fad7","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-03 09:40:26.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"2577d3b36d3c1de3f472af7989871e200d403237":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2026-07-06 08:22:28.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/6","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/6","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/6 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/6","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/6 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"dd46a47bcfe23c4f972a0435811b5b50b556f5ae","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-06 08:20:50.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"3e97ea48d3bbcdb1fd9126e203cc11a2e601bbd1":{"kind":"TRIVIAL_REBASE","_number":7,"created":"2026-07-09 13:47:21.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/7","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/7","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/7 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/7","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/7 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"4b9956bcaa99bf01d59763bfef7dd68f95c93860","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-09 13:39:43.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"57ff3616e9adc84120ac2b55557714e46c5b07ab":{"kind":"NO_CHANGE","_number":8,"created":"2026-07-14 08:14:41.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/8","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/8","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/8 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/8","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/8 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"e316b1fe016509980ea804ef9df8cf21e814e84f","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-14 08:13:52.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"3d7c8c2b4eef23b38c7c65148f0f55b1c327c15a":{"kind":"TRIVIAL_REBASE","_number":9,"created":"2026-07-14 12:32:24.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/9","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/9","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/9 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/9","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/9 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"223d9f1687bb55bba58ef402fe591812112c3d53","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-14 12:14:32.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"248fa1083d64edd1d8714ab28292d7b6bb8d9ea7":{"kind":"TRIVIAL_REBASE","_number":10,"created":"2026-07-16 07:54:14.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/10","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/10","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/10 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/10","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/10 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"f09ba1cf54b425f939b957f07306c2b0ff615ed1","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-16 07:41:38.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"a8e1b1fe12dd67e2b2c02a0bd3a1b4ddc800ce73":{"kind":"TRIVIAL_REBASE","_number":11,"created":"2026-07-16 08:09:01.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/11","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/11","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/11 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/11","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/11 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"d821eb9ade1afe1b4dfd609bcafc8e466052566c","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-16 08:08:35.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"8fd65dcc0100701c0550418ffd2663f5d493d78a":{"kind":"TRIVIAL_REBASE","_number":12,"created":"2026-07-21 12:35:24.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/12","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/12","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/12 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/12","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/12 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"fa0662c59c8aeb68e551f4d535b5b867fda5cda8","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-21 12:30:45.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"99be1f236caf0860a6a89c1c983eed7032f76dc3":{"kind":"TRIVIAL_REBASE","_number":13,"created":"2026-07-28 15:03:23.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/13","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/13","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/13 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/13","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/13 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"9071ea5b0b8a6630f88b8e93a8bd7c2b313d852f","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-28 15:00:13.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"98a72dc7618f9cf64e37189852a1dc768c91b476":{"kind":"REWORK","_number":14,"created":"2026-07-29 12:22:54.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/14","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/14","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/14 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/14","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/14 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"1876e81cb28fde69faef28b9f71bcc89002b1471","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-07-29 12:06:43.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"1e5b1f7bd3df2d29a38c37de690fccd14378b1f8":{"kind":"TRIVIAL_REBASE","_number":15,"created":"2026-08-04 08:10:28.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/15","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/15","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/15 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/15","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/15 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"60bab340e34984485bb6ca2e55f37a9631503c3a","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-08-04 08:08:33.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client / server-advertised / default) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"8b689f444c02eba9206eb383d7c0d3c426764bb1":{"kind":"REWORK","_number":16,"created":"2026-08-28 12:51:00.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/16","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/16","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/16 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/16","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/16 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"b951f15936d77a0f9e03f856a31aad29b85f6bab","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-08-28 12:33:23.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client or server-advertised) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"4256534332e84a95f16c23494a7da821820babcd":{"kind":"TRIVIAL_REBASE","_number":17,"created":"2026-09-09 07:27:02.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/17","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/17","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/17 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/17","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/17 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"e7dff97bf39b89b4abc37042a480e3e1655be4f1","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-09 06:52:00.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client or server-advertised) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"3f9c4e80a5b37ef5c5e357e36ccb2c236df38af5":{"kind":"REWORK","_number":18,"created":"2026-09-11 08:18:16.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/18","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/18","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/18 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/18","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/18 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"0bafb513d396895314c155e94f0eb3df1ca7ecda","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-11 08:10:23.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client or server-advertised) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"bbe44ffb969e991f7b5d4b497146621d34eb4111":{"kind":"TRIVIAL_REBASE","_number":19,"created":"2026-09-11 09:11:03.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/19","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/19","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/19 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/19","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/19 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"1461de6294312e7a91facf151d1360a5f35ad0fb","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-11 09:03:51.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest compete\non weight, slower ones fall behind. Log the measured RTT and the effective\nmargin (with its source: client or server-advertised) at verb 4.\n\nBefore this the client never measured RTT, so every responder sat in the band\nand selection was purely weighted-random; with real measurements the\nlatency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"425572b1adc4d2f0afbfb8ceeccdd80eeb3af3f0":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":20,"created":"2026-09-11 15:23:13.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/20","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/20","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/20 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/20","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/20 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"e0afbe927aa2a64b9228dd311ee8b79da190177a","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-11 15:05:19.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest\ncompete on weight, slower ones fall behind. Log the measured RTT and the\neffective margin (with its source: client or server-advertised) at verb\n4.\n\nBefore this the client never measured RTT, so every responder sat in the\nband and selection was purely weighted-random; with real measurements\nthe latency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"57af97b0be5cd2e4bfdae7f7c9d9d1348994f470":{"kind":"TRIVIAL_REBASE","_number":21,"created":"2026-09-12 07:08:46.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/21","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/21","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/21 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/21 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/21 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/21 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/21","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/21 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"41de9be8c936523b1b7ac9316f611686469deba0","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-12 07:06:50.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest\ncompete on weight, slower ones fall behind. Log the measured RTT and the\neffective margin (with its source: client or server-advertised) at verb\n4.\n\nBefore this the client never measured RTT, so every responder sat in the\nband and selection was purely weighted-random; with real measurements\nthe latency-based candidate selection takes effect.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"db934865ff5bd847977f39b3823d18e6662241fc":{"kind":"REWORK","_number":22,"created":"2026-09-14 14:18:32.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/22","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/22","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/22 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/22 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/22 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/22 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/22","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/22 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"0e4f26ec62f719eb61db55882e367f47586a8483","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-14 13:39:16.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest\ncompete on weight, slower ones fall behind. Log the measured RTT and the\neffective margin (with its source: client or server-advertised) at verb\n4.\n\nBefore this the client never measured RTT, so every responder sat in the\nband and selection was purely weighted-random; with real measurements\nthe latency-based candidate selection takes effect.\n\nThe timestamp is taken at the first send. A reply carries nothing that\nties it to a send round, so measuring from a resend would report a\nserver slower than one round as fast, and could rank it ahead of a\ngenuinely faster one. Entries that resolve to the same address share the\nsend time of the single probe.\n\nThe RTT therefore runs from the first send to the moment the client\nreads the reply: it compares servers, it is not a network measurement. A\nprobe that needed a resend reads high; the resend exists so that a\ndropped probe does not make a live server look dead, not to refine the\nmeasurement.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"4837e091bf32a36f36a33ca053afffbaa5304173":{"kind":"REWORK","_number":23,"created":"2026-09-15 12:59:19.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/23","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/23","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/23 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/23 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/23 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/23 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/23","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/23 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"1fe9f18b1c579166380d891ca0027835ccc1996b","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-15 12:49:00.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest\ncompete on weight, slower ones fall behind. Log the measured RTT and the\neffective margin (with its source: client or server-advertised) at verb\n4.\n\nBefore this the client never measured RTT, so every responder sat in the\nband and selection was purely weighted-random; with real measurements\nthe latency-based candidate selection takes effect.\n\nThe timestamp is taken at the first send. A reply carries nothing that\nties it to a send round, so measuring from a resend would report a\nserver slower than one round as fast, and could rank it ahead of a\ngenuinely faster one. Entries that resolve to the same address share the\nsend time of the single probe.\n\nThe RTT therefore runs from the first send to the moment the client\nreads the reply: it compares servers, it is not a network measurement. A\nprobe that needed a resend reads high; the resend exists so that a\ndropped probe does not make a live server look dead, not to refine the\nmeasurement.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"19e9f522e6ee47792e065ebaaec5880ae78957be":{"kind":"TRIVIAL_REBASE","_number":24,"created":"2026-09-17 07:01:11.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/24","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/24","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/24 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/24 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/24 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/24 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/24","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/24 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"9d09b1b1a84e4c39a54d1f9e4b3e2a741ca71678","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-17 06:52:30.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest\ncompete on weight, slower ones fall behind. Log the measured RTT and the\neffective margin (with its source: client or server-advertised) at verb\n4.\n\nBefore this the client never measured RTT, so every responder sat in the\nband and selection was purely weighted-random; with real measurements\nthe latency-based candidate selection takes effect.\n\nThe timestamp is taken at the first send. A reply carries nothing that\nties it to a send round, so measuring from a resend would report a\nserver slower than one round as fast, and could rank it ahead of a\ngenuinely faster one. Entries that resolve to the same address share the\nsend time of the single probe.\n\nThe RTT therefore runs from the first send to the moment the client\nreads the reply: it compares servers, it is not a network measurement. A\nprobe that needed a resend reads high; the resend exists so that a\ndropped probe does not make a live server look dead, not to refine the\nmeasurement.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"1925e9e086451082dd95b9bd3359e98ab14d59ea":{"kind":"TRIVIAL_REBASE","_number":25,"created":"2026-09-17 11:30:36.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/25","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/25","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/25 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/25 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/25 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/25 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/25","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/25 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"95312dc6c03c5696586677b63948c5723a8b8953","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-17 07:54:06.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest\ncompete on weight, slower ones fall behind. Log the measured RTT and the\neffective margin (with its source: client or server-advertised) at verb\n4.\n\nBefore this the client never measured RTT, so every responder sat in the\nband and selection was purely weighted-random; with real measurements\nthe latency-based candidate selection takes effect.\n\nThe timestamp is taken at the first send. A reply carries nothing that\nties it to a send round, so measuring from a resend would report a\nserver slower than one round as fast, and could rank it ahead of a\ngenuinely faster one. Entries that resolve to the same address share the\nsend time of the single probe.\n\nThe RTT therefore runs from the first send to the moment the client\nreads the reply: it compares servers, it is not a network measurement. A\nprobe that needed a resend reads high; the resend exists so that a\ndropped probe does not make a live server look dead, not to refine the\nmeasurement.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"},"5fc002eff7bf1be5478dae6e28a336f1bc904b06":{"kind":"REWORK","_number":26,"created":"2026-09-17 12:28:12.000000000","uploader":{"_account_id":1000008,"name":"stipa","display_name":"Lev Stipakov","email":"lstipakov@gmail.com","username":"stipa"},"ref":"refs/changes/48/1748/26","fetch":{"anonymous http":{"url":"http://gerrit.openvpn.net/openvpn","ref":"refs/changes/48/1748/26","commands":{"Branch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/26 \u0026\u0026 git checkout -b change-1748 FETCH_HEAD","Checkout":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/26 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/26 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/26 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull http://gerrit.openvpn.net/openvpn refs/changes/48/1748/26","Reset To":"git fetch http://gerrit.openvpn.net/openvpn refs/changes/48/1748/26 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"e0eb8ac20c618720243477ded6b46b71af451a0e","subject":"oob: Add --server-probe to order client remotes by probe"}],"author":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-06-22 08:47:55.000000000","tz":180},"committer":{"name":"Lev Stipakov","email":"lev@openvpn.net","date":"2026-09-17 11:45:25.000000000","tz":180},"subject":"oob: Measure probe RTT for candidate-band selection","message":"oob: Measure probe RTT for candidate-band selection\n\nRecord each probe\u0027s round-trip time (per-target send timestamp vs reply\narrival) and feed it to oob_rank_probe_results(), where RTT forms the\ncandidate band: responders within the effective margin of the fastest\ncompete on weight, slower ones fall behind. Log the measured RTT and the\neffective margin (with its source: client or server-advertised) at verb\n4.\n\nBefore this the client never measured RTT, so every responder sat in the\nband and selection was purely weighted-random; with real measurements\nthe latency-based candidate selection takes effect.\n\nThe timestamp is taken at the first send. A reply carries nothing that\nties it to a send round, so measuring from a resend would report a\nserver slower than one round as fast, and could rank it ahead of a\ngenuinely faster one. Entries that resolve to the same address share the\nsend time of the single probe.\n\nThe RTT therefore runs from the first send to the moment the client\nreads the reply: it compares servers, it is not a network measurement. A\nprobe that needed a resend reads high; the resend exists so that a\ndropped probe does not make a live server look dead, not to refine the\nmeasurement.\n\nChange-Id: I375a41749060b7d006647bc27002c55436c8a8bb\nSigned-off-by: Lev Stipakov \u003clev@openvpn.net\u003e\n"},"branch":"refs/heads/master"}},"requirements":[{"status":"NOT_READY","fallback_text":"All required checks must pass","type":"checks_pass"}],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"NOT_READY","labels":[{"label":"Code-Review","status":"NEED"}]},{"rule_name":"checks~ChecksSubmitRule","status":"NOT_READY","requirements":[{"status":"NOT_READY","fallback_text":"All required checks must pass","type":"checks_pass"}]}],"submit_requirements":[{"name":"Code-Review","status":"UNSATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","-label:Code-Review\u003dMIN"]}},{"name":"checks~ChecksSubmitRule","status":"UNSATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:checks~ChecksSubmitRule","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["checks~ChecksSubmitRule"]}}]}
