)]}'
{"id":"openvpn~1983","triplet_id":"openvpn~master~Ic5c421ec2e9627340924a05509bb8aff0bbf17da","project":"openvpn","branch":"master","full_branch":"refs/heads/master","topic":"dco_feature_negotiation","attention_set":{"1000003":{"account":{"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"last_update":"2026-10-06 11:34:14.000000000","reason":"Reviewer was added"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Ic5c421ec2e9627340924a05509bb8aff0bbf17da","subject":"dco_linux: enable asymmetric peer IDs when supported","status":"NEW","created":"2026-10-06 11:34:12.000000000","updated":"2026-10-20 09:16:58.000000000","submit_type":"CHERRY_PICK","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"cd6c428abcef50b0f3f05c4a05b8e55169b80369","_number":1983,"virtual_id_number":1983,"owner":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"actions":{},"labels":{"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"}],"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":"","default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"}],"CC":[{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"},{"_account_id":1000041,"name":"Ralf Lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-10-06 11:34:12.000000000","updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"real_updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"reviewer":{"_account_id":1000041,"name":"Ralf Lici","display_name":"Ralf Lici","email":"ralf@mandelbit.com","username":"ralf_lici"},"state":"CC"},{"updated":"2026-10-06 11:34:14.000000000","updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"real_updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"reviewer":{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"},"state":"CC"},{"updated":"2026-10-06 11:34:14.000000000","updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"real_updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"reviewer":{"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"state":"REVIEWER"}],"messages":[{"id":"41b95360c5d9e9b2e7edf3b3ea1c4301114c6c31","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-10-06 11:34:12.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"cd6c428abcef50b0f3f05c4a05b8e55169b80369","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-10-20 09:16:58.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"01ec466253cf9f79303be3824f43018f0b3342ac","revisions":{"0c52b0dfe98e5ead44d85439d1ee766ed7682335":{"kind":"REWORK","_number":1,"created":"2026-10-06 11:34:12.000000000","uploader":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"ref":"refs/changes/83/1983/1","fetch":{"anonymous http":{"url":"https://gerrit.openvpn.net/openvpn","ref":"refs/changes/83/1983/1","commands":{"Branch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/1 \u0026\u0026 git checkout -b change-1983 FETCH_HEAD","Checkout":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://gerrit.openvpn.net/openvpn refs/changes/83/1983/1","Reset To":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"a56b4a206a7a97c5521e2eabfe969704a5d8232e","subject":"dco: clarify RX peer ID naming and types"}],"author":{"name":"Ralf Lici","email":"ralf@mandelbit.com","date":"2025-10-27 12:23:08.000000000","tz":60},"committer":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-10-06 09:50:28.000000000","tz":120},"subject":"dco_linux: enable asymmetric peer IDs when supported","message":"dco_linux: enable asymmetric peer IDs when supported\n\nWhen notifying ovpn about a new peer, also send the TX peer ID so the\nmodule can forward packets with the correct peer ID value. This\nattribute is optional: if tx_peer_id is missing, the module falls back\nto the non-multipeer configuration, where tx_peer_id equals rx_peer_id.\n\nThe attribute is sent only to a kernel that knows it, since older ones\nreject OVPN_CMD_PEER_NEW with EINVAL on an attribute they cannot parse.\nDefine the first DCO capability, DCO_CAP_ASYM_PEER_ID, as a row in the\nrequirement table: the doit policy of OVPN_CMD_PEER_NEW must expose\nOVPN_A_PEER_TX_ID as a u32 inside OVPN_A_PEER.\n\nThe bit is then consumed. It travels in tls_options, so a peer announces\nits own ID only when it can use asymmetric peer-ids, and a server\nreplies with its own only when the client announced one and the local\nkernel can do it too. A peer that announces nothing leaves the other\nside on symmetric peer-ids, so there is nothing to exchange over the\nwire. The local ID is generated under the same bit, which also lifts the\nblanket skip tls_multi_init_finalize() applied whenever DCO was enabled.\n\nChange-Id: Ic5c421ec2e9627340924a05509bb8aff0bbf17da\nSigned-off-by: Ralf Lici \u003cralf@mandelbit.com\u003e\nSigned-off-by: Gianmarco De Gregori \u003cgianmarco@mandelbit.com\u003e\n"},"branch":"refs/heads/master"},"01ec466253cf9f79303be3824f43018f0b3342ac":{"kind":"REWORK","_number":2,"created":"2026-10-20 09:16:58.000000000","uploader":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"ref":"refs/changes/83/1983/2","fetch":{"anonymous http":{"url":"https://gerrit.openvpn.net/openvpn","ref":"refs/changes/83/1983/2","commands":{"Branch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/2 \u0026\u0026 git checkout -b change-1983 FETCH_HEAD","Checkout":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://gerrit.openvpn.net/openvpn refs/changes/83/1983/2","Reset To":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/83/1983/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"a6bc9e985fcb860a1a41e09f0fc89f65fec39f05","subject":"dco: clarify RX peer ID naming and types"}],"author":{"name":"Ralf Lici","email":"ralf@mandelbit.com","date":"2025-10-27 12:23:08.000000000","tz":60},"committer":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-10-20 08:23:42.000000000","tz":120},"subject":"dco_linux: enable asymmetric peer IDs when supported","message":"dco_linux: enable asymmetric peer IDs when supported\n\nWhen notifying ovpn about a new peer, also send the TX peer ID so the\nmodule can forward packets with the correct peer ID value. This\nattribute is optional: if tx_peer_id is missing, the module falls back\nto the non-multipeer configuration, where tx_peer_id equals rx_peer_id.\n\nThe attribute is sent only to a kernel that knows it, since older ones\nreject OVPN_CMD_PEER_NEW with EINVAL on an attribute they cannot parse.\nDefine the first DCO capability, DCO_CAP_ASYM_PEER_ID, as a row in the\nrequirement table: the doit policy of OVPN_CMD_PEER_NEW must expose\nOVPN_A_PEER_TX_ID as a u32 inside OVPN_A_PEER.\n\nThe bit is then consumed. It travels in tls_options, so a peer announces\nits own ID only when it can use asymmetric peer-ids, and a server\nreplies with its own only when the client announced one and the local\nkernel can do it too. A peer that announces nothing leaves the other\nside on symmetric peer-ids, so there is nothing to exchange over the\nwire. The local ID is generated under the same bit, which also lifts the\nblanket skip tls_multi_init_finalize() applied whenever DCO was enabled.\n\nChange-Id: Ic5c421ec2e9627340924a05509bb8aff0bbf17da\nSigned-off-by: Ralf Lici \u003cralf@mandelbit.com\u003e\nSigned-off-by: Gianmarco De Gregori \u003cgianmarco@mandelbit.com\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"}]}]}
