Branch: refs/heads/new-pmtud
Home: https://github.com/kronosnet/kronosnet
Commit: 18fe60ab186a708827e7488aabe963363e10f37e
https://github.com/kronosnet/kronosnet/commit/18fe60ab186a708827e7488aabe96…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-12-30 (Sat, 30 Dec 2017)
Changed paths:
M libknet/internals.h
M libknet/tests/knet_bench.c
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(a)redhat.com>
Branch: refs/heads/new-pmtud
Home: https://github.com/kronosnet/kronosnet
Commit: 937bda599da77192ab9df3da4758770a2250bd89
https://github.com/kronosnet/kronosnet/commit/937bda599da77192ab9df3da47587…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-12-30 (Sat, 30 Dec 2017)
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(a)redhat.com>
Branch: refs/heads/new-pmtud
Home: https://github.com/kronosnet/kronosnet
Commit: 0fcec1f7054e900a47e2f61954849691de8bc425
https://github.com/kronosnet/kronosnet/commit/0fcec1f7054e900a47e2f61954849…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-12-29 (Fri, 29 Dec 2017)
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(a)redhat.com>
Branch: refs/heads/new-pmtud
Home: https://github.com/kronosnet/kronosnet
Commit: 6a6dfb6db83ef53b88c7717c4318cfb8993deb15
https://github.com/kronosnet/kronosnet/commit/6a6dfb6db83ef53b88c7717c4318c…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-12-29 (Fri, 29 Dec 2017)
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(a)redhat.com>
Branch: refs/heads/master
Home: https://github.com/kronosnet/knet-ansible-ci
Commit: 2542c131658f52ae22154cd0a2b3a7241a225142
https://github.com/kronosnet/knet-ansible-ci/commit/2542c131658f52ae22154cd…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-12-25 (Mon, 25 Dec 2017)
Changed paths:
M group_vars/all
M roles/corosync-tests/templates/corosync.conf.j2
M roles/kronosnet-tests/templates/knet_bench_wrapper.j2
M run-tests
Log Message:
-----------
Change -e to use subnets vs interfaces
example: run-tests -e 172.16.0.0/16,172.17.0.0/16,172.18.0.0/16,172.19.0.0/16,3ffe::1/64
it can contain a mix of ipv4 and ipv6 networks to use for testing.
TODO: disable ipv4 or ipv6 tests based on provided subnets.
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>