Branch: refs/heads/scale Home: https://github.com/kronosnet/kronosnet Commit: fc915b6744d3b37864c6fe0e9bc585fb79ec9c6f https://github.com/kronosnet/kronosnet/commit/fc915b6744d3b37864c6fe0e9bc585... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2018-01-03 (Wed, 03 Jan 2018)
Changed paths: M libknet/links.c
Log Message: ----------- [stats] report correct MTU for loopback links
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: 6cd9f82f33b07f0548bef9e4c5e59250d81d843c https://github.com/kronosnet/kronosnet/commit/6cd9f82f33b07f0548bef9e4c5e592... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2018-01-03 (Wed, 03 Jan 2018)
Changed paths: M libknet/handle.c M libknet/internals.h M libknet/threads_pmtud.c M libknet/transport_udp.c
Log Message: ----------- [PMTUd] Use kernel MTU information to determine next packet size during discovery
Using this information we can, for good links (*), determine and verify the link MTU with 2 packets.
* good links means: node X has MTU Y configured on a given interface. Any network object between node X and destination is capable of handling MTU >= Y. In no case the kernel will allow us to send packets > Y.
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: c7c7124a6d14afb94f9a979817b5db4168b52f5b https://github.com/kronosnet/kronosnet/commit/c7c7124a6d14afb94f9a979817b5db... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2018-01-03 (Wed, 03 Jan 2018)
Changed paths: M libknet/links.c
Log Message: ----------- [PTMUd] by using a safe PMTU to init a link, we can shave down corosync membership creation by 25%
tested on a 9 node cluster with 2 links each node, going down from 4 seconds to 3 seconds
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: 912be6b2bb4658dbc2c0dc1f4eeef8f531164d2f https://github.com/kronosnet/kronosnet/commit/912be6b2bb4658dbc2c0dc1f4eeef8... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2018-01-03 (Wed, 03 Jan 2018)
Changed paths: M libknet/internals.h M libknet/threads_common.c M libknet/threads_pmtud.c
Log Message: ----------- [PMTUd] rename pmtud_running to pmtud_waiting
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: 089d0e14e5c81ac9e462831c70d82870997c487c https://github.com/kronosnet/kronosnet/commit/089d0e14e5c81ac9e462831c70d828... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2018-01-03 (Wed, 03 Jan 2018)
Changed paths: M libknet/internals.h M libknet/threads_pmtud.c M libknet/transport_udp.c
Log Message: ----------- [PTMUd] if any threads receives a EMSGSIZE outside of a PMTUD run, force PTMUd to run
Scenario:
node X has MTU Y on the interface and application is sending packets with size >= Y.
The interface MTU is suddenly reduced to < Y
Before this change, the kernel would be dropping packets till the next PMTUd run.
After this change, the PMTUd will be informed that it has to rerun (overriding the pmtud_interval), reducing the packet drop to a minimum.
How to test:
force knet_bench to send 1500 size packets with ping_data (requires code change) and start it.
reduce MTU on the interface from 1500 to 1300 (for example)
Notice an immediate trigger of PMTUd run in debug mode
Note: going up, from 1300 to 1500 will wait for the next PMTUd re-run as there is no immediate way to detect this change unless we start listening to kernel netlink sockets with libnl3 (investigation in progress but not critical enough atm).
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: 7d0d68ceb7d153bd5fd58cb5dccdfc8f7765f51c https://github.com/kronosnet/kronosnet/commit/7d0d68ceb7d153bd5fd58cb5dccdfc... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2018-01-03 (Wed, 03 Jan 2018)
Changed paths: M libknet/transport_udp.c
Log Message: ----------- [PMTUd] make PMTUd force_run notification more quiet
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: 3780ba8433ea458a52e01ba92108eb0cabafb035 https://github.com/kronosnet/kronosnet/commit/3780ba8433ea458a52e01ba92108eb... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2018-01-03 (Wed, 03 Jan 2018)
Changed paths: M libknet/threads_common.c
Log Message: ----------- [PMTUd] if PMTUd is rescheduled, then enforce a new run
the usleep between each PMTUd run will give time to the other threads to grab the wrlock
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: f7d49f4a3deb3e4d2db5b4a3d48df92e02be27d6 https://github.com/kronosnet/kronosnet/commit/f7d49f4a3deb3e4d2db5b4a3d48df9... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2018-01-03 (Wed, 03 Jan 2018)
Changed paths: M libknet/threads_pmtud.c
Log Message: ----------- [PMTUd] generate warning when there is a timeout receiving a response
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: fafed5941d2b4754edb33fd4c3640ac50940968a https://github.com/kronosnet/kronosnet/commit/fafed5941d2b4754edb33fd4c3640a... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2018-01-03 (Wed, 03 Jan 2018)
Changed paths: M libknet/threads_pmtud.c
Log Message: ----------- [PMTUd] amend warning message
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Compare: https://github.com/kronosnet/kronosnet/compare/e51aad809d89...fafed5941d2b