)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"173bcbbaaaee173fad6a9f1f45d028c74be659a1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"91a3c228_e89a059b","updated":"2025-11-15 17:07:03.000000000","message":"This is only half-working for me.  Triggered by https://github.com/OpenVPN/openvpn/issues/890 I have built a testbed to reproduce this.\n\n- ssh -R *:12345:conn-test-server.openvpn.org:51194 $linuxserver\n- on the linux server, run `openvpn --client --remote 127.0.0.5 51194 tcp ... --route 1.1.1.1 255.255.255.255 net_gateway`\n\nit will do both gateway lookups, and setenv `net_gateway` accordingly\n\n```\n2025-11-15 17:57:26 net_route_v4_best_gw query: dst 0.0.0.0\n2025-11-15 17:57:26 net_route_v4_best_gw result: via 194.97.140.30 dev enp0s18\n2025-11-15 17:57:26 net_route_v4_best_gw query: dst 127.0.0.5\n2025-11-15 17:57:26 net_route_v4_best_gw result: via 0.0.0.0 dev lo\n2025-11-15 17:57:26 GDG6: remote_host_ipv6\u003dn/a\n2025-11-15 17:57:26 net_route_v6_best_gw query: dst ::\n2025-11-15 17:57:26 net_route_v6_best_gw result: via 2001:608:0:814::ffff dev enp0s18\n2025-11-15 17:57:26 net_route_v6_best_gw query: dst ::\n2025-11-15 17:57:26 net_route_v6_best_gw result: via 2001:608:0:814::ffff dev enp0s18\n```\n\nbut the gateway address used for `net_gateway` is the one from the second lookup\n\n```\n2025-11-15 18:03:45 net_route_v4_add: 1.1.1.1/32 via 0.0.0.0 dev [NULL] table 0 metric -1\n2025-11-15 18:03:45 sitnl_send: rtnl: generic error (-19): No such device\n2025-11-15 18:03:45 ERROR: Linux route add command failed\n```\n\nso we might need to store the `ngi` in the `struct route-list` as well, and depending on use case use `rgi` or `ngi` - for the bypass-routes, we want `rgi`, for `get_special_addr()` use case, we want `ngi`...\n\nright?","commit_id":"cdaf9954b7df84223676f6cc229e78832e05584f"},{"author":{"_account_id":1000040,"name":"mrbff","email":"marco@mandelbit.com","username":"mrbff"},"change_message_id":"9ba14abcf10e4a6e0c10d1a6824220a70b6b3050","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"395d88f5_dd384a7d","in_reply_to":"01902f93_e4e8847c","updated":"2025-11-19 03:23:07.000000000","message":"yes, ok np","commit_id":"cdaf9954b7df84223676f6cc229e78832e05584f"},{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"d153d30f4bef77407568658dc3c5125320219328","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"01902f93_e4e8847c","in_reply_to":"4638787c_7f8dc295","updated":"2025-11-18 18:42:28.000000000","message":"I think it would make sense to do the same for IPv6 as well (route_ipv6_list, of course).  We do not have such a special target yet, but keeping the infra symmetric sounds like a good idea...?\n\n(The IPv4 part looks good)","commit_id":"cdaf9954b7df84223676f6cc229e78832e05584f"},{"author":{"_account_id":1000040,"name":"mrbff","email":"marco@mandelbit.com","username":"mrbff"},"change_message_id":"28b290f403861c2a9e0cb4f8ce89b8b3069b99c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4638787c_7f8dc295","in_reply_to":"91a3c228_e89a059b","updated":"2025-11-18 05:58:46.000000000","message":"Done","commit_id":"cdaf9954b7df84223676f6cc229e78832e05584f"}]}
