Branch: refs/heads/stable1
Home:
https://github.com/kronosnet/kronosnet
Commit: 124b1a76032b791775ac069afb7f553e9c61bc00
https://github.com/kronosnet/kronosnet/commit/124b1a76032b791775ac069afb7f5…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M build-aux/knet_valgrind_memcheck.supp
Log Message:
-----------
[tests] ignore libnss errors from OpenSuse 15
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 711618053fdce2c137e9af702b2d692a21b9550b
https://github.com/kronosnet/kronosnet/commit/711618053fdce2c137e9af702b2d6…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M build-aux/knet_valgrind_memcheck.supp
Log Message:
-----------
[tests] ignore libnss errors from OpenSuse Tumbleweed
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 4372e499ecd4c7506be5ccb75dc857872f900785
https://github.com/kronosnet/kronosnet/commit/4372e499ecd4c7506be5ccb75dc85…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M libknet/handle.c
M libknet/internals.h
M libknet/tests/api_knet_send.c
M libknet/tests/api_knet_send_compress.c
M libknet/tests/api_knet_send_crypto.c
M libknet/tests/api_knet_send_loopback.c
M libknet/tests/api_knet_send_sync.c
M libknet/tests/test-common.c
M libknet/threads_common.c
M libknet/threads_common.h
M libknet/threads_rx.c
M libknet/threads_tx.c
Log Message:
-----------
[threads] allow knet_handle_setfwd to flush socket queues
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 731da3eee45a7f50d2ffff78299092a5131f8208
https://github.com/kronosnet/kronosnet/commit/731da3eee45a7f50d2ffff7829909…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M libknet/crypto.c
Log Message:
-----------
[crypto] fix log information
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 2e433d34e228c5e49cca6782f840ee91a4968bc5
https://github.com/kronosnet/kronosnet/commit/2e433d34e228c5e49cca6782f840e…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M libknet/transport_udp.c
Log Message:
-----------
[udp] log information about detected kernel MTU
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: b7d0f70c9f8008b59a2c3592714ae08efca04303
https://github.com/kronosnet/kronosnet/commit/b7d0f70c9f8008b59a2c3592714ae…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M libknet/threads_pmtud.c
Log Message:
-----------
[docs] add knet packet layout
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 496748b133b6c4e89fb5201d5bcb1ac62f2701ee
https://github.com/kronosnet/kronosnet/commit/496748b133b6c4e89fb5201d5bcb1…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M libknet/threads_pmtud.c
Log Message:
-----------
[PMTUd] fix MTU calculation when using crypto and add docs
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 4aa4db652495b1778a3b23203c1dabad31f8e134
https://github.com/kronosnet/kronosnet/commit/4aa4db652495b1778a3b23203c1da…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M libknet/Makefile.am
M libknet/crypto.c
M libknet/crypto_model.h
M libknet/crypto_nss.c
M libknet/crypto_openssl.c
M libknet/internals.h
M libknet/links.c
A libknet/onwire.c
M libknet/onwire.h
M libknet/tests/Makefile.am
M libknet/tests/api_knet_send_crypto.c
A libknet/tests/fun_pmtud_crypto.c
M libknet/threads_common.c
M libknet/threads_pmtud.c
Log Message:
-----------
[PMTUd] rework the whole math to calculate MTU
internal changes:
- drop the concept of sec_header_size that was completely wrong
and unnecessary
- bump crypto API to version 3 due to the above change
- clarify the difference between link->proto_overhead and
link->status->proto_overhead. We cannot rename the status
one as it would also change ABI.
- add onwire.c with documentation on the packet format
and what various len(s) mean in context.
- add 3 new functions to calculate MTUs back and forth
and use them around, hopefully with enough clarification
on why things are done in a given way.
- heavily change thread_pmtud.c to use those new facilities.
- fix major calculation issues when using crypto (non-crypto
was not affected by the problem).
- fix checks around to make sure they match the new math.
- fix padding calculation.
- add functional PMTUd crypto test
this test can take several hours (12+) and should be executed
on a controlled environment since it automatically changes
loopback MTU to run tests.
- fix way the lowest MTU is calculated during a PMTUd run
to avoid spurious double notifications.
- drop redundant checks.
user visible changes:
- Global MTU is now calculated properly when using crypto
and values will be in general bigger than before due
to incorrect padding calculation in the previous implementation.
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: dce34780e8ce259ca29bb26cceac896d16f32747
https://github.com/kronosnet/kronosnet/commit/dce34780e8ce259ca29bb26cceac8…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M libknet/internals.h
M libknet/links.c
M libknet/links.h
M libknet/threads_pmtud.c
Log Message:
-----------
[PMTUd] add dynamic pong timeout when using crypto
problem originally reported by proxmox community, users
observed that under pressure the MTU would flap back and forth
between 2 values due to other node response timeout.
implement a dynamic timeout multiplier when using crypto that
should solve the problem in a more flexible fashion.
When a timeout hits, those new logs will show:
[knet]: [info] host: host: 1 (passive) best link: 0 (pri: 0)
[knet]: [debug] pmtud: Starting PMTUD for host: 1 link: 0
[knet]: [debug] pmtud: Increasing PMTUd response timeout multiplier to (4) for host 1
link: 0
[knet]: [info] pmtud: PMTUD link change for host: 1 link: 0 from 469 to 65429
[knet]: [debug] pmtud: PMTUD completed for host: 1 link: 0 current link mtu: 65429
[knet]: [info] pmtud: Global data MTU changed to: 65429
[knet]: [debug] pmtud: Starting PMTUD for host: 1 link: 0
[knet]: [debug] pmtud: Increasing PMTUd response timeout multiplier to (8) for host 1
link: 0
[knet]: [debug] pmtud: Increasing PMTUd response timeout multiplier to (16) for host 1
link: 0
[knet]: [debug] pmtud: Increasing PMTUd response timeout multiplier to (32) for host 1
link: 0
[knet]: [debug] pmtud: Increasing PMTUd response timeout multiplier to (64) for host 1
link: 0
[knet]: [debug] pmtud: PMTUD completed for host: 1 link: 0 current link mtu: 65429
[knet]: [debug] pmtud: Starting PMTUD for host: 1 link: 0
[knet]: [debug] pmtud: Increasing PMTUd response timeout multiplier to (128) for host 1
link: 0
[knet]: [debug] pmtud: PMTUD completed for host: 1 link: 0 current link mtu: 65429
and when the latency reduces and it is safe to be more responsive again:
[knet]: [debug] pmtud: Starting PMTUD for host: 1 link: 0
[knet]: [debug] pmtud: Decreasing PMTUd response timeout multiplier to (64) for host 1
link: 0
[knet]: [debug] pmtud: PMTUD completed for host: 1 link: 0 current link mtu: 65429
....
testing this patch on normal hosts is a bit challenging tho.
Patch was tested by hardcoding a super low timeout here:
diff --git a/libknet/threads_pmtud.c b/libknet/threads_pmtud.c
index 4f0ba0f..5e2b89b 100644
--- a/libknet/threads_pmtud.c
+++ b/libknet/threads_pmtud.c
@@ -261,7 +271,8 @@ retry:
/*
* crypto, under pressure, is a royal PITA
*/
- pong_timeout_adj_tmp = dst_link->pong_timeout_adj * 2;
+ //pong_timeout_adj_tmp = dst_link->pong_timeout_adj *
dst_link->pmtud_crypto_timeout_multiplier;
+ pong_timeout_adj_tmp = 30 *
dst_link->pmtud_crypto_timeout_multiplier;
} else {
pong_timeout_adj_tmp = dst_link->pong_timeout_adj;
}
and using a long running version of api_knet_send_crypto_test with a short PMTUd setfreq
(10 sec).
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: c1b46b0a365fbcd3c6c594bb8fd31fbb487774fe
https://github.com/kronosnet/kronosnet/commit/c1b46b0a365fbcd3c6c594bb8fd31…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M libknet/handle.c
M libknet/internals.h
M libknet/libknet.h
M libknet/tests/api-check.mk
A libknet/tests/api_knet_handle_pmtud_set.c
M libknet/threads_pmtud.c
M man/Makefile.am
Log Message:
-----------
[PMTUd] add ability to manually override MTU and disable PMTUd
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: f6b11c05112c520ccda3b28e7676acbc6b8a7938
https://github.com/kronosnet/kronosnet/commit/f6b11c05112c520ccda3b28e7676a…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M libknet/Makefile.am
Log Message:
-----------
[build] bump soname to indicate new API call
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 4f9904c8ccb093f59cc352e7ac14fbad9027f07a
https://github.com/kronosnet/kronosnet/commit/4f9904c8ccb093f59cc352e7ac14f…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2019-08-21 (Wed, 21 Aug 2019)
Changed paths:
M build-aux/knet_valgrind_memcheck.supp
M libknet/Makefile.am
M libknet/crypto.c
M libknet/crypto_model.h
M libknet/crypto_nss.c
M libknet/crypto_openssl.c
M libknet/handle.c
M libknet/internals.h
M libknet/libknet.h
M libknet/links.c
M libknet/links.h
A libknet/onwire.c
M libknet/onwire.h
M libknet/tests/Makefile.am
M libknet/tests/api-check.mk
A libknet/tests/api_knet_handle_pmtud_set.c
M libknet/tests/api_knet_send.c
M libknet/tests/api_knet_send_compress.c
M libknet/tests/api_knet_send_crypto.c
M libknet/tests/api_knet_send_loopback.c
M libknet/tests/api_knet_send_sync.c
A libknet/tests/fun_pmtud_crypto.c
M libknet/tests/test-common.c
M libknet/threads_common.c
M libknet/threads_common.h
M libknet/threads_pmtud.c
M libknet/threads_rx.c
M libknet/threads_tx.c
M libknet/transport_udp.c
M man/Makefile.am
Log Message:
-----------
Merge pull request #232 from kronosnet/stable1-proposed
stable1-proposed
Compare:
https://github.com/kronosnet/kronosnet/compare/fce69571d656...4f9904c8ccb0