Status: work in progress, not implemented. There is no BSD driver today. The
bsdmod/directory in the repository only holds the plan, and the installer cancels on FreeBSD, OpenBSD, NetBSD and DragonFly with a message saying so.
This is the FreeBSD page of the Cavium CN6640-SNIC10E docs. It exists so the status is written down in one place. Linux and Windows are the supported systems: see the Linux and Windows pages.
Plan
The BSD driver would follow the same shared-memory BAR2 protocol as the Linux and Windows
drivers, so the card side (the OpenWrt image and its octshm_card module) stays
exactly as it is. Only the host driver is new: an if_octnic network interface
that registers oct0 and oct1.
Phase 1: framework
if_octnic, a BSD network interface driver.- BAR2 access through the
bus_spaceAPI. - Integration with the FreeBSD network stack, with mbuf-based packet handling in place of
the Linux
sk_buffand the Windows net buffers.
Phase 2: features
- Multi-queue support.
- DMA mode for the card-to-host path (DPI).
- Zero-copy TX, as on Linux.
- Card temperatures through
sysctl.
None of these items is started. The plan, as written in the repository, is in bsdmod/README; the same placeholder covers OpenBSD and DragonFly BSD.
Questions, or want to follow or help?
Open an issue or a discussion on the repository, or email me@nicologiuliani.site. Nothing is started on the BSD side yet, so a discussion is the best way to follow the port or to offer help.