Hi Maxime,

> -----Original Message-----
> From: Maxime Coquelin <maxime.coque...@redhat.com>
> Sent: Wednesday, May 3, 2023 5:37 PM
> To: Jiang, Cheng1 <cheng1.ji...@intel.com>; Xia, Chenbo
> <chenbo....@intel.com>
> Cc: dev@dpdk.org; Hu, Jiayu <jiayu...@intel.com>; Ding, Xuan
> <xuan.d...@intel.com>; Ma, WenwuX <wenwux...@intel.com>; Wang, YuanX
> <yuanx.w...@intel.com>; He, Xingguang <xingguang...@intel.com>; David
> Marchand <david.march...@redhat.com>
> Subject: Re: [PATCH 0/2] vhost: add port mirroring function in the vhost lib
> 
> Hi Cheng,
> 
> On 4/21/23 03:09, Cheng Jiang wrote:
> > Similar to the port mirroring function on the switch or router, this
> > patch set implements such function on the Vhost lib. When data is sent
> > to a front-end, it will also send the data to its mirror front-end.
> > When data is received from a front-end, it will also send the data to
> > its mirror front-end.
> 
> Why not just keeping mirroring in the switch/router?
> I am really not convinced this is the way to go:
> 1. API is too complex
> 2. It requires async support
> 3. There is too much code duplication, it increases  virtio-net.c by
>     30%, and it is without packed ring support.
> 4. If mirror port is down for any reason, packets to/from the original
>     port are dropped.
> 5. It seems to assume negotiated features of the two ports are
>     identical, e.g. Virtio-net header length? If so, that's not a
>     manageable solution.

Thank you for your feedback.
I concur that placing the mirror function in the Vhost library is not ideal. We 
are currently considering implementing either a mirror Vhost PMD, or adding a 
function to TestPMD to handle this functionality.
Would you please share your thoughts on this plan and let us know which option 
you prefer?

Thanks a lot,
Cheng



> 
> Regards,
> Maxime
> 
> >
> > Cheng Jiang (2):
> >    vhost: add ingress API for port mirroring datapath
> >    vhost: add egress API for port mirroring datapath
> >
> >   lib/vhost/rte_vhost_async.h |   17 +
> >   lib/vhost/version.map       |    3 +
> >   lib/vhost/virtio_net.c      | 1266 +++++++++++++++++++++++++++++++++++
> >   3 files changed, 1286 insertions(+)
> >
> > --
> > 2.35.1
> >

Reply via email to