Hi,
On 04/04/13 14:58, Daniel-Constantin Mierla wrote:
quite interesting, I didn't know it has two operations modes: user space forwarding and kernel forwarding.
Is there any plan in supporting more one mode (or dropping the other) in the future?
Not per se, kernel mode forwarding (at least for the primitive case with no modifications to the packets) will always be the primary means of forwarding packets. At the same time, user-space forwarding will also always be available, since at least the first few packets must always be processed by the daemon. As such, it doesn't really have two modes of operation, it will simply fall back to user-space processing if the kernel modules fails to do its job for whatever reason. It's designed to use the functionality of the kernel module if possible, but also not to rely on it.
Have you done some measurements to see the benefits of kernel forwarding vs user space?
I can't quote any specific numbers, but we've seen several times in the past that the overhead of pushing packets back and forth between kernel and user space is quite significant. I suppose I could try to set up some simple tests to get some unscientific ballpark numbers if people are interested.
cheers