Fixed the port id map in the Port Data Set event handling. The port id is composed by port number and node index after the HA implementation. Code tidying. As definition, the port id and the port number are different. An existing port number variable was rennamed to prevent missinterpretation. Code tidying. The HA node state change processing was disabled when HA feature is not enabled. Test plan: PASS: Verify the phc2sys executable recognizes the port in the port state change event, when -a configuration option is used PASS: Verify the events in the HA scenario are being recognized Story: 2010723 Task: 49405 Change-Id: Iea2b3c4e7d7dcd07ca2ad52bc4042f80282b1a9a Signed-off-by: Andre Mauricio Zelak <andre.zelak@windriver.com>
47 lines
1.7 KiB
Diff
47 lines
1.7 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/56] 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>
|
|
Signed-off-by: Andre Mauricio Zelak <andre.zelak@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
|
|
|