From 36c04a74ec421ca8419e3f7ec9cf47088a239113 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Wed, 19 Jun 2024 15:41:00 -0400 Subject: [PATCH] move the NET_FUNC* and NET_SUBFUNC* constants into proper namespaced enums; --- src/common/network/BaseNetwork.cpp | 32 +++++----- src/common/network/BaseNetwork.h | 40 ------------ src/common/network/FrameQueue.h | 2 +- src/common/network/RTPFNEHeader.cpp | 8 +-- src/common/network/RTPFNEHeader.h | 68 ++++++++++++++++++++- src/dfsi/network/DfsiPeerNetwork.cpp | 6 +- src/fne/network/DiagNetwork.cpp | 8 +-- src/fne/network/FNENetwork.cpp | 62 +++++++++---------- src/fne/network/PeerNetwork.cpp | 2 +- src/fne/network/callhandler/TagDMRData.cpp | 10 +-- src/fne/network/callhandler/TagNXDNData.cpp | 10 +-- src/fne/network/callhandler/TagP25Data.cpp | 12 ++-- src/host/network/Network.cpp | 36 +++++------ 13 files changed, 160 insertions(+), 136 deletions(-) diff --git a/src/common/network/BaseNetwork.cpp b/src/common/network/BaseNetwork.cpp index f3f14da3..2aa8b9a6 100644 --- a/src/common/network/BaseNetwork.cpp +++ b/src/common/network/BaseNetwork.cpp @@ -122,7 +122,7 @@ bool BaseNetwork::writeGrantReq(const uint8_t mode, const uint32_t srcId, const buffer[20U] = mode; // DVM Mode State - return writeMaster({ NET_FUNC_GRANT_REQ, NET_SUBFUNC_NOP }, buffer, MSG_HDR_SIZE, 0U, 0U); + return writeMaster({ NET_FUNC::GRANT_REQ, NET_SUBFUNC::NOP }, buffer, MSG_HDR_SIZE, 0U, 0U); } /// @@ -145,7 +145,7 @@ bool BaseNetwork::writeActLog(const char* message) ::strcpy(buffer + 11U, message); - return writeMaster({ NET_FUNC_TRANSFER, NET_TRANSFER_SUBFUNC_ACTIVITY }, (uint8_t*)buffer, (uint32_t)len + 12U, + return writeMaster({ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_ACTIVITY }, (uint8_t*)buffer, (uint32_t)len + 12U, 0U, 0U, false, m_useAlternatePortForDiagnostics); } @@ -169,7 +169,7 @@ bool BaseNetwork::writeDiagLog(const char* message) ::strcpy(buffer + 11U, message); - return writeMaster({ NET_FUNC_TRANSFER, NET_TRANSFER_SUBFUNC_DIAG }, (uint8_t*)buffer, (uint32_t)len + 12U, + return writeMaster({ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_DIAG }, (uint8_t*)buffer, (uint32_t)len + 12U, 0U, 0U, false, m_useAlternatePortForDiagnostics); } @@ -197,7 +197,7 @@ bool BaseNetwork::writePeerStatus(json::object obj) ::strcpy(buffer + 11U, json.c_str()); - return writeMaster({ NET_FUNC_TRANSFER, NET_TRANSFER_SUBFUNC_STATUS }, (uint8_t*)buffer, (uint32_t)len + 12U, + return writeMaster({ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_STATUS }, (uint8_t*)buffer, (uint32_t)len + 12U, 0U, 0U, false, m_useAlternatePortForDiagnostics); } @@ -216,7 +216,7 @@ bool BaseNetwork::announceGroupAffiliation(uint32_t srcId, uint32_t dstId) __SET_UINT16(srcId, buffer, 0U); __SET_UINT16(dstId, buffer, 3U); - return writeMaster({ NET_FUNC_ANNOUNCE, NET_ANNC_SUBFUNC_GRP_AFFIL }, buffer, MSG_ANNC_GRP_AFFIL, 0U, 0U); + return writeMaster({ NET_FUNC::ANNOUNCE, NET_SUBFUNC::ANNC_SUBFUNC_GRP_AFFIL }, buffer, MSG_ANNC_GRP_AFFIL, 0U, 0U); } /// @@ -232,7 +232,7 @@ bool BaseNetwork::announceUnitRegistration(uint32_t srcId) __SET_UINT16(srcId, buffer, 0U); - return writeMaster({ NET_FUNC_ANNOUNCE, NET_ANNC_SUBFUNC_UNIT_REG }, buffer, MSG_ANNC_UNIT_REG, 0U, 0U); + return writeMaster({ NET_FUNC::ANNOUNCE, NET_SUBFUNC::ANNC_SUBFUNC_UNIT_REG }, buffer, MSG_ANNC_UNIT_REG, 0U, 0U); } /// @@ -248,7 +248,7 @@ bool BaseNetwork::announceUnitDeregistration(uint32_t srcId) __SET_UINT16(srcId, buffer, 0U); - return writeMaster({ NET_FUNC_ANNOUNCE, NET_ANNC_SUBFUNC_UNIT_DEREG }, buffer, MSG_ANNC_UNIT_REG, 0U, 0U); + return writeMaster({ NET_FUNC::ANNOUNCE, NET_SUBFUNC::ANNC_SUBFUNC_UNIT_DEREG }, buffer, MSG_ANNC_UNIT_REG, 0U, 0U); } /// @@ -273,7 +273,7 @@ bool BaseNetwork::announceAffiliationUpdate(const std::unordered_map @@ -297,7 +297,7 @@ bool BaseNetwork::announceSiteVCs(const std::vector peers) offs += 4U; } - return writeMaster({ NET_FUNC_ANNOUNCE, NET_ANNC_SUBFUNC_SITE_VC }, buffer, 4U + (peers.size() * 4U), 0U, 0U); + return writeMaster({ NET_FUNC::ANNOUNCE, NET_SUBFUNC::ANNC_SUBFUNC_SITE_VC }, buffer, 4U + (peers.size() * 4U), 0U, 0U); } /// @@ -475,7 +475,7 @@ bool BaseNetwork::writeDMR(const dmr::data::Data& data, bool noSequence) seq = RTP_END_OF_CALL_SEQ; } - return writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_DMR }, message.get(), messageLength, seq, m_dmrStreamId[slotIndex]); + return writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_DMR }, message.get(), messageLength, seq, m_dmrStreamId[slotIndex]); } /// @@ -548,7 +548,7 @@ bool BaseNetwork::writeP25LDU1(const p25::lc::LC& control, const p25::data::LowS return false; } - return writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, pktSeq(resetSeq), m_p25StreamId); + return writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, pktSeq(resetSeq), m_p25StreamId); } /// @@ -575,7 +575,7 @@ bool BaseNetwork::writeP25LDU2(const p25::lc::LC& control, const p25::data::LowS return false; } - return writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, pktSeq(resetSeq), m_p25StreamId); + return writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, pktSeq(resetSeq), m_p25StreamId); } /// @@ -607,7 +607,7 @@ bool BaseNetwork::writeP25TDU(const p25::lc::LC& control, const p25::data::LowSp seq = RTP_END_OF_CALL_SEQ; } - return writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, seq, m_p25StreamId); + return writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, seq, m_p25StreamId); } /// @@ -631,7 +631,7 @@ bool BaseNetwork::writeP25TSDU(const p25::lc::LC& control, const uint8_t* data) return false; } - return writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, RTP_END_OF_CALL_SEQ, m_p25StreamId); + return writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, RTP_END_OF_CALL_SEQ, m_p25StreamId); } /// @@ -666,7 +666,7 @@ bool BaseNetwork::writeP25PDU(const p25::data::DataHeader& header, const uint8_t seq = RTP_END_OF_CALL_SEQ; } - return writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, seq, m_p25StreamId); + return writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, seq, m_p25StreamId); } /// @@ -749,7 +749,7 @@ bool BaseNetwork::writeNXDN(const nxdn::lc::RTCH& lc, const uint8_t* data, const seq = RTP_END_OF_CALL_SEQ; } - return writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_NXDN }, message.get(), messageLength, seq, m_nxdnStreamId); + return writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_NXDN }, message.get(), messageLength, seq, m_nxdnStreamId); } /// diff --git a/src/common/network/BaseNetwork.h b/src/common/network/BaseNetwork.h index 43e2213d..9ca7c9bf 100644 --- a/src/common/network/BaseNetwork.h +++ b/src/common/network/BaseNetwork.h @@ -74,46 +74,6 @@ namespace network const uint32_t P25_LDU2_PACKET_LENGTH = 181U; // 24 byte header + DFSI data + 1 byte frame type const uint32_t P25_TSDU_PACKET_LENGTH = 69U; // 24 byte header + TSDU data - const uint8_t NET_SUBFUNC_NOP = 0xFFU; // No Operation Sub-Function - - const uint8_t NET_FUNC_PROTOCOL = 0x00U; // Network Protocol Function - const uint8_t NET_PROTOCOL_SUBFUNC_DMR = 0x00U; // DMR - const uint8_t NET_PROTOCOL_SUBFUNC_P25 = 0x01U; // P25 - const uint8_t NET_PROTOCOL_SUBFUNC_NXDN = 0x02U; // NXDN - - const uint8_t NET_FUNC_MASTER = 0x01U; // Network Master Function - const uint8_t NET_MASTER_SUBFUNC_WL_RID = 0x00U; // Whitelist RIDs - const uint8_t NET_MASTER_SUBFUNC_BL_RID = 0x01U; // Blacklist RIDs - const uint8_t NET_MASTER_SUBFUNC_ACTIVE_TGS = 0x02U; // Active TGIDs - const uint8_t NET_MASTER_SUBFUNC_DEACTIVE_TGS = 0x03U; // Deactive TGIDs - - const uint8_t NET_FUNC_RPTL = 0x60U; // Repeater Login - const uint8_t NET_FUNC_RPTK = 0x61U; // Repeater Authorisation - const uint8_t NET_FUNC_RPTC = 0x62U; // Repeater Configuration - - const uint8_t NET_FUNC_RPT_CLOSING = 0x70U; // Repeater Closing - const uint8_t NET_FUNC_MST_CLOSING = 0x71U; // Master Closing - - const uint8_t NET_FUNC_PING = 0x74U; // Ping - const uint8_t NET_FUNC_PONG = 0x75U; // Pong - - const uint8_t NET_FUNC_GRANT_REQ = 0x7AU; // Grant Request - - const uint8_t NET_FUNC_ACK = 0x7EU; // Packet Acknowledge - const uint8_t NET_FUNC_NAK = 0x7FU; // Packet Negative Acknowledge - - const uint8_t NET_FUNC_TRANSFER = 0x90U; // Network Transfer Function - const uint8_t NET_TRANSFER_SUBFUNC_ACTIVITY = 0x01U; // Activity Log Transfer - const uint8_t NET_TRANSFER_SUBFUNC_DIAG = 0x02U; // Diagnostic Log Transfer - const uint8_t NET_TRANSFER_SUBFUNC_STATUS = 0x03U; // Status Transfer - - const uint8_t NET_FUNC_ANNOUNCE = 0x91U; // Network Announce Function - const uint8_t NET_ANNC_SUBFUNC_GRP_AFFIL = 0x00U; // Announce Group Affiliation - const uint8_t NET_ANNC_SUBFUNC_UNIT_REG = 0x01U; // Announce Unit Registration - const uint8_t NET_ANNC_SUBFUNC_UNIT_DEREG = 0x02U; // Announce Unit Deregistration - const uint8_t NET_ANNC_SUBFUNC_AFFILS = 0x90U; // Update All Affiliations - const uint8_t NET_ANNC_SUBFUNC_SITE_VC = 0x9AU; // Announce Site VCs - // --------------------------------------------------------------------------- // Network Peer Connection Status // --------------------------------------------------------------------------- diff --git a/src/common/network/FrameQueue.h b/src/common/network/FrameQueue.h index 074a5e58..c45c79b8 100644 --- a/src/common/network/FrameQueue.h +++ b/src/common/network/FrameQueue.h @@ -34,7 +34,7 @@ namespace network // --------------------------------------------------------------------------- class HOST_SW_API FrameQueue : public RawFrameQueue { - public: typedef std::pair OpcodePair; + public: typedef std::pair OpcodePair; public: auto operator=(FrameQueue&) -> FrameQueue& = delete; auto operator=(FrameQueue&&) -> FrameQueue& = delete; diff --git a/src/common/network/RTPFNEHeader.cpp b/src/common/network/RTPFNEHeader.cpp index 65d559ec..d09a5c0c 100644 --- a/src/common/network/RTPFNEHeader.cpp +++ b/src/common/network/RTPFNEHeader.cpp @@ -27,8 +27,8 @@ using namespace network::frame; RTPFNEHeader::RTPFNEHeader() : RTPExtensionHeader(), m_crc16(0U), - m_func(0U), - m_subFunc(0U), + m_func(NET_FUNC::ILLEGAL), + m_subFunc(NET_SUBFUNC::NOP), m_streamId(0U), m_peerId(0U), m_messageLength(0U) @@ -59,8 +59,8 @@ bool RTPFNEHeader::decode(const uint8_t* data) } m_crc16 = (data[4U] << 8) | (data[5U] << 0); // CRC-16 - m_func = data[6U]; // Function - m_subFunc = data[7U]; // Sub-Function + m_func = (NET_FUNC::ENUM)data[6U]; // Function + m_subFunc = (NET_SUBFUNC::ENUM)data[7U]; // Sub-Function m_streamId = __GET_UINT32(data, 8U); // Stream ID m_peerId = __GET_UINT32(data, 12U); // Peer ID m_messageLength = __GET_UINT32(data, 16U); // Message Length diff --git a/src/common/network/RTPFNEHeader.h b/src/common/network/RTPFNEHeader.h index 5da653bf..29eda868 100644 --- a/src/common/network/RTPFNEHeader.h +++ b/src/common/network/RTPFNEHeader.h @@ -31,6 +31,70 @@ namespace network { + // --------------------------------------------------------------------------- + // Constants + // --------------------------------------------------------------------------- + + /// + /// Network Functions + /// + namespace NET_FUNC { + enum ENUM : uint8_t { + ILLEGAL = 0xFFU, // + + PROTOCOL = 0x00U, // Network Protocol Function + + MASTER = 0x01U, // Network Master Function + + RPTL = 0x60U, // Repeater Login + RPTK = 0x61U, // Repeater Authorisation + RPTC = 0x62U, // Repeater Configuration + + RPT_CLOSING = 0x70U, // Repeater Closing + MST_CLOSING = 0x71U, // Master Closing + + PING = 0x74U, // Ping + PONG = 0x75U, // Pong + + GRANT_REQ = 0x7AU, // Grant Request + + ACK = 0x7EU, // Packet Acknowledge + NAK = 0x7FU, // Packet Negative Acknowledge + + TRANSFER = 0x90U, // Network Transfer Function + + ANNOUNCE = 0x91U // Network Announce Function + }; + }; + + /// + /// Network Sub-Functions + /// + namespace NET_SUBFUNC { + enum ENUM : uint8_t { + NOP = 0xFFU, // No Operation Sub-Function + + PROTOCOL_SUBFUNC_DMR = 0x00U, // DMR + PROTOCOL_SUBFUNC_P25 = 0x01U, // P25 + PROTOCOL_SUBFUNC_NXDN = 0x02U, // NXDN + + MASTER_SUBFUNC_WL_RID = 0x00U, // Whitelist RIDs + MASTER_SUBFUNC_BL_RID = 0x01U, // Blacklist RIDs + MASTER_SUBFUNC_ACTIVE_TGS = 0x02U, // Active TGIDs + MASTER_SUBFUNC_DEACTIVE_TGS = 0x03U, // Deactive TGIDs + + TRANSFER_SUBFUNC_ACTIVITY = 0x01U, // Activity Log Transfer + TRANSFER_SUBFUNC_DIAG = 0x02U, // Diagnostic Log Transfer + TRANSFER_SUBFUNC_STATUS = 0x03U, // Status Transfer + + ANNC_SUBFUNC_GRP_AFFIL = 0x00U, // Announce Group Affiliation + ANNC_SUBFUNC_UNIT_REG = 0x01U, // Announce Unit Registration + ANNC_SUBFUNC_UNIT_DEREG = 0x02U, // Announce Unit Deregistration + ANNC_SUBFUNC_AFFILS = 0x90U, // Update All Affiliations + ANNC_SUBFUNC_SITE_VC = 0x9AU // Announce Site VCs + }; + }; + namespace frame { // --------------------------------------------------------------------------- @@ -60,9 +124,9 @@ namespace network /// Traffic payload packet CRC-16. __PROPERTY(uint16_t, crc16, CRC); /// Function. - __PROPERTY(uint8_t, func, Function); + __PROPERTY(NET_FUNC::ENUM, func, Function); /// Sub-function. - __PROPERTY(uint8_t, subFunc, SubFunction); + __PROPERTY(NET_SUBFUNC::ENUM, subFunc, SubFunction); /// Traffic Stream ID. __PROPERTY(uint32_t, streamId, StreamId); /// Traffic Peer ID. diff --git a/src/dfsi/network/DfsiPeerNetwork.cpp b/src/dfsi/network/DfsiPeerNetwork.cpp index ff445d81..eccd57ad 100644 --- a/src/dfsi/network/DfsiPeerNetwork.cpp +++ b/src/dfsi/network/DfsiPeerNetwork.cpp @@ -78,7 +78,7 @@ bool DfsiPeerNetwork::writeP25LDU1(const p25::lc::LC& control, const p25::data:: return false; } - return writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, pktSeq(resetSeq), m_p25StreamId); + return writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, pktSeq(resetSeq), m_p25StreamId); } /// @@ -105,7 +105,7 @@ bool DfsiPeerNetwork::writeP25LDU2(const p25::lc::LC& control, const p25::data:: return false; } - return writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, pktSeq(resetSeq), m_p25StreamId); + return writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, pktSeq(resetSeq), m_p25StreamId); } // --------------------------------------------------------------------------- @@ -170,7 +170,7 @@ bool DfsiPeerNetwork::writeConfig() Utils::dump(1U, "Network Message, Configuration", (uint8_t*)buffer, json.length() + 8U); } - return writeMaster({ NET_FUNC_RPTC, NET_SUBFUNC_NOP }, (uint8_t*)buffer, json.length() + 8U, pktSeq(), m_loginStreamId); + return writeMaster({ NET_FUNC::RPTC, NET_SUBFUNC::NOP }, (uint8_t*)buffer, json.length() + 8U, pktSeq(), m_loginStreamId); } // --------------------------------------------------------------------------- diff --git a/src/fne/network/DiagNetwork.cpp b/src/fne/network/DiagNetwork.cpp index dce18f5a..3d839008 100644 --- a/src/fne/network/DiagNetwork.cpp +++ b/src/fne/network/DiagNetwork.cpp @@ -207,9 +207,9 @@ void* DiagNetwork::threadedNetworkRx(void* arg) // process incoming message frame opcodes switch (req->fneHeader.getFunction()) { - case NET_FUNC_TRANSFER: + case NET_FUNC::TRANSFER: { - if (req->fneHeader.getSubFunction() == NET_TRANSFER_SUBFUNC_ACTIVITY) { // Peer Activity Log Transfer + if (req->fneHeader.getSubFunction() == NET_SUBFUNC::TRANSFER_SUBFUNC_ACTIVITY) { // Peer Activity Log Transfer if (network->m_allowActivityTransfer) { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; @@ -243,7 +243,7 @@ void* DiagNetwork::threadedNetworkRx(void* arg) } } } - else if (req->fneHeader.getSubFunction() == NET_TRANSFER_SUBFUNC_DIAG) { // Peer Diagnostic Log Transfer + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::TRANSFER_SUBFUNC_DIAG) { // Peer Diagnostic Log Transfer if (network->m_allowDiagnosticTransfer) { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; @@ -280,7 +280,7 @@ void* DiagNetwork::threadedNetworkRx(void* arg) } } } - else if (req->fneHeader.getSubFunction() == NET_TRANSFER_SUBFUNC_STATUS) { // Peer Status Transfer + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::TRANSFER_SUBFUNC_STATUS) { // Peer Status Transfer // report peer status to InfluxDB if (network->m_enableInfluxDB) { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { diff --git a/src/fne/network/FNENetwork.cpp b/src/fne/network/FNENetwork.cpp index 47e8ecf6..3232229d 100644 --- a/src/fne/network/FNENetwork.cpp +++ b/src/fne/network/FNENetwork.cpp @@ -395,7 +395,7 @@ void FNENetwork::close() ::memset(buffer, 0x00U, 1U); for (auto peer : m_peers) { - writePeer(peer.first, { NET_FUNC_MST_CLOSING, NET_SUBFUNC_NOP }, buffer, 1U, (ushort)0U, 0U); + writePeer(peer.first, { NET_FUNC::MST_CLOSING, NET_SUBFUNC::NOP }, buffer, 1U, (ushort)0U, 0U); } } @@ -460,7 +460,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } // if we don't have a stream ID and are receiving call data -- throw an error and discard - if (streamId == 0 && req->fneHeader.getFunction() == NET_FUNC_PROTOCOL) { + if (streamId == 0 && req->fneHeader.getFunction() == NET_FUNC::PROTOCOL) { std::string peerIdentity = network->resolvePeerIdentity(peerId); LogError(LOG_NET, "PEER %u (%s) malformed packet (no stream ID for a call?)", peerId, peerIdentity.c_str()); @@ -473,9 +473,9 @@ void* FNENetwork::threadedNetworkRx(void* arg) // process incoming message frame opcodes switch (req->fneHeader.getFunction()) { - case NET_FUNC_PROTOCOL: + case NET_FUNC::PROTOCOL: { - if (req->fneHeader.getSubFunction() == NET_PROTOCOL_SUBFUNC_DMR) { // Encapsulated DMR data frame + if (req->fneHeader.getSubFunction() == NET_SUBFUNC::PROTOCOL_SUBFUNC_DMR) { // Encapsulated DMR data frame if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; if (connection != nullptr) { @@ -498,7 +498,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) network->writePeerNAK(peerId, TAG_DMR_DATA, NET_CONN_NAK_FNE_UNAUTHORIZED); } } - else if (req->fneHeader.getSubFunction() == NET_PROTOCOL_SUBFUNC_P25) { // Encapsulated P25 data frame + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::PROTOCOL_SUBFUNC_P25) { // Encapsulated P25 data frame if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; if (connection != nullptr) { @@ -521,7 +521,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) network->writePeerNAK(peerId, TAG_P25_DATA, NET_CONN_NAK_FNE_UNAUTHORIZED); } } - else if (req->fneHeader.getSubFunction() == NET_PROTOCOL_SUBFUNC_NXDN) { // Encapsulated NXDN data frame + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::PROTOCOL_SUBFUNC_NXDN) { // Encapsulated NXDN data frame if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; if (connection != nullptr) { @@ -550,7 +550,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } break; - case NET_FUNC_RPTL: // Repeater Login + case NET_FUNC::RPTL: // Repeater Login { if (peerId > 0 && (network->m_peers.find(peerId) == network->m_peers.end())) { if (network->m_peers.size() >= MAX_HARD_CONN_CAP) { @@ -639,7 +639,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } } break; - case NET_FUNC_RPTK: // Repeater Authentication + case NET_FUNC::RPTK: // Repeater Authentication { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; @@ -737,7 +737,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } } break; - case NET_FUNC_RPTC: // Repeater Configuration + case NET_FUNC::RPTC: // Repeater Configuration { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; @@ -838,7 +838,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } break; - case NET_FUNC_RPT_CLOSING: // Repeater Closing (Disconnect) + case NET_FUNC::RPT_CLOSING: // Repeater Closing (Disconnect) { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; @@ -857,7 +857,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } } break; - case NET_FUNC_PING: // Repeater Ping + case NET_FUNC::PING: // Repeater Ping { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; @@ -884,7 +884,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } network->m_peers[peerId] = connection; - network->writePeerCommand(peerId, { NET_FUNC_PONG, NET_SUBFUNC_NOP }); + network->writePeerCommand(peerId, { NET_FUNC::PONG, NET_SUBFUNC::NOP }); if (network->m_reportPeerPing) { LogInfoEx(LOG_NET, "PEER %u (%s) ping, pingsReceived = %u, lastPing = %u", peerId, connection->identity().c_str(), @@ -899,7 +899,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } break; - case NET_FUNC_GRANT_REQ: // Repeater Grant Request + case NET_FUNC::GRANT_REQ: // Repeater Grant Request { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; @@ -958,15 +958,15 @@ void* FNENetwork::threadedNetworkRx(void* arg) } break; - case NET_FUNC_TRANSFER: + case NET_FUNC::TRANSFER: { // are activity/diagnostic transfers occurring from the alternate port? if (network->m_host->m_useAlternatePortForDiagnostics) { - break; // for performance and other reasons -- simply ignore the entire NET_FUNC_TRANSFER at this point + break; // for performance and other reasons -- simply ignore the entire NET_FUNC::TRANSFER at this point // since they should be coming from the alternate port anyway } - if (req->fneHeader.getSubFunction() == NET_TRANSFER_SUBFUNC_ACTIVITY) { // Peer Activity Log Transfer + if (req->fneHeader.getSubFunction() == NET_SUBFUNC::TRANSFER_SUBFUNC_ACTIVITY) { // Peer Activity Log Transfer if (network->m_allowActivityTransfer) { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; @@ -1000,7 +1000,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } } } - else if (req->fneHeader.getSubFunction() == NET_TRANSFER_SUBFUNC_DIAG) { // Peer Diagnostic Log Transfer + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::TRANSFER_SUBFUNC_DIAG) { // Peer Diagnostic Log Transfer if (network->m_allowDiagnosticTransfer) { if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; @@ -1037,7 +1037,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } } } - else if (req->fneHeader.getSubFunction() == NET_TRANSFER_SUBFUNC_STATUS) { // Peer Status Transfer + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::TRANSFER_SUBFUNC_STATUS) { // Peer Status Transfer // main traffic port status transfers aren't supported for performance reasons } else { @@ -1047,9 +1047,9 @@ void* FNENetwork::threadedNetworkRx(void* arg) } break; - case NET_FUNC_ANNOUNCE: + case NET_FUNC::ANNOUNCE: { - if (req->fneHeader.getSubFunction() == NET_ANNC_SUBFUNC_GRP_AFFIL) { // Announce Group Affiliation + if (req->fneHeader.getSubFunction() == NET_SUBFUNC::ANNC_SUBFUNC_GRP_AFFIL) { // Announce Group Affiliation if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; if (connection != nullptr) { @@ -1072,7 +1072,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } } } - else if (req->fneHeader.getSubFunction() == NET_ANNC_SUBFUNC_UNIT_REG) { // Announce Unit Registration + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::ANNC_SUBFUNC_UNIT_REG) { // Announce Unit Registration if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; if (connection != nullptr) { @@ -1093,7 +1093,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } } } - else if (req->fneHeader.getSubFunction() == NET_ANNC_SUBFUNC_UNIT_DEREG) { // Announce Unit Deregistration + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::ANNC_SUBFUNC_UNIT_DEREG) { // Announce Unit Deregistration if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; if (connection != nullptr) { @@ -1114,7 +1114,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } } } - else if (req->fneHeader.getSubFunction() == NET_ANNC_SUBFUNC_AFFILS) { // Announce Update All Affiliations + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::ANNC_SUBFUNC_AFFILS) { // Announce Update All Affiliations if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; if (connection != nullptr) { @@ -1149,7 +1149,7 @@ void* FNENetwork::threadedNetworkRx(void* arg) } } } - else if (req->fneHeader.getSubFunction() == NET_ANNC_SUBFUNC_SITE_VC) { // Announce Site VCs + else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::ANNC_SUBFUNC_SITE_VC) { // Announce Site VCs if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) { FNEPeerConnection* connection = network->m_peers[peerId]; if (connection != nullptr) { @@ -1474,7 +1474,7 @@ void FNENetwork::writeWhitelistRIDs(uint32_t peerId) offs += 4U; } - writePeerCommand(peerId, { NET_FUNC_MASTER, NET_MASTER_SUBFUNC_WL_RID }, + writePeerCommand(peerId, { NET_FUNC::MASTER, NET_SUBFUNC::MASTER_SUBFUNC_WL_RID }, payload, bufSize, true); } @@ -1549,7 +1549,7 @@ void FNENetwork::writeBlacklistRIDs(uint32_t peerId) offs += 4U; } - writePeerCommand(peerId, { NET_FUNC_MASTER, NET_MASTER_SUBFUNC_BL_RID }, + writePeerCommand(peerId, { NET_FUNC::MASTER, NET_SUBFUNC::MASTER_SUBFUNC_BL_RID }, payload, bufSize, true); } @@ -1632,7 +1632,7 @@ void FNENetwork::writeTGIDs(uint32_t peerId) offs += 5U; } - writePeerCommand(peerId, { NET_FUNC_MASTER, NET_MASTER_SUBFUNC_ACTIVE_TGS }, + writePeerCommand(peerId, { NET_FUNC::MASTER, NET_SUBFUNC::MASTER_SUBFUNC_ACTIVE_TGS }, payload, 4U + (tgidList.size() * 5U), true); } @@ -1694,7 +1694,7 @@ void FNENetwork::writeDeactiveTGIDs(uint32_t peerId) offs += 5U; } - writePeerCommand(peerId, { NET_FUNC_MASTER, NET_MASTER_SUBFUNC_DEACTIVE_TGS }, + writePeerCommand(peerId, { NET_FUNC::MASTER, NET_SUBFUNC::MASTER_SUBFUNC_DEACTIVE_TGS }, payload, 4U + (tgidList.size() * 5U), true); } @@ -1807,7 +1807,7 @@ bool FNENetwork::writePeerACK(uint32_t peerId, const uint8_t* data, uint32_t len ::memcpy(buffer + 6U, data, length); } - return writePeer(peerId, { NET_FUNC_ACK, NET_SUBFUNC_NOP }, buffer, length + 10U, RTP_END_OF_CALL_SEQ, false, true); + return writePeer(peerId, { NET_FUNC::ACK, NET_SUBFUNC::NOP }, buffer, length + 10U, RTP_END_OF_CALL_SEQ, false, true); } /// @@ -1869,7 +1869,7 @@ bool FNENetwork::writePeerNAK(uint32_t peerId, const char* tag, NET_CONN_NAK_REA __SET_UINT16B((uint16_t)reason, buffer, 10U); // Reason logPeerNAKReason(peerId, tag, reason); - return writePeer(peerId, { NET_FUNC_NAK, NET_SUBFUNC_NOP }, buffer, 10U, RTP_END_OF_CALL_SEQ, false, true); + return writePeer(peerId, { NET_FUNC::NAK, NET_SUBFUNC::NOP }, buffer, 10U, RTP_END_OF_CALL_SEQ, false, true); } /// @@ -1893,5 +1893,5 @@ bool FNENetwork::writePeerNAK(uint32_t peerId, const char* tag, NET_CONN_NAK_REA logPeerNAKReason(peerId, tag, reason); return m_frameQueue->write(buffer, 12U, createStreamId(), peerId, m_peerId, - { NET_FUNC_NAK, NET_SUBFUNC_NOP }, 0U, addr, addrLen); + { NET_FUNC::NAK, NET_SUBFUNC::NOP }, 0U, addr, addrLen); } diff --git a/src/fne/network/PeerNetwork.cpp b/src/fne/network/PeerNetwork.cpp index ca330b43..05be3277 100644 --- a/src/fne/network/PeerNetwork.cpp +++ b/src/fne/network/PeerNetwork.cpp @@ -133,5 +133,5 @@ bool PeerNetwork::writeConfig() Utils::dump(1U, "Network Message, Configuration", (uint8_t*)buffer, json.length() + 8U); } - return writeMaster({ NET_FUNC_RPTC, NET_SUBFUNC_NOP }, (uint8_t*)buffer, json.length() + 8U, pktSeq(), m_loginStreamId); + return writeMaster({ NET_FUNC::RPTC, NET_SUBFUNC::NOP }, (uint8_t*)buffer, json.length() + 8U, pktSeq(), m_loginStreamId); } diff --git a/src/fne/network/callhandler/TagDMRData.cpp b/src/fne/network/callhandler/TagDMRData.cpp index 82032d9c..e2f4c579 100644 --- a/src/fne/network/callhandler/TagDMRData.cpp +++ b/src/fne/network/callhandler/TagDMRData.cpp @@ -274,7 +274,7 @@ bool TagDMRData::processFrame(const uint8_t* data, uint32_t len, uint32_t peerId // perform TGID route rewrites if configured routeRewrite(outboundPeerBuffer, peer.first, dmrData, dataType, dstId, slotNo); - m_network->writePeer(peer.first, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_DMR }, outboundPeerBuffer, len, pktSeq, streamId, true); + m_network->writePeer(peer.first, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_DMR }, outboundPeerBuffer, len, pktSeq, streamId, true); if (m_network->m_debug) { LogDebug(LOG_NET, "DMR, srcPeer = %u, dstPeer = %u, seqNo = %u, srcId = %u, dstId = %u, flco = $%02X, slotNo = %u, len = %u, pktSeq = %u, stream = %u, external = %u", peerId, peer.first, seqNo, srcId, dstId, flco, slotNo, len, pktSeq, streamId, external); @@ -318,7 +318,7 @@ bool TagDMRData::processFrame(const uint8_t* data, uint32_t len, uint32_t peerId // perform TGID route rewrites if configured routeRewrite(outboundPeerBuffer, dstPeerId, dmrData, dataType, dstId, slotNo); - peer.second->writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_DMR }, outboundPeerBuffer, len, pktSeq, streamId); + peer.second->writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_DMR }, outboundPeerBuffer, len, pktSeq, streamId); if (m_network->m_debug) { LogDebug(LOG_NET, "DMR, srcPeer = %u, dstPeer = %u, seqNo = %u, srcId = %u, dstId = %u, flco = $%02X, slotNo = %u, len = %u, pktSeq = %u, stream = %u, external = %u", peerId, dstPeerId, seqNo, srcId, dstId, flco, slotNo, len, pktSeq, streamId, external); @@ -398,7 +398,7 @@ void TagDMRData::playbackParrot() auto& pkt = m_parrotFrames[0]; if (pkt.buffer != nullptr) { if (m_network->m_parrotOnlyOriginating) { - m_network->writePeer(pkt.peerId, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_DMR }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); + m_network->writePeer(pkt.peerId, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_DMR }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); if (m_network->m_debug) { LogDebug(LOG_NET, "DMR, parrot, dstPeer = %u, len = %u, pktSeq = %u, streamId = %u", pkt.peerId, pkt.bufferLen, pkt.pktSeq, pkt.streamId); @@ -407,7 +407,7 @@ void TagDMRData::playbackParrot() else { // repeat traffic to the connected peers for (auto peer : m_network->m_peers) { - m_network->writePeer(peer.first, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_DMR }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); + m_network->writePeer(peer.first, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_DMR }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); if (m_network->m_debug) { LogDebug(LOG_NET, "DMR, parrot, dstPeer = %u, len = %u, pktSeq = %u, streamId = %u", peer.first, pkt.bufferLen, pkt.pktSeq, pkt.streamId); @@ -983,5 +983,5 @@ void TagDMRData::write_CSBK(uint32_t peerId, uint8_t slot, lc::CSBK* csbk) return; } - m_network->writePeer(peerId, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_DMR }, message.get(), messageLength, RTP_END_OF_CALL_SEQ, streamId, false, true); + m_network->writePeer(peerId, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_DMR }, message.get(), messageLength, RTP_END_OF_CALL_SEQ, streamId, false, true); } diff --git a/src/fne/network/callhandler/TagNXDNData.cpp b/src/fne/network/callhandler/TagNXDNData.cpp index 4ea870bb..50d05b41 100644 --- a/src/fne/network/callhandler/TagNXDNData.cpp +++ b/src/fne/network/callhandler/TagNXDNData.cpp @@ -239,7 +239,7 @@ bool TagNXDNData::processFrame(const uint8_t* data, uint32_t len, uint32_t peerI // perform TGID route rewrites if configured routeRewrite(outboundPeerBuffer, peer.first, messageType, dstId); - m_network->writePeer(peer.first, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_NXDN }, outboundPeerBuffer, len, pktSeq, streamId, true); + m_network->writePeer(peer.first, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_NXDN }, outboundPeerBuffer, len, pktSeq, streamId, true); if (m_network->m_debug) { LogDebug(LOG_NET, "NXDN, srcPeer = %u, dstPeer = %u, messageType = $%02X, srcId = %u, dstId = %u, len = %u, pktSeq = %u, streamId = %u, external = %u", peerId, peer.first, messageType, srcId, dstId, len, pktSeq, streamId, external); @@ -283,7 +283,7 @@ bool TagNXDNData::processFrame(const uint8_t* data, uint32_t len, uint32_t peerI // perform TGID route rewrites if configured routeRewrite(outboundPeerBuffer, dstPeerId, messageType, dstId); - peer.second->writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_NXDN }, outboundPeerBuffer, len, pktSeq, streamId); + peer.second->writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_NXDN }, outboundPeerBuffer, len, pktSeq, streamId); if (m_network->m_debug) { LogDebug(LOG_NET, "NXDN, srcPeer = %u, dstPeer = %u, messageType = $%02X, srcId = %u, dstId = %u, len = %u, pktSeq = %u, streamId = %u, external = %u", peerId, dstPeerId, messageType, srcId, dstId, len, pktSeq, streamId, external); @@ -362,7 +362,7 @@ void TagNXDNData::playbackParrot() auto& pkt = m_parrotFrames[0]; if (pkt.buffer != nullptr) { if (m_network->m_parrotOnlyOriginating) { - m_network->writePeer(pkt.peerId, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_NXDN }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); + m_network->writePeer(pkt.peerId, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_NXDN }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); if (m_network->m_debug) { LogDebug(LOG_NET, "NXDN, parrot, dstPeer = %u, len = %u, pktSeq = %u, streamId = %u", pkt.peerId, pkt.bufferLen, pkt.pktSeq, pkt.streamId); @@ -371,7 +371,7 @@ void TagNXDNData::playbackParrot() else { // repeat traffic to the connected peers for (auto peer : m_network->m_peers) { - m_network->writePeer(peer.first, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_NXDN }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); + m_network->writePeer(peer.first, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_NXDN }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); if (m_network->m_debug) { LogDebug(LOG_NET, "NXDN, parrot, dstPeer = %u, len = %u, pktSeq = %u, streamId = %u", peer.first, pkt.bufferLen, pkt.pktSeq, pkt.streamId); @@ -764,5 +764,5 @@ void TagNXDNData::write_Message(uint32_t peerId, lc::RCCH* rcch) } uint32_t streamId = m_network->createStreamId(); - m_network->writePeer(peerId, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_NXDN }, message.get(), messageLength, RTP_END_OF_CALL_SEQ, streamId, false, true); + m_network->writePeer(peerId, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_NXDN }, message.get(), messageLength, RTP_END_OF_CALL_SEQ, streamId, false, true); } diff --git a/src/fne/network/callhandler/TagP25Data.cpp b/src/fne/network/callhandler/TagP25Data.cpp index 46b3a5dc..07c73863 100644 --- a/src/fne/network/callhandler/TagP25Data.cpp +++ b/src/fne/network/callhandler/TagP25Data.cpp @@ -313,7 +313,7 @@ bool TagP25Data::processFrame(const uint8_t* data, uint32_t len, uint32_t peerId // perform TGID route rewrites if configured routeRewrite(outboundPeerBuffer, peer.first, duid, dstId); - m_network->writePeer(peer.first, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, outboundPeerBuffer, len, pktSeq, streamId, true); + m_network->writePeer(peer.first, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, outboundPeerBuffer, len, pktSeq, streamId, true); if (m_network->m_debug) { LogDebug(LOG_NET, "P25, srcPeer = %u, dstPeer = %u, duid = $%02X, lco = $%02X, MFId = $%02X, srcId = %u, dstId = %u, len = %u, pktSeq = %u, streamId = %u, external = %u", peerId, peer.first, duid, lco, MFId, srcId, dstId, len, pktSeq, streamId, external); @@ -359,7 +359,7 @@ bool TagP25Data::processFrame(const uint8_t* data, uint32_t len, uint32_t peerId // process TSDUs going to external peers if (processTSDUToExternal(outboundPeerBuffer, peerId, dstPeerId, duid)) { - peer.second->writeMaster({ NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, outboundPeerBuffer, len, pktSeq, streamId); + peer.second->writeMaster({ NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, outboundPeerBuffer, len, pktSeq, streamId); if (m_network->m_debug) { LogDebug(LOG_NET, "P25, srcPeer = %u, dstPeer = %u, duid = $%02X, lco = $%02X, MFId = $%02X, srcId = %u, dstId = %u, len = %u, pktSeq = %u, streamId = %u, external = %u", peerId, dstPeerId, duid, lco, MFId, srcId, dstId, len, pktSeq, streamId, external); @@ -461,7 +461,7 @@ void TagP25Data::playbackParrot() // repeat traffic to the connected peers for (auto peer : m_network->m_peers) { LogMessage(LOG_NET, "P25, Parrot Grant Demand, peer = %u, srcId = %u, dstId = %u", peer.first, srcId, dstId); - m_network->writePeer(peer.first, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, 0U, false); + m_network->writePeer(peer.first, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, 0U, false); } } } @@ -470,7 +470,7 @@ void TagP25Data::playbackParrot() } if (m_network->m_parrotOnlyOriginating) { - m_network->writePeer(pkt.peerId, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); + m_network->writePeer(pkt.peerId, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); if (m_network->m_debug) { LogDebug(LOG_NET, "P25, parrot, dstPeer = %u, len = %u, pktSeq = %u, streamId = %u", pkt.peerId, pkt.bufferLen, pkt.pktSeq, pkt.streamId); @@ -478,7 +478,7 @@ void TagP25Data::playbackParrot() } else { // repeat traffic to the connected peers for (auto peer : m_network->m_peers) { - m_network->writePeer(peer.first, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); + m_network->writePeer(peer.first, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, pkt.buffer, pkt.bufferLen, pkt.pktSeq, pkt.streamId, false); if (m_network->m_debug) { LogDebug(LOG_NET, "P25, parrot, dstPeer = %u, len = %u, pktSeq = %u, streamId = %u", peer.first, pkt.bufferLen, pkt.pktSeq, pkt.streamId); @@ -1331,5 +1331,5 @@ void TagP25Data::write_TSDU(uint32_t peerId, lc::TSBK* tsbk) } uint32_t streamId = m_network->createStreamId(); - m_network->writePeer(peerId, { NET_FUNC_PROTOCOL, NET_PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, RTP_END_OF_CALL_SEQ, streamId, false, true); + m_network->writePeer(peerId, { NET_FUNC::PROTOCOL, NET_SUBFUNC::PROTOCOL_SUBFUNC_P25 }, message.get(), messageLength, RTP_END_OF_CALL_SEQ, streamId, false, true); } diff --git a/src/host/network/Network.cpp b/src/host/network/Network.cpp index 437a7fb6..f44475c4 100644 --- a/src/host/network/Network.cpp +++ b/src/host/network/Network.cpp @@ -295,9 +295,9 @@ void Network::clock(uint32_t ms) // process incoming message frame opcodes switch (fneHeader.getFunction()) { - case NET_FUNC_PROTOCOL: + case NET_FUNC::PROTOCOL: { - if (fneHeader.getSubFunction() == NET_PROTOCOL_SUBFUNC_DMR) { // Encapsulated DMR data frame + if (fneHeader.getSubFunction() == NET_SUBFUNC::PROTOCOL_SUBFUNC_DMR) { // Encapsulated DMR data frame if (m_enabled && m_dmrEnabled) { uint32_t slotNo = (buffer[15U] & 0x80U) == 0x80U ? 2U : 1U; if (m_rxDMRStreamId[slotNo] == 0U) { @@ -324,7 +324,7 @@ void Network::clock(uint32_t ms) m_rxDMRData.addData(buffer.get(), len); } } - else if (fneHeader.getSubFunction() == NET_PROTOCOL_SUBFUNC_P25) { // Encapsulated P25 data frame + else if (fneHeader.getSubFunction() == NET_SUBFUNC::PROTOCOL_SUBFUNC_P25) { // Encapsulated P25 data frame if (m_enabled && m_p25Enabled) { if (m_rxP25StreamId == 0U) { m_rxP25StreamId = streamId; @@ -350,7 +350,7 @@ void Network::clock(uint32_t ms) m_rxP25Data.addData(buffer.get(), len); } } - else if (fneHeader.getSubFunction() == NET_PROTOCOL_SUBFUNC_NXDN) { // Encapsulated NXDN data frame + else if (fneHeader.getSubFunction() == NET_SUBFUNC::PROTOCOL_SUBFUNC_NXDN) { // Encapsulated NXDN data frame if (m_enabled && m_nxdnEnabled) { if (m_rxNXDNStreamId == 0U) { m_rxNXDNStreamId = streamId; @@ -382,9 +382,9 @@ void Network::clock(uint32_t ms) } break; - case NET_FUNC_MASTER: + case NET_FUNC::MASTER: { - if (fneHeader.getSubFunction() == NET_MASTER_SUBFUNC_WL_RID) { // Radio ID Whitelist + if (fneHeader.getSubFunction() == NET_SUBFUNC::MASTER_SUBFUNC_WL_RID) { // Radio ID Whitelist if (m_enabled && m_updateLookup) { if (m_debug) Utils::dump(1U, "Network Received, WL RID", buffer.get(), length); @@ -408,7 +408,7 @@ void Network::clock(uint32_t ms) } } } - else if (fneHeader.getSubFunction() == NET_MASTER_SUBFUNC_BL_RID) { // Radio ID Blacklist + else if (fneHeader.getSubFunction() == NET_SUBFUNC::MASTER_SUBFUNC_BL_RID) { // Radio ID Blacklist if (m_enabled && m_updateLookup) { if (m_debug) Utils::dump(1U, "Network Received, BL RID", buffer.get(), length); @@ -432,7 +432,7 @@ void Network::clock(uint32_t ms) } } } - else if (fneHeader.getSubFunction() == NET_MASTER_SUBFUNC_ACTIVE_TGS) { // Talkgroup Active IDs + else if (fneHeader.getSubFunction() == NET_SUBFUNC::MASTER_SUBFUNC_ACTIVE_TGS) { // Talkgroup Active IDs if (m_enabled && m_updateLookup) { if (m_debug) Utils::dump(1U, "Network Received, ACTIVE TGS", buffer.get(), length); @@ -478,7 +478,7 @@ void Network::clock(uint32_t ms) } } } - else if (fneHeader.getSubFunction() == NET_MASTER_SUBFUNC_DEACTIVE_TGS) { // Talkgroup Deactivated IDs + else if (fneHeader.getSubFunction() == NET_SUBFUNC::MASTER_SUBFUNC_DEACTIVE_TGS) { // Talkgroup Deactivated IDs if (m_enabled && m_updateLookup) { if (m_debug) Utils::dump(1U, "Network Received, DEACTIVE TGS", buffer.get(), length); @@ -515,7 +515,7 @@ void Network::clock(uint32_t ms) } break; - case NET_FUNC_NAK: // Master Negative Ack + case NET_FUNC::NAK: // Master Negative Ack { // DVM 3.6 adds support to respond with a NAK reason, as such we just check if the NAK response is greater // then 10 bytes and process the reason value @@ -573,7 +573,7 @@ void Network::clock(uint32_t ms) } } break; - case NET_FUNC_ACK: // Repeater Ack + case NET_FUNC::ACK: // Repeater Ack { switch (m_status) { case NET_STAT_WAITING_LOGIN: @@ -618,14 +618,14 @@ void Network::clock(uint32_t ms) } } break; - case NET_FUNC_MST_CLOSING: // Master Shutdown + case NET_FUNC::MST_CLOSING: // Master Shutdown { LogError(LOG_NET, "PEER %u master is closing down, remotePeerId = %u", m_peerId, m_remotePeerId); close(); open(); } break; - case NET_FUNC_PONG: // Master Ping Response + case NET_FUNC::PONG: // Master Ping Response m_timeoutTimer.start(); break; default: @@ -699,7 +699,7 @@ void Network::close() uint8_t buffer[1U]; ::memset(buffer, 0x00U, 1U); - writeMaster({ NET_FUNC_RPT_CLOSING, NET_SUBFUNC_NOP }, buffer, 1U, pktSeq(true), createStreamId()); + writeMaster({ NET_FUNC::RPT_CLOSING, NET_SUBFUNC::NOP }, buffer, 1U, pktSeq(true), createStreamId()); } m_socket->close(); @@ -742,7 +742,7 @@ bool Network::writeLogin() m_loginStreamId = createStreamId(); m_remotePeerId = 0U; - return writeMaster({ NET_FUNC_RPTL, NET_SUBFUNC_NOP }, buffer, 8U, pktSeq(true), m_loginStreamId); + return writeMaster({ NET_FUNC::RPTL, NET_SUBFUNC::NOP }, buffer, 8U, pktSeq(true), m_loginStreamId); } /// @@ -775,7 +775,7 @@ bool Network::writeAuthorisation() if (m_debug) Utils::dump(1U, "Network Message, Authorisation", out, 40U); - return writeMaster({ NET_FUNC_RPTK, NET_SUBFUNC_NOP }, out, 40U, pktSeq(), m_loginStreamId); + return writeMaster({ NET_FUNC::RPTK, NET_SUBFUNC::NOP }, out, 40U, pktSeq(), m_loginStreamId); } /// @@ -837,7 +837,7 @@ bool Network::writeConfig() Utils::dump(1U, "Network Message, Configuration", (uint8_t*)buffer, json.length() + 8U); } - return writeMaster({ NET_FUNC_RPTC, NET_SUBFUNC_NOP }, (uint8_t*)buffer, json.length() + 8U, RTP_END_OF_CALL_SEQ, m_loginStreamId); + return writeMaster({ NET_FUNC::RPTC, NET_SUBFUNC::NOP }, (uint8_t*)buffer, json.length() + 8U, RTP_END_OF_CALL_SEQ, m_loginStreamId); } /// @@ -851,5 +851,5 @@ bool Network::writePing() if (m_debug) Utils::dump(1U, "Network Message, Ping", buffer, 11U); - return writeMaster({ NET_FUNC_PING, NET_SUBFUNC_NOP }, buffer, 1U, RTP_END_OF_CALL_SEQ, createStreamId()); + return writeMaster({ NET_FUNC::PING, NET_SUBFUNC::NOP }, buffer, 1U, RTP_END_OF_CALL_SEQ, createStreamId()); }