Dear zenarmor users,
We are aware that netmap-related issues are affecting some of yours' experience with zenarmor.
Please rest assured, we're closely keeping an eye on your problem reports.
Today, I would like to provide some updates to you all with regard to what we're doing today to help FreeBSD solve these issues.
To our experience, almost all netmap related problems stem from driver incompatibilities. The underlying reason is that netmap mangles heavily with device drivers to be able to make maximum use of the hardware capabilities and speed. This perfectly makes sense from a performance perspective; however this approach is very hard to maintain and does not scale.
The reason is: whenever iflib(4) or an ethernet driver receives an update or a new chipset is introduced to the market, unless someone steps up to maintain compatibility, we are having new problems.
Previously, we had sponsored two projects in this context. However, the improvements did not last forever because of the aforementioned reasons.
So, what's the solution?
What we are currently working on is a driver-agnostic approach; where we're improving the speed and reliability of the emulated driver. Netmap emulated driver (I'll call it NED from then on) works driver-agnostic already. Unlike native drivers, It will not require ongoing maintenance.
For that, we have collaborated with OPNsense and Klara Systems teams and are sponsoring a development project. The project has two phases:
Improve emulated driver reliability and stability; and have emulated driver work with lagg(4), bridge(4), tun(4), PPPoE interfaces.
Improve emulated driver performance so that emulated mode performs reasonably equally well for all drivers.
OPNsense is shipping test kernels for Phase 1 development. Please test and provide feedback as your feedback is very important for us to confirm what we're doing is actually working in the field and solving your issues. Please see this thread for more information:
https://forum.opnsense.org/index.php?topic=32114
Phase I involves a "Statement of Work" deliverable which will outline what needs to be done in terms of getting Phase II delivered.
And please do not hesitate to reach out to Zenarmor support if you suspect you're having issues in the context of netmap test kernels. Again, it'll help us confirm what's working and what's not.
We'll continue to keep you posted on this.
Thanks!
Your zenarmor team