Howdy!
Quick braindump on the topic of choosing which NICs to focus on for supporting in Snabb Switch.
Snabb Switch is really about empowering creative people. We want to be able to understand the tools we are working with and we want them to be available to everybody in the community.
This means best NICs are the ones for which both hardware and *documentation* are readily available. The ones that we can program ourselves as a community and that provide us the most creative satisfaction. These are the ones that make us self-sufficient and give us confidence that we can solve any given problem ourselves with our own creative exertions.
We want to avoid having to depend on complex vendor-supplied software to use cards, or to depend on documentation that is not available to the whole community, or to depend on hardware that is difficult or expensive to acquire either for end-users or for the lab. This would sap our productivity.
These are really the keys to making hardware friendly - or unfriendly - to grassroots open source projects.
I say this now because it is an interesting time for networking hardware and we are going to want to consistently support 1G/10G/25G/40G/50G/100G in the near future. This will require both hard work and also very careful choice of how we focus our energies. The way we approach hardware is working really well for us: Let's be careful to preserve this good feeling while we move forwards.
End braindump!
Cheers :-)
-Luke