Skip to content

[New Feature] Packet Sniffer#105

Merged
bo3z merged 32 commits intofpgasystems:masterfrom
LuhaoLiu:packet-sniffer
Nov 18, 2025
Merged

[New Feature] Packet Sniffer#105
bo3z merged 32 commits intofpgasystems:masterfrom
LuhaoLiu:packet-sniffer

Conversation

@LuhaoLiu
Copy link
Contributor

@LuhaoLiu LuhaoLiu commented Jan 8, 2025

Description

Packet Sniffer for Coyote shell. This project was conducted as part of a semester project at ETH Zurich.
The artifact is in ./example_hw/apps/packet_sniffer/ and ./example_sw/apps/packet_sniffer/.
A simple documentation and some annotation about how to use the software (on a deployed Coyote shell) to capture network traffic are provided in ./exmaple_sw/apps/packet_sniffer/README.md.
More details about the system design and performance impact are discussed in another report. Please ask me for the link of this pdf report (still in draft).

Type of change

  • Bug fix
  • New feature
  • Documentation update
  • A new research paper code implementation
  • Other

Tests & Results

More details will be provided in the aforementioned pdf report.
One point to mention here: When this new feature is disabled by EN_SNIFFER 0 in CMake (which is the default), nothing will be essentially changed thanks to the macros. So merging this branch into the master branch WILL NOT affect anything unless you manually enable the new feature for relevant experiments or debugging.

Checklist

  • I have commented my code and made corresponding changes to the documentation.
  • Mostly. Please tell me if more is better.
  • I have added tests/results that prove my fix is effective or that my feature works.
  • This is not a FIX so not applicable. But some performance tests are feature works.
  • My changes generate no new warnings or errors & all tests successfully pass.
  • As mentioned, this merge will not affect anything by default.

@bo3z bo3z added this to the 0.3.0 milestone Sep 17, 2025
@bo3z
Copy link
Collaborator

bo3z commented Sep 17, 2025

@LuhaoLiu: As discussed, this PR looks mostly good to me. When you get the chance could you update it to work with the lates Coyote release and after that, we can hopefully merge it soon. Would like to include the traffic sniffer for the next Coyote release.

Merge new changes into packet-sniffer
@LuhaoLiu
Copy link
Contributor Author

@bo3z I've resolved all conflicts and confirmed that the packet sniffer is working as intended. I believe it is good to merge now. Please give a check when you get some time. Thanks!

Copy link
Collaborator

@bo3z bo3z left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This mostly looks good to me. The requested changes are mostly cosmetic, extra comments, making sure the licence is there etc.

Two additional comments:

  • Have you tested the RDMA example, but with the traffic sniffer code base? Just to confirm that nothing in the network_top and dynamic_top affects existing functionality. If not, could you please do it.

  • Later today, I will be open-sourcing the Python binding for Coyote and we have implementations of all of the examples in Python. Would you mind adding one for the traffic sniffer (if you think it's possible)

@bo3z
Copy link
Collaborator

bo3z commented Nov 12, 2025

New changes look mostly ready to me. As soon as you can confirm that the RDMA example works as expected, and change the licence date, I am happy to merge this PR.

@LuhaoLiu
Copy link
Contributor Author

@bo3z Thanks! Sorry for the delayed response, but now I've verified that the RDMA example works as expected. Also, the packet sniffer example now meets the timing constraints with the optimization option and the debug ILA removed.
Screenshot 2025-11-18 at 14 07 07

@bo3z
Copy link
Collaborator

bo3z commented Nov 18, 2025

Excellent, merging.

@bo3z bo3z merged commit 3353441 into fpgasystems:master Nov 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants