Current netmap support in Click is very simple. Its buffer recycling mechanism is not MT safe; at high packet rate, it can easily run out of netmap buffers so that Click has to copy netmap's buffer content to make a new Packet; and the integration doesn't support rx/tx from a particular ring of the RSS-enable NIC.
I've been working on improving this for a while, and so far all the above problems have been solved. You can take a look at https://github.com/wbsun/glick , it includes my modification to netmap integration and FromDevice/ToDevice support for single ring rx/tx, it also support pin Click thread to a particular CPU core so that you can benefit from RSS by setting NIC interruption affinity. It requires a modified Netmap which is at https://github.com/wbsun/nm . This netmap version supports allocating spare buffers for userspace pool to avoid buffer-run-out in Click, and also supports more slot buffers. That modified Click has something related to GPU, I plan to make them loosely-coupled after finishing my current work on hand and try to make a pull request at github for merging into Click source. If you want to use it now, you need to remove my GPU related elements under elements/local/ so as to avoid compilation errors. To identify them, they all include my 'g4c.h' header, so simply remove any elements needing the 'g4c.h' header. Some files outside elements/local/ also need 'g4c.h' header, but they just need macros inside it, you can get that header file from https://github.com/wbsun/g4c . Hope this can help a little bit. On 2013-01-06 07:52, Ashok Anand wrote: > Hi, > > I was wondering if netmap has been integrated with click, and is > available > to use. please let me know. > > Regards, > Ashok > _______________________________________________ > click mailing list > [email protected] > https://amsterdam.lcs.mit.edu/mailman/listinfo/click _______________________________________________ click mailing list [email protected] https://amsterdam.lcs.mit.edu/mailman/listinfo/click
