Workaround: make ovpn-dco more reliable

This workaround avoids the kernel trigger ENOBUFS when the kernel
internal queue is overrun with events of disconnectingh clients or
similar. This is a workaround until we come up with a more permanent
solution.

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Antonio Quartulli <antonio@openvpn.net>
Message-Id: <20230112163737.1240059-1-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg25988.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
Arne Schwabe 2023-01-12 17:37:37 +01:00 committed by Gert Doering
parent d8523119b9
commit f84a9fc5d4

View file

@ -375,6 +375,11 @@ ovpn_dco_init_netlink(dco_context_t *dco)
* wrong sequence numbers (NLE_SEQ_MISMATCH), so disable libnl's sequence
* number check */
nl_socket_disable_seq_check(dco->nl_sock);
/* nl library sets the buffer size to 32k/32k by default which is sometimes
* overrun with very fast connecting/disconnecting clients.
* TODO: fix this in a better and more reliable way */
ASSERT(!nl_socket_set_buffer_size(dco->nl_sock, 1024*1024, 1024*1024));
}
bool