diff --git a/SOURCES/bz1765619-1-totemsrp-Reduce-MTU-to-left-room-second-mcast.patch b/SOURCES/bz1765619-1-totemsrp-Reduce-MTU-to-left-room-second-mcast.patch new file mode 100644 index 0000000..fe5a375 --- /dev/null +++ b/SOURCES/bz1765619-1-totemsrp-Reduce-MTU-to-left-room-second-mcast.patch @@ -0,0 +1,45 @@ +From ee8b8993d98b3f6af9c058194228fc534fcd0796 Mon Sep 17 00:00:00 2001 +From: Jan Friesse +Date: Mon, 7 Oct 2019 15:26:22 +0200 +Subject: [PATCH] totemsrp: Reduce MTU to left room second mcast + +Messages sent during recovery phase are encapsulated so such message has +extra size of mcast structure. This is not so big problem for UDPU, +because most of the switches are able to fragment and defragment packet +but it is problem for knet, because totempg is using maximum packet size +(65536 bytes) and when another header is added during retransmition, +then packet is too large. + +Solution is to reduce mtu by 2 * sizeof (struct mcast). + +Signed-off-by: Jan Friesse +Reviewed-by: Fabio M. Di Nitto +--- + exec/totemsrp.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/exec/totemsrp.c b/exec/totemsrp.c +index 548f1dc..0caded0 100644 +--- a/exec/totemsrp.c ++++ b/exec/totemsrp.c +@@ -803,7 +803,7 @@ static void totempg_mtu_changed(void *context, int net_mtu) + { + struct totemsrp_instance *instance = context; + +- instance->totem_config->net_mtu = net_mtu - sizeof (struct mcast); ++ instance->totem_config->net_mtu = net_mtu - 2 * sizeof (struct mcast); + + log_printf (instance->totemsrp_log_level_debug, + "Net MTU changed to %d, new value is %d", +@@ -5112,7 +5112,7 @@ void main_iface_change_fn ( + } + + void totemsrp_net_mtu_adjust (struct totem_config *totem_config) { +- totem_config->net_mtu -= sizeof (struct mcast); ++ totem_config->net_mtu -= 2 * sizeof (struct mcast); + } + + void totemsrp_service_ready_register ( +-- +1.8.3.1 + diff --git a/SPECS/corosync.spec b/SPECS/corosync.spec index c5cb6f6..e7c3dca 100644 --- a/SPECS/corosync.spec +++ b/SPECS/corosync.spec @@ -23,10 +23,12 @@ Name: corosync Summary: The Corosync Cluster Engine and Application Programming Interfaces Version: 3.0.2 -Release: 3%{?gitver}%{?dist} +Release: 3%{?gitver}%{?dist}.1 License: BSD URL: http://corosync.github.io/corosync/ Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz + +Patch0: bz1765619-1-totemsrp-Reduce-MTU-to-left-room-second-mcast.patch %if %{with spausedd} Source1: https://github.com/jfriesse/spausedd/releases/download/%{spausedd_version}/spausedd-%{spausedd_version}.tar.gz # VMGuestLib exists only for x86_64 architecture @@ -88,6 +90,8 @@ BuildRequires: pkgconfig(vmguestlib) %setup -q -n %{name}-%{version}%{?gittarver} %endif +%patch0 -p1 -b .bz1765619-1 + %build %if %{with runautogen} ./autogen.sh @@ -386,6 +390,12 @@ fi %endif %changelog +* Wed Oct 30 2019 Jan Friesse 3.0.2-3.1 +- Resolves: rhbz#1765619 + +- totemsrp: Reduce MTU to left room second mcast (rhbz#1765619) +- merge upstream commit ee8b8993d98b3f6af9c058194228fc534fcd0796 (rhbz#1765619) + * Tue Aug 06 2019 Jan Friesse - 3.0.2-3 - Resolves: rhbz#1738218