Branch: refs/heads/pmtu-fixes Home: https://github.com/kronosnet/kronosnet Commit: fb6e68209cdca90fe3e83367ab734d35da893032 https://github.com/kronosnet/kronosnet/commit/fb6e68209cdca90fe3e83367ab734d... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2017-11-28 (Tue, 28 Nov 2017)
Changed paths: M libknet/host.c M libknet/threads_heartbeat.c M libknet/threads_pmtud.c M libknet/threads_rx.c M libknet/transport_sctp.c
Log Message: ----------- [pmtud] fix handling of errno and savederrno
also, during debugging it turned out that sendto does not reset errno on successful run, returning the status from the previous error. While that's hardly a problem, it makes debugging more interesting, so let's reset errno before each call to sendto.
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: c03d81d5b08861fbcebc7c0f15d85e636cedf558 https://github.com/kronosnet/kronosnet/commit/c03d81d5b08861fbcebc7c0f15d85e... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2017-11-28 (Tue, 28 Nov 2017)
Changed paths: M libknet/internals.h M libknet/links.c M libknet/threads_pmtud.c
Log Message: ----------- [pmtud] fix PMTU detection when link is first up
we noticed, during testing, that from time to time the kernel would return EMSGSIZE also on known valid packet specially during first time link intialization.
after re-reading carefully man 7 ip, it turns out that we did not account for:
"While MTU discovery is in progress, initial packets from datagram sockets may be dropped. Applications using UDP should be aware of this and not take it into account for their packet retransmit strategy."
as solution, we use the first PMTUd run to send a series of packets that will give time to the kernel to perform its own PMTU detection before we start operating.
This can probably lay the base for sending packets, and then use getsockopt to determine the link MTU vs rely on other nodes reply.
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: f5bc89a900e62ee910d1692a9fa65d8d1ce64b17 https://github.com/kronosnet/kronosnet/commit/f5bc89a900e62ee910d1692a9fa65d... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2017-11-28 (Tue, 28 Nov 2017)
Changed paths: M libknet/threads_heartbeat.c
Log Message: ----------- [pmtud] fix PMTU detection when link is first up (part 2)
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: 8885a8e5228dbd276d38c47714d365271e6a4a3f https://github.com/kronosnet/kronosnet/commit/8885a8e5228dbd276d38c47714d365... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2017-11-28 (Tue, 28 Nov 2017)
Changed paths: M libknet/threads_pmtud.c
Log Message: ----------- [pmtud] don't burst packets but spread them around
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Compare: https://github.com/kronosnet/kronosnet/compare/5e5ab0747866...8885a8e5228d