Netmap is for writing fast code in userspace. With this you get to run the code in kernel space, in a more limited environment, but which may be sufficient for many tasks.
this is seems to be an offshoot/extension of pf-ring.
apart from performing packet operations in userland also defines a language with functional-composition (take a packet, return an 'enriched' packet) for further processing e.g. fanout/io etc.
ast from pfq/lang application gets translated into appropriate structures, in the kernel, and gets executed on top of the driver...