Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
459f91e
Add RSSI protocol documentation and RTL specification review
bengineerd May 22, 2026
8f0eec4
Implement RSSI regression tests and add protocol helpers
bengineerd May 22, 2026
e617d27
Add RssiRxFsm wrapper and associated tests for RSSI protocol
bengineerd May 22, 2026
cfba9b2
Refactor RssiRxFsmWrapper to use shared SSI naming conventions and up…
bengineerd May 22, 2026
061e4c5
Add opt-in known-issue tests for RssiRxFsm payload delivery character…
bengineerd May 22, 2026
cf4e09b
Add RssiTxFsm wrapper and associated tests for RSSI transmit protocol
bengineerd May 22, 2026
117c0e0
Extend RssiTxFsm tests to cover SYN, DATA, NULL, and RST header emiss…
bengineerd May 22, 2026
9c42c8c
Tightened RX DATA legality so DATA requires ACK and excludes BUSY usi…
bengineerd May 22, 2026
aa0c3a0
Drive tkeep consistently.
bengineerd May 22, 2026
13ab51e
Removed the RUN_RSSI_KNOWN_ISSUE_TESTS gates and made the resolved TX…
bengineerd May 22, 2026
7f25f2b
Fix RSSI TX checksum fault injection
bengineerd May 22, 2026
6a0d001
Update RSSI regression documentation: refine task tracking and resume…
bengineerd May 22, 2026
6449cba
Fix RSSI TX multi-word wrapper coverage
bengineerd May 22, 2026
2eda103
Add RSSI monitor busy timeout coverage
bengineerd May 22, 2026
b6b0222
Fix RSSI monitor periodic busy ACKs
bengineerd May 22, 2026
2f55cf1
Fix RSSI RX SYN filtering
bengineerd May 22, 2026
7fb96ed
Cover RSSI RX out-of-order drops
bengineerd May 23, 2026
f03b4b1
Add RSSI connection FSM coverage
bengineerd May 23, 2026
4950b3a
Fix RSSI connection retry timeout
bengineerd May 23, 2026
d9fe756
Add RSSI AXI-Lite register coverage
bengineerd May 23, 2026
9c3f5a9
Update RSSI regression documentation and tests for Phase 2 completion
bengineerd May 23, 2026
e6151de
Add RSSI core integration payload regression
bengineerd May 23, 2026
48678c3
Add RSSI core retransmission regression
bengineerd May 23, 2026
7d78805
Enhance RSSI regression tests and RTL for improved DATA frame handling
bengineerd May 23, 2026
3c29c8e
Add tests for missing client keepalives and update documentation for …
bengineerd May 23, 2026
2319bb7
Add RSSI core wrapper regression
bengineerd May 26, 2026
594c15e
Enhance RssiCoreWrapper tests and update FIFO pause threshold for sma…
bengineerd May 26, 2026
01fea7c
Add multi-stream support for RssiCoreWrapper and enhance documentation
bengineerd May 26, 2026
9317e27
Enhance multi-stream RSSI core wrapper with opt-in known-issue charac…
bengineerd May 27, 2026
f4e134b
Resolve multi-stream RssiCoreWrapper routed-payload issue by adjustin…
bengineerd May 27, 2026
2378cbc
Refactor RssiCoreWrapperMultiStreamIntegrationWrapper for flattened t…
bengineerd May 27, 2026
1135709
Enhance RSSI Protocol Implementation and Testing
bengineerd May 27, 2026
735c0de
Promote direct-core integrated BUSY and strict retransmit recovery pr…
bengineerd May 27, 2026
6dc8750
Refactor RSSI test utilities and enhance transport frame handling; in…
bengineerd May 27, 2026
cac006b
Clarify EACK handling in RSSI v1 documentation and tests; update refe…
bengineerd May 27, 2026
98545d0
Refactor RSSI integration and testing framework; flatten transport in…
bengineerd May 27, 2026
58ea8b5
Expand RSSI integration regression coverage
bengineerd May 28, 2026
18b014f
Add out-of-order DATA recovery and NULL acknowledgment tests to RssiC…
bengineerd May 28, 2026
955d902
Enhance RSSI test documentation across multiple test files; clarify p…
bengineerd May 28, 2026
9226c2b
Enhance RSSI regression tests and documentation
bengineerd May 28, 2026
da383a0
fix(rssi): convert v1 RssiRxFsm conditional assignment to if/else for…
ruck314 May 29, 2026
ce75a2e
feat(rssi): advertise MAX_NUM_OUTS_SEG_G and SEGMENT_ADDR_SIZE_G via …
ruck314 May 29, 2026
86eb621
refactor(rssi)!: auto-discover RssiCore capability from firmware regi…
ruck314 May 29, 2026
fd250b1
Optimize RSSI test performance by implementing event-driven frame rec…
bengineerd May 29, 2026
ff0dc0a
Refactor RSSI test coverage to introduce default and extended tiers, …
bengineerd May 29, 2026
b249de4
Merge branch 'rssi-tests' of https://github.com/slaclab/surf into rss…
bengineerd May 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions docs/plans/rssi-regression/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# RSSI Regression Task

