Branch: refs/heads/pmtud-fixes Home: https://github.com/kronosnet/kronosnet Commit: 9ddec90a1205e8fb3fe845fd9542c7b93cd1da1b https://github.com/kronosnet/kronosnet/commit/9ddec90a1205e8fb3fe845fd9542c7... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2019-08-10 (Sat, 10 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/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.
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@redhat.com