Hi, On Sun, Nov 27, 2022 at 12:18:45PM +0100, Kristof Provost via Openvpn-devel wrote: > From: Kristof Provost <k...@freebsd.org> > > When DCO is active userspace doesn't see all of the traffic, so when we > access these stats we must update them. > > Retrieve kernel statistics every time we access the > link_(read|write)_bytes values. > > Introduce a dco_(read|write)_bytes so that we don't clobber the existing > statistics, which still count control packets, sent or received directly > through the socket.
To briefly summarize our discussion just now - the general approach "pull data when needed" seems to be good for us - nvlists have no general size limits (so we won't run into issues when there are "MANY CLIENTS" active") - but kernel side DCO today has 128 peers limit on FreeBSD "to be done" - this patch can not be merged "as is" as it breaks Linux and Windows (because the neeed DCO handling functions are not there yet) - but having empty stub functions would be trivial - there is a racy caveat on "peer timeout" - kernel sends message "peer went away, because timeout" - we go to the "run --client-disconnect etc." function handling - we ask the kernel for the DCO read/write stats - the client that *just ended* is no longer there, so, no stats --> we want a notification for all "peer has exited" even for "userland has told the kernel to" reasons (what Linux does today), and that notification should contain the counters *for this peer* - we want lots of feedback from Antonio :-) Arne, anything I forgot? gert -- "If was one thing all people took for granted, was conviction that if you feed honest figures into a computer, honest figures come out. Never doubted it myself till I met a computer with a sense of humor." Robert A. Heinlein, The Moon is a Harsh Mistress Gert Doering - Munich, Germany g...@greenie.muc.de
signature.asc
Description: PGP signature
_______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel