Thanks, and sorry for stalling since January.  This is still not 
"really really" pretty, but I am still convinced that dealing with DCO
related issues inside dco*.c is a better approach :-)

I have not actually excercised the code (I do not have experienced the
underlying issue yet, which smells like a race condition between kernel
and userland), just stared at it for a bit, and relied on the BB army
to verify that it compiles and passes t_client on all DCO-enabled
platforms (it does).

Not sure why we would ever hit dco_get_peer_stats() with peer_id == -1
(in that case userland should know "the peer is gone") but the check
won't harm - though slightly unrelated.  Good catch on the uint32_t.

Your patch has been applied to the master branch.

commit 6f9ba8bfd259742ee19b173898a9bfd20e22fcf3
Author: Ralf Lici
Date:   Wed Mar 5 18:17:30 2025 +0100

     Handle missing DCO peer by restarting the session

     Signed-off-by: Ralf Lici <r...@mandelbit.com>
     Acked-by: Frank Lichtenheld <fr...@lichtenheld.com>
     Message-Id: <20250305171730.250444-1-fr...@lichtenheld.com>
     URL: 
https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg31022.html
     Signed-off-by: Gert Doering <g...@greenie.muc.de>


--
kind regards,

Gert Doering



_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to