On 07/27/2015 08:38 PM, Thomas Huth wrote:
On 24/07/15 12:55, Yang Hongyang wrote:
This patch add a net filter between network backend and NIC devices.
All packets will pass by this filter.
TODO:
multiqueue support.
+--------------+ +-------------+
+----------+ | filter | |frontend(NIC)|
| peer+--> | | |
| network <--+backend <-------+ peer |
| backend | | peer +-------> |
+----------+ +--------------+ +-------------+
Usage:
-netdev tap,id=bn0 # you can use whatever backend as needed
-netdev filter,id=f0,backend=bn0
-netdev filter-<plugin>,id=p0,filter=f0
-device e1000,netdev=f0
NOTE:
You can attach multiple plugins to the filter, dynamically add/remove
filter and filter-<plugin>.
A filter without plugin supplied will do nothing except pass by all
packets, a plugin like dump for example, will dump all packets into a
file. Or other plugins like a netbuffer plugin, will simply buffer the
packets, release the packets when needed.
You can also implement whatever plugin you needed based on this filter.
Signed-off-by: Yang Hongyang <yan...@cn.fujitsu.com>
Hi,
just a quick comment: Please make sure to check your patches with
scripts/checkpatch.pl first before sending them for review - at least
for this patch, the script complains:
ERROR: do not use C99 // comments
#59: FILE: include/net/filter.h:12:
+//#include "qapi-types.h"
WARNING: braces {} are necessary for all arms of this statement
#424: FILE: net/filter.c:311:
+ if (plug->plugin == plugin)
[...]
total: 1 errors, 1 warnings, 463 lines checked
Sorry for not done so this time, will check next time.
Thank you!
Thomas
.
--
Thanks,
Yang.