This directory tracks the plan for adding focused cocotb regressions for the
SURF RSSI RTL under `protocols/rssi/v1/`.

Current status: the RSSI regression suite now covers the original leaf-FSM and
core integration findings plus the 2026-05-28 follow-up expansion for partial
`TKEEP`, BUSY recovery, reconnect lifecycle, full-core AXI-Lite control,
checksum-disabled integration, and transport-output backpressure. The latest
coverage notes and validation commands are in `progress.md`; compact resume
context is in `handoff.md`.

Start with `handoff.md` when resuming implementation. Use `plan.md` for the
original test strategy, `progress.md` for chronological status and validation,
and `rtl-changes.md` for production RTL changes made during the task.
563 changes: 563 additions & 0 deletions docs/plans/rssi-regression/handoff.md

Large diffs are not rendered by default.

437 changes: 437 additions & 0 deletions docs/plans/rssi-regression/plan.md

Large diffs are not rendered by default.

1,001 changes: 1,001 additions & 0 deletions docs/plans/rssi-regression/progress.md

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions docs/plans/rssi-regression/references/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# RSSI Reference Bundle

This directory holds local reference material for the RSSI regression task.
Use these files before reaching back to external sites or the Rogue checkout.

## Confluence
- `confluence/reliable-slac-streaming-protocol-rssi.html`
- Local copy of the SLAC Confluence page:
<https://confluence.slac.stanford.edu/spaces/ppareg/pages/211782868/Reliable+SLAC+Streaming+Protocol+RSSI>
- This is the primary RSSI protocol reference for header format, connection
behavior, parameter negotiation, data flow, retransmission, NULL segments,
BUSY flow control, and known deviations from RUDP.
- `confluence/attachments/`
- Local copies of the diagrams and Word export linked from the primary RSSI
protocol page.
- `confluence/rssi-discussions.html`
- Attempted local copy of:
<https://confluence.slac.stanford.edu/spaces/ppareg/pages/198085574/RSSI+Discussions>
- The retrieved page redirects to SLAC SSO from this environment.
- `confluence/rssi-discussions-viewpage.html`
- Same page requested through `viewpage.action?pageId=198085574`; also
redirects to SLAC SSO.
- `confluence/rssi-discussions-rest.json`
- REST API retrieval attempt. The saved response shows rate limiting after
the SSO redirects. Treat the RSSI Discussions content as not locally
available until someone with authenticated Confluence access exports it.

## RFC And RUDP Background
- `rfc/rfc908.txt`
- RFC 908, Reliable Data Protocol.
- `rfc/rfc1151.txt`
- RFC 1151, Version 2 of the Reliable Data Protocol.
- `rfc/draft-ietf-sigtran-reliable-udp-00.txt`
- Reliable UDP Protocol Internet-Draft.
- `rfc/draft-ietf-sigtran-reliable-udp-00.html`
- Datatracker HTML copy of the same draft.

These are background references. The SLAC Confluence RSSI page and SURF/Rogue
implementation define the concrete RSSI subset under test.

## Rogue Documentation
- `rogue/built_in_protocols_rssi_index.rst`
- `rogue/built_in_protocols_rssi_client.rst`
- `rogue/built_in_protocols_rssi_server.rst`
- `rogue/built_in_protocols_network.rst`
- `rogue/api_cpp_protocols_rssi_*.rst`
- `rogue/api_python_rogue_protocols_rssi_index.rst`
- `rogue/api_python_pyrogue_network_udprssipack.rst`

