Acked-by: Gert Doering <g...@greenie.muc.de>

Stared at code, loooks good.

Tested the client side against an unpatched server -> works (which is not 
surprising, but worth a test).

Then patched the server, tested the patched client again -> works \o/

Jul 22 10:09:15 gentoo tun-tcp-p2mp[5572]: 194.97.140.21:50479 peer info: 
IV_PROTO=6
Jul 22 10:09:15 gentoo tun-tcp-p2mp[5572]: ... SENT CONTROL 
[cron2-freebsd-tc-amd64]: 'PUSH_REPLY,...'
Jul 22 10:09:17 gentoo tun-tcp-p2mp[5572]: ... PUSH: Received control message: 
'PUSH_REQUEST'

(saves 1-2 seconds - coarse timers on the client side...)


The client side state machine is not truly convincing me yet, though - 
while this works as it is, the client does not properly register that 
it already *has* a PUSH_REPLY, so keeps sending PUSH_REQUESTS until the 
server gives in after 30s (NO-SOUP debounce timer) and sends another 
PUSH_REPLY:

2020-07-22 10:14:26 [server] Peer Connection Initiated with 
[AF_INET6]2001:608:0:814::f000:11:51198
2020-07-22 10:14:26 PUSH: Received control message: 'PUSH_REPLY,route 
10.204.0.0 ...'
[tun/route init stuff, crypto init, ...]
2020-07-22 10:14:26 Initialization Sequence Completed
2020-07-22 10:14:27 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
2020-07-22 10:14:32 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
2020-07-22 10:14:37 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
2020-07-22 10:14:42 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
2020-07-22 10:14:47 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
2020-07-22 10:14:52 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
2020-07-22 10:14:57 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
2020-07-22 10:14:57 PUSH: Received control message: 'PUSH_REPLY,route 
10.204.0.0 ...




I decided to keep the patch and improve on the client side 
later :-) - and *then* ran the full test with 2.2/2.3/2.4/master(patched) 
against the same server, and AGES later... 

22...
Test sets succeeded: 1 2 3 4 6 8.
Test sets failed: none.
..
master...
Test sets succeeded: 1 1a 1b 1c 1d 1e 2 2a 2b 2c 2d 2e 2f 3 4 5 5a 5b 5c 5v1 
5v2 5v3 5w1 5w2 5w3 5w4 5x1 5x2 5x3 5x4 6 7 7x 8 8a 9 4b.
Test sets failed: none.


My RTTs are too low to make a difference wrt packets RTTs, but the
"coarse timer on client" delay alone makes this an improvement.

Your patch has been applied to the master branch.

commit c290df558f8df995f1eeb3ddbf408508a455273e
Author: Arne Schwabe
Date:   Tue Jul 21 18:38:11 2020 +0200

     Indicate that a client is in pull mode in IV_PROTO

     Signed-off-by: Arne Schwabe <a...@rfc2549.org>
     Signed-off-by: Arne Schwabe <a...@rfc2549.org>
     Acked-by: Gert Doering <g...@greenie.muc.de>
     Message-Id: <20200721163811.22745-1-a...@rfc2549.org>
     URL: 
https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg20525.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