From f2de61a92ff2391ba50f6ac7151563c5355ea70c Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Thu, 28 Sep 2023 14:54:43 -0400 Subject: [PATCH] better handle packet sequence out-of-sync checking (additional current - 1 check); --- src/network/Network.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/network/Network.cpp b/src/network/Network.cpp index b8c36354..3e549e19 100644 --- a/src/network/Network.cpp +++ b/src/network/Network.cpp @@ -304,7 +304,7 @@ void Network::clock(uint32_t ms) else { if (m_rxDMRStreamId[slotNo] == streamId) { if (m_pktSeq != 0U && m_pktLastSeq != 0U) { - if (m_pktSeq >= 1U && m_pktSeq != m_pktLastSeq + 1) { + if (m_pktSeq >= 1U && ((m_pktSeq != m_pktLastSeq + 1) && (m_pktSeq - 1 != m_pktLastSeq + 1))) { LogWarning(LOG_NET, "DMR Stream %u out-of-sequence; %u != %u", streamId, m_pktSeq, m_pktLastSeq + 1); } } @@ -332,7 +332,7 @@ void Network::clock(uint32_t ms) else { if (m_rxP25StreamId == streamId) { if (m_pktSeq != 0U && m_pktLastSeq != 0U) { - if (m_pktSeq >= 1U && m_pktSeq != m_pktLastSeq + 1) { + if (m_pktSeq >= 1U && ((m_pktSeq != m_pktLastSeq + 1) && (m_pktSeq - 1 != m_pktLastSeq + 1))) { LogWarning(LOG_NET, "P25 Stream %u out-of-sequence; %u != %u", streamId, m_pktSeq, m_pktLastSeq + 1); } } @@ -360,7 +360,7 @@ void Network::clock(uint32_t ms) else { if (m_rxNXDNStreamId == streamId) { if (m_pktSeq != 0U && m_pktLastSeq != 0U) { - if (m_pktSeq >= 1U && m_pktSeq != m_pktLastSeq + 1) { + if (m_pktSeq >= 1U && ((m_pktSeq != m_pktLastSeq + 1) && (m_pktSeq - 1 != m_pktLastSeq + 1))) { LogWarning(LOG_NET, "NXDN Stream %u out-of-sequence; %u != %u", streamId, m_pktSeq, m_pktLastSeq + 1); } }