These are copied from `/Users/bareese/rogue/docs/src/` and document how Rogue
uses RSSI in normal UDP/RSSI/packetizer deployments.

Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!doctype html><html lang="en"><head><title>HTTP Status 429 – Too Many Requests</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 429 – Too Many Requests</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Message</b> Rate limit exceeded.</p><p><b>Description</b> The user has sent too many requests in a given amount of time ("rate limiting").</p><hr class="line" /><h3>Apache Tomcat/9.0.113</h3></body></html>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name="decorator" content="none"/><script src="/s/7ylds/9114/1yg1r0c/5.1.24/_/download/resources/com.atlassian.plugins.authentication.atlassian-authentication-plugin:save-fragment/js.cookie.js"></script><script>if(window.location.hash) {var expirationDate = new Date(); expirationDate.setTime(expirationDate.getTime() + 60000 * 5); Cookies.set('atlassian-authentication-plugin-url-fragment_aabc7e8f-9b3a-440c-82c7-0dc2427010de', window.location.hash.substr(1), {expires : expirationDate, path : '', secure: true, SameSite: 'None' });}window.location.assign("https://slac-rs2.proxy.cirrusidentity.com/saml2/idp/SSOService.php?SAMLRequest=jZJRb8IgFIX%2FSsN7S8vWpiFq4uaymThrbLeHvSxIUUla6Lhg3L8frZq5F7M3DnA%2BzrlhBKxtOjp1dq%2FW4ssJsMGxbRTQ4WCMnFFUM5BAFWsFUMtpOX1dUBLFtDPaaq4bdGW57WAAwlipFQrmszEqlk%2BL4nm%2B%2FGS52MZ3LA9Zzjfh%2FYZlflWTMM04T5MkzfNEoOBdGPDeMfIoDwBwYq7AMmX9VkyyME5DQqokoymhCflAwcz3kYrZwbW3tgOKMTSMhwZI5PMfvyMujXEga6GstF7qFvdFCJZ1h8uyKIU5SC6ibt%2BhYHWu%2FCBVLdXudtvN6RLQl6pahauirFAwvUzgUStwrTBn%2FNt68ZuQa7VtnFD%2B1T5s1HfcalNHona4a9xOKsCec2iEHcLyMwxNRr2kw2zM5D%2B8Eb52nNTfDzH5AQ%3D%3D&RelayState=aabc7e8f-9b3a-440c-82c7-0dc2427010de");</script></head><body></body></html>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name="decorator" content="none"/><script src="/s/7ylds/9114/1yg1r0c/5.1.24/_/download/resources/com.atlassian.plugins.authentication.atlassian-authentication-plugin:save-fragment/js.cookie.js"></script><script>if(window.location.hash) {var expirationDate = new Date(); expirationDate.setTime(expirationDate.getTime() + 60000 * 5); Cookies.set('atlassian-authentication-plugin-url-fragment_5c345168-12bf-4166-828b-3c6a80a62940', window.location.hash.substr(1), {expires : expirationDate, path : '', secure: true, SameSite: 'None' });}window.location.assign("https://slac-rs2.proxy.cirrusidentity.com/saml2/idp/SSOService.php?SAMLRequest=jZJfb8IgFMW%2FSsN7S8usf4iauLlsJk6N7fawl4VSVJIWOi4Y9%2B1Hq8vci9njgXt%2BnHPDGFhdNXTm7EFtxacTYINTXSmg3cUEOaOoZiCBKlYLoJbTbPaypCSKaWO01VxX6Mpy28EAhLFSKxQs5hO0Xj0u10%2BL1UecFEwQUYbxMB2EvaS8C4esl4S9IRsNeJGOSJGi4E0Y8N4J8igPAHBiocAyZf1RTPphnIaE5EmfpglN03cUzH0fqZjtXAdrG6AYQ8V4aIBEPv%2FpK%2BLSGAeyFMpK66WucVuEYFk2OMvWmTBHyUXUHBoUbC6V76Uqpdrfbluch4A%2B5%2Fkm3KyzHAWznw08aAWuFuaCf90ufxNyrXaVE8q%2F2oaN2o47bcpIlA43ldtLBdhzjpWwXVh%2BgaHpuJW0242Z%2Foc3xteOs%2Fr7Iabf&RelayState=5c345168-12bf-4166-828b-3c6a80a62940");</script></head><body></body></html>
Loading
Loading