integ/base/linuxptp/centos/patches/0004-port-Don-t-renew-raw-transport.patch
Jim Somerville 8445cd91a1 Uprev linuxptp to version 3.1.1-1
We use the CentOS 8 version of the source package
and apply the same six patches that we applied to
the previous version, with one caveat.  Patch 3
had an additional test in it of the uncalibrated
state, and this test does not exist in the upstream
version of the patch.  Now patch 3 is identical
to the upstream version.

All five upstream patches have been refreshed to
what was actually accepted upstream and thus now
contain proper git headers.  The logic of those
five patches remain as they were, with the one
exception noted in the previous paragraph.

Patch 6 has also now been given a proper git header.

Change-Id: Ifd44680d2f190dc0c5662bd05bd214fccf50a2fd
Story: 2009130
Task: 43199
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
2021-09-03 17:24:27 -04:00

46 lines
1.6 KiB
Diff

From 5caa4d0a9161e6a33e269c8e445b322e4437e6b3 Mon Sep 17 00:00:00 2001
Message-Id: <5caa4d0a9161e6a33e269c8e445b322e4437e6b3.1630418391.git.Jim.Somerville@windriver.com>
In-Reply-To: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
References: <0389752e3aecf8d2b2743f16ce1408a58088bea9.1630418391.git.Jim.Somerville@windriver.com>
From: Miroslav Lichvar <mlichvar@redhat.com>
Date: Mon, 31 May 2021 11:07:55 +0200
Subject: [PATCH 4/6] port: Don't renew raw transport.
Renewing of the transport on announce/sync timeout is needed in the
client-only mode to avoid getting stuck with a broken multicast socket
when the link goes down.
This shouldn't be necessary with the raw transport. Closing and binding
of raw sockets can apparently be so slow that it triggers a false
positive in the clock check.
Reported-by: Amar Subramanyam <asubramanyam@altiostar.com>
Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
[commit 6df84259647757bc53818a039734f8ff85618c02 upstream]
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
---
port.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/port.c b/port.c
index 387d5a2..d26b87f 100644
--- a/port.c
+++ b/port.c
@@ -1805,6 +1805,12 @@ static int port_renew_transport(struct port *p)
if (!port_is_enabled(p)) {
return 0;
}
+
+ /* Closing and binding of raw sockets is too slow and unnecessary */
+ if (transport_type(p->trp) == TRANS_IEEE_802_3) {
+ return 0;
+ }
+
transport_close(p->trp, &p->fda);
port_clear_fda(p, FD_FIRST_TIMER);
res = transport_open(p->trp, p->iface, &p->fda, p->timestamping);
--
2.29.2