OpenVPN / OpenVPN/openvpn

feature request: make control-channel explicit-exit-notify fast

Open
#762 3 comments 0 reactions 2 assignees View on GitHub

@ordex is already working on this.

Since Jun 3, 2025.

enhancement feature non-trivial change
Dominant language
C
Stars
14.6k
Forks
3.4k
PR merge metrics
No merged PRs in 30d

Description

copy-paste from IRC

15:56 <@ordex> cron2: what is there to fix for poor Giaan ? :D
15:57 < Giaan> ordex: I guess he wants --een to be faster
15:58 <@cron2> yes :-)
15:59 <@cron2> giaan is the event god of OpenVPN now
16:00 <@ordex> but it's not a regression, isn't it?
16:01 < Giaan> cron2: I don´t think this is related to the event loop tbh,
aren´t we back to 2.6 levels?
16:01 <@cron2> Giaan: we are, so it's not an "multi event" thing
16:02 <@cron2> but it still sucks :-) - non-control-channel een is "instant"
and cc een is "2.5s", which I could see on the server ("send out
all these tls packets and wait for ack from all these clients")
but on the client, waiting for an ack to a goodbye packet might
be a bit overdoing it... so I think if we get an ACK for the
cc een, we should be able to terminate right away
16:03 <@cron2> and on the server, if there are no clients or all clients have
ACKed, exit right away
16:03 <@cron2> ... and if it turns out that that we do not even ack an incoming
EEN, exit without waiting
16:04 <@cron2> (to make it clear: this is neither ordex' nor giaan's doing, but
you might understand this enough to fix it ;-) - otherwise
plaisthos needs to dive in again, and we will see a 20-patch
series fixing all of it)
16:05 * ordex feels this is a 4 months project
16:05 <@ordex> :D
16:05 <@cron2> ordex: schneller arbeiten
16:05 <@ordex> 2 days to get the code done, 3 months of debugging
16:05 <@ordex> :D
16:06 <@ordex> cron2: can you create a ticket for this? so we don't forget?

also somewhat related to #702 (where CC EEN led to a delay of 10+ seconds due to not checking signals often enough)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.