Case study
Cavium SNIC10E: reconstructing a PCIe shared-memory NIC datapath
The Cavium SNIC10E project reconstructs a PCIe BAR2 shared-memory datapath for the CN6640-SNIC10E card. Host and card drivers exchange packets through per-port rings, with PIO transmit and DPI DMA receive, while boot tooling loads OpenWrt into card RAM. The author reports bidirectional traffic on two 10 GbE ports and documents unstable simultaneous load.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 55
- Last commit
- 2026-11-04
- Language
- Batchfile
- License (GitHub)
- GPL-2.0
GitHub data as of 2026-11-10
Evidence
- Observed
- Code, documentation and a download method observed; no demo found.
- Checked
- 2026-11-09
Requirements & limits
- Prerequisites: Cavium CN6640-SNIC10E card; Linux or Windows 10/11 x64 for the implemented host drivers.
- Prerequisites: Initial host boot provisioning needs an FT232 serial adapter and a confirmed u-boot environment write; Secure Boot must be off.
- Limits: Sustained simultaneous dual-port traffic can wedge the card, requiring a host reboot.
- License: GPL-2.0 License.
Cite
BibTeX
@misc{cavium-snic10e-datapath-case,
title = {{Cavium SNIC10E: reconstructing a PCIe shared-memory NIC datapath}},
howpublished = {\url{https://github.com/nicologiuliani6/cavium-cn6640-snic10e-octeon-ii-nic}},
url = {https://github.com/nicologiuliani6/cavium-cn6640-snic10e-octeon-ii-nic},
urldate = {2026-11-07},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/cavium-snic10e-datapath-case/}}
}Plain text
Cavium SNIC10E: reconstructing a PCIe shared-memory NIC datapath. https://github.com/nicologiuliani6/cavium-cn6640-snic10e-octeon-ii-nic (accessed 2026-11-07). Awesome REA entry: https://awesomerea.org/resources/cavium-snic10e-datapath-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · nicologiuliani6/cavium-cn6640-snic10e-octeon-ii-nic · Revision 142e019
- docs/ARCHITECTURE.md GitHub · nicologiuliani6/cavium-cn6640-snic10e-octeon-ii-nic · Revision 142e019
More in Protocols
- Deadband: reconstructing GameSir and Logitech device configuration · Case study
- Pocket Libre: reconstructing Pocket recorder transfer over BLE · Case study
- Open Apollo: reconstructing Linux support for Apollo audio interfaces · Case study
- attack-shark-x11-driver: a client for the Attack Shark X11 HID settings protocol · Case study
- Hisense/Hitachi H-NET-Protocol: investigating heat-pump bus signaling · Case study
- YenKeyControl: decoding the Yenkee YKB3700 Rogue keyboard protocol · Case study