This series extends filter-redirector to support vhost-net backends by introducing AF_PACKET based packet capture and injection.
TODO ======== This series introduces basic support for filter-redirector, enabling simple mirroring of VM1's ingress traffic to VM2's mirror port. Additional functionality including filter_buffer and other filter features will be added in following versions. Example Usage ============= Primary VM (mirror incoming packets to secondary via chardev socket): -netdev tap,id=net0,vhost=on,... -chardev socket,id=mirror0,host=...,port=...,server=on,wait=off -object filter-redirector,id=vm1redir,netdev=net0,in_netdev=net0,outdev=mirror0 Secondary VM (receive mirrored packets): -chardev socket,id=red0,host=...,port=...,reconnect-ms=1000 -object filter-redirector,id=vm2redir,netdev=net0,indev=red0,out_netdev=net0 Testing ======= - Tested with vhost=on/off TAP netdev on x86_64 Cindy Lu (5): net/filter: Allow redirector on vhost backends net/filter-redirector: add in/out_netdev properties net/filter-redirector: Add AF_PACKET sockets initialization net/filter-redirector: add AF_PACKET redirect datapath qapi: add in/out_netdev to filter-redirector net/filter-mirror.c | 460 +++++++++++++++++++++++++++++++++++++++++--- net/filter.c | 6 +- qapi/qom.json | 19 +- 3 files changed, 459 insertions(+), 26 deletions(-) -- 2.52.0
