To do that properly, you'll have to interface with the network device directly through userspace. Whilst this is certainly possible, you end up with implementing a device driver in the end which might or might not be what you want to do.
[1] http://www.mellanox.com/page/products_dyn?product_family=209...
100GBit would usually put enormous strains on the CPU (to the point it’s pretty much only doing that), which is taken away entirely by using this.
As it turns out, hardware appears to be much faster at these types of things than general purpose CPUs. :)