diff --git a/docs/hdstack.md b/docs/hdstack.md index dbbacd3..f590100 100644 --- a/docs/hdstack.md +++ b/docs/hdstack.md @@ -116,9 +116,9 @@ worker 5 -> 54400..54499 The generated ranges must fit within the UDP port range and must not collide with configured bridge, external OpenBridge or reporting ports. -The internal worker path consumes one additional FBP hop. FreeDMR therefore -accepts a maximum of 11 FBP hops before discarding traffic; this ceiling applies -to all FBP relationships rather than being a special HDStack exception. +The internal worker path consumes one additional FBP hop. FreeDMR accepts a +maximum of 20 FBP hops before discarding traffic; this ceiling applies to all +FBP relationships rather than being a special HDStack exception. Workers connect to the aggregator over generated loopback FBP v5 links with FBCP enabled. FBP v5 preserves origin metadata and carries unit data as well as diff --git a/docs/release-notes-v1.5.0.md b/docs/release-notes-v1.5.0.md index 342da7a..83090e9 100644 --- a/docs/release-notes-v1.5.0.md +++ b/docs/release-notes-v1.5.0.md @@ -77,8 +77,8 @@ backing up the surrounding FreeDMR configuration. ## Compatibility FBP v5 and OBP v1 remain distinct supported peer protocols. The HDStack -internal topology uses FBP v5/FBCP and consumes one additional FBP hop; the -accepted maximum is therefore 11 hops for all FBP relationships. +internal topology uses FBP v5/FBCP and consumes one additional FBP hop. The +accepted maximum is 20 hops for all FBP relationships. The tagged container build publishes `latest`, the tag-specific `v1.5.0-with-proxy` image and `development-latest` through the existing release diff --git a/hblink.py b/hblink.py index d2292ab..f384f3d 100755 --- a/hblink.py +++ b/hblink.py @@ -52,7 +52,7 @@ import pickle from reporting_const import * MAX_OPTIONS_LENGTH = 255 -MAX_FBP_HOPS = 11 +MAX_FBP_HOPS = 20 # The module needs logging logging, but handlers, etc. are controlled by the parent import logging diff --git a/tests/test_udp_blackbox_harness.py b/tests/test_udp_blackbox_harness.py index 055d190..93ed5a3 100644 --- a/tests/test_udp_blackbox_harness.py +++ b/tests/test_udp_blackbox_harness.py @@ -1571,7 +1571,7 @@ class UdpBlackBoxHarnessTest(unittest.TestCase): self.assertEqual(quench.packet[4:7], bytes_3(91)) self.assertEqual(quench.packet[7:11], bytes_4(stream_id)) - def test_fbp_eleven_hops_is_accepted(self): + def test_fbp_twenty_hops_is_accepted(self): require_udp_integration_enabled() stream_id = 0x01020310 @@ -1593,7 +1593,7 @@ class UdpBlackBoxHarnessTest(unittest.TestCase): ), source_server=9991, source_rptr=1001, - hops=10, + hops=19, ) captured = master_b.recv(timeout=2.0) finally: @@ -1624,7 +1624,7 @@ class UdpBlackBoxHarnessTest(unittest.TestCase): ), source_server=9991, source_rptr=1001, - hops=11, + hops=20, ) quench = fbp_peer.recv_opcode(b"BCSQ", timeout=2.0) with self.assertRaises(socket.timeout):