On 03/16/2016 06:38 PM, Zhang Chen wrote:
> Filter-redirector is a netfilter plugin.
> It gives qemu the ability to redirect net packet.
> redirector can redirect filter's net packet to outdev.
> and redirect indev's packet to filter.
>
> filter
> +
> redirector |
> +--+
> || |
> || |
> || |
> indev +-+ +--> outdev
> || |
> || |
> || |
> +--+
> |
> v
> filter
>
>
> v5:
> Address Jason's comments.
> - add event to handle connection close
> - fix some comments
>
> v4:
> Address Jason's comments.
> - remove redirector's incoming queue
> - just pass packet come from in_dev to filter's next
> - rework redirector_chr_read, most code is stolen from net_socket_send
> - fix comments error
> - add some comments
>
> v3:
> -Address Jason's comments.
>
> v2:
> - Address Jason's comments.
> - Add filter-traffic.h to reuse parts of the codes
> - Add unit test case
>
> v1:
> initial patch.
>
>
> Zhang Chen (2):
> net/filter-mirror: implement filter-redirector
> tests/test-filter-redirector: Add unit test for filter-redirector
>
> net/filter-mirror.c| 245
> +
> qemu-options.hx| 9 ++
> tests/.gitignore | 1 +
> tests/Makefile | 2 +
> tests/test-filter-redirector.c | 221 +
> vl.c | 3 +-
> 6 files changed, 480 insertions(+), 1 deletion(-)
> create mode 100644 tests/test-filter-redirector.c
>
Almost there, just few nits on patch 1. I think it could be merged after
one more iteration.
Thanks