Commit Graph

45 Commits (20a096ab493f3b3f55c3f8c07ce421f33b09c286)

Author SHA1 Message Date
Bryan Biedenkapp 20a096ab49 remove stream ID handling from DiagNetwork (these are always sent with a stream ID of 0 anyway...); revert Rx stream ID to stream ID validation check in Network;
11 months ago
Bryan Biedenkapp ef1a0df496 refactor FNE RTP packet handling, this change better handles a peer end-point transmitting multiple varied RTP streams; refactor promiscuous handling of RTP streams on the host network API; refactor handling non-promiscuous handling of RTP streams on the host network API; bump project version from 4.11F to 4.11G to reflect these larger changes; correct bad use of magic numbers when dealing with signal values;
11 months ago
Bryan Biedenkapp 4025db8200 clarify more lookup table log entries;
11 months ago
Bryan Biedenkapp 64bcb56228 enhance debug logging to incorporate both file and line numbers (when provided by the compiler) and optionally implement LogDebugEx macro to also incorporate the caller identifying the function name; correct LogDebug uses in some cases that should have been LogMessage;
11 months ago
Bryan Biedenkapp c68b99dc61 silence frame queue read errors after 5 consecutive errors (this is to prevent log spam);
11 months ago
Bryan Biedenkapp e91f61ecb6 force full network reconnect in most NAK cases;
1 year ago
Bryan Biedenkapp ff6658cae7 how did no one find this, like how was this missed? add missing affiliated flag being sent from FNE to host;
1 year ago
Bryan Biedenkapp 8f6319d15e refactor SysView and more tightly integrate with the DVM stack; add CC voice channel reporting in the peer status message; add support on the FNE to report activity log and peer status to SysView instances;
1 year ago
Bryan Biedenkapp 696e93a3ec increase the report time for packet Rx and processing to 360ms (or 180ms * 2, or 2 full P25 LDUs);
1 year ago
Bryan Biedenkapp dd31260ded i'm an idiot;
2 years ago
Bryan Biedenkapp d106fbb062 add some extra length documentation for RTP packets; make network ringbuffer initialized value a constant; continue logic implementation for P25 data; correct buffer issue on P25 data;
2 years ago
Bryan Biedenkapp 52e3677270 fix problem with ULL for 32-bit, on 64-bit this wasn't a problem as the numbers were all treated as 8 bytes wide (on Linux anyway), but for 32-bit this truncated the numbers and caused weird problems;
2 years ago
Bryan Biedenkapp f6f7a70757 add debug trace for PONG messages;
2 years ago
Bryan Biedenkapp 65fa91b7cb
[THIS MAY BREAK THINGS, BE AWARE] Merge Win32 support and C++ dvmbridge into master. (#67)
2 years ago
Bryan Biedenkapp 59a5482473 silence "Failed writing data to the network" messages; silence out-of-sequence warnings if the pktSeq is 0; when the master reports it is closing, have peers restart their connection states;
2 years ago
Bryan Biedenkapp 34e6e1dc38 ensure the time delay calculation is always an absolute value;
2 years ago
Bryan Biedenkapp 617c889d1a
Merge DFSI host changes into master (#63)
2 years ago
Bryan Biedenkapp 882c2564ca correct double spaced formatting of CPP files in common; convert dvmhost to Doxygen documentation format; convert dvmfne to Doxygen documentation format; convert dvmcmd to Doxygen documentation format;
2 years ago
Bryan Biedenkapp 36c04a74ec move the NET_FUNC* and NET_SUBFUNC* constants into proper namespaced enums;
2 years ago
Bryan Biedenkapp cae622b898 perform early peer checking during RPTL; if an ACL rejection occurs, straight disable the peer networking;
2 years ago
Bryan Biedenkapp f39e8de0e1 refactor PR#55's peer list implementation to utilize a lookup table; add support to peer list implementation, when in whitelist mode to support per peer passwords (techincally this works in blacklist mode but is ... well irrelevant as blacklist mode *rejects* connections from peers in the list file); correct a few issues regarding how NAKs are returned early in the authentication handshake; reformat log messages; fix issue in host voice when regular conventional traffic is sent to a DVRS-enabled channel and legacy group grant is disabled;
2 years ago
Bryan Biedenkapp f4c85e822e minor fix up for PR#56 (nothing I wanted to prevent merging 56);
2 years ago
firealarmss bd3e737adf
REST Additions and added NAK reasons (#56)
2 years ago
Bryan Biedenkapp 864044ff8b replace sprintf with snprintf;
2 years ago
Bryan Biedenkapp 0f7eabff82 implement support for peers that identify themselves as "conventional" to ignore affiliated talkgroup rules and be able to receive all traffic if the FNE is configured to allow promiscuous operation; implement extremely preliminary support to allow a CC to claim a VC peer, allowing for appropriate grouping of peers for trunked sites;
2 years ago
Bryan Biedenkapp 17fae1d461 fix issue where the timeout timer wasn't running for the network which would never cause the connection to reset after a number of error attempts trying to login to the master;
2 years ago
Bryan Biedenkapp 96a9ba1c03 implement trunking site preference support for TGIDs, this implements a feature by which TGIDs can be gated to allow affiliation to preferred sites, all other non-preferred sites will DENY affiliation causing the radio to attempt to roam to another site (this is a trunking only feature and does not change conventional operation);
2 years ago
W3AXL 9675f42db5 added ability to save RID/TGID lookups from the FNE to local files
2 years ago
Bryan Biedenkapp d38e8d00da remove accidental debug code left in last commit;
2 years ago
Bryan Biedenkapp c4ca72581f for performance reasons on very noisy/busy setups that may have *lots* of peers, use of an alternate port to service diagnostic and activity log transfers helps ensure the traffic port doesn't become overloaded with data;
2 years ago
Bryan Biedenkapp 8ca4ed5a40 implement a few more CFNE NAK types to notify the peer of invalid conditions; take first steps towards FNE-side authoritative grants by implementing some logic plumbing;
2 years ago
Bryan Biedenkapp c6c1c72f79 institute a hard 250 peer cap on the CFNE for performance, stability and call quality reasons; implement support for the user to configure the connection limit on a CFNE; implement support to resolve a master NAK to a reason on the host;
2 years ago
Bryan Biedenkapp eb57f1b5d8 implement functionality to block traffic to specific peers from specific external peers; use std::string over const char* wherever possible to limit pointer passing; implement support in FrameQueue and RawFrameQueue to bypass the queue and directly send messages to specified peers (useful in some situations for packets to be immediately dispatched vs queuing and batching); chunk RID list transmissions to aid in increasing performance (this will likely also need to be done with the TGID lists in the future as well); refactor transmitting ACL lists to peers into its own spun off thread so we don't block the main network processing loop (and infact, this requires documentation; since at a certain peer size DVM network partitioning should be considered to reduce the number of concurrent peers serviced by any given FNE and to better load balance connections across a network, instead of relying on a singular central FNE); implement /peer/count REST API to simply return the known connected count of peers; disable the forced ACL list update functionality (for now);
2 years ago
Bryan Biedenkapp af516f33fd report local and remote peer ID information for peer connection log messages;
2 years ago
Bryan Biedenkapp 80d38ccf3a refactor and reorganize network socket handling classes to be more consistent;
2 years ago
Bryan Biedenkapp 5b5efcbe9d add support for network announcement of unit registration, deregistration and group affiliation so the FNE can collate the data more accurately; implement REST API on dvmfne to support retreiving the list of known affiliations; correct a bug in enumeration of RID and TGID lists that could cause weirdness; remote unnecessary "control" RTP payload type and just use a singluar payload type;
2 years ago
Bryan Biedenkapp 5a5104ba2f treewide: perform general refactor of file headers, I've modified the file headers to follow rules from: https://www.kernel.org/doc/html/next/process/license-rules.html, this trims/compresses the file header section a bit reducing the number of lines at the top of every file quite a bit, going forward all new files should follow this new format (if its good enough for the Linux kernel, its good enough for me);
2 years ago
Bryan Biedenkapp d9e2458722 implement support for low-level TCP sockets; deprecate and remove new_unique macro and use appropriate std::make_unique; apply various clang linting;
2 years ago
Bryan Biedenkapp 8ff7067eca mplement experimental support to AES-256 encrypt the network connection; cleanup some instances where buffers were not being cleaned up properly; cleanup some of the AESCrypto implementation; remove references to some little used compiler macros;
2 years ago
Bryan Biedenkapp eba4db6104 refactor RTP code slightly to better handle tracking the RTP timestamp properly;
2 years ago
Bryan Biedenkapp 9fb2201139 code cleanup; some minor modifications for out-of-band software;
2 years ago
Bryan Biedenkapp bde6284308 ensure FNE software reports itself differently; make host Network class private section protected so the FNE codebase can inherit from it; create PeerNetwork inherited class on FNE;
2 years ago
Bryan Biedenkapp cf0d8bb430 port RTP header changes from fnecore for better handling the RTP timestamp; relabel conference FNE to converged FNE; refactor version slightly so that the running DVM host version is properly reported to the FNE and when saved to modem configuration area;
2 years ago
Bryan Biedenkapp 2d809e0a61 complete the job Faulty started and remove remnants of deprecated ENABLE_DMR, ENABLE_P25 and ENABLE_NXDN compiler options;
2 years ago
Bryan Biedenkapp 1379482fcc reorganize entire codebase structure; move common classes, files into a compile time static library; reorganize CMake files to make use of common static library to reduce compile time;
2 years ago

Powered by TurnKey Linux.