On Tue, Oct 27, 2020 at 5:50 PM Yi Yang (杨燚)-云服务集团 <yangy...@inspur.com> wrote:
>
> -----邮件原件-----
> 发件人: dev [mailto:ovs-dev-boun...@openvswitch.org] 代表 Ilya Maximets
> 发送时间: 2020年10月27日 21:12
> 收件人: yang_y...@163.com; ovs-dev@openvswitch.org
> 抄送: f...@sysclose.org; i.maxim...@ovn.org
> 主题: Re: [ovs-dev] [PATCH V3 3/4] Add VXLAN TCP and UDP GRO support for DPDK 
> data path
>
> On 8/7/20 12:56 PM, yang_y...@163.com wrote:
> > From: Yi Yang <yangy...@inspur.com>
> >
> > GRO(Generic Receive Offload) can help improve performance when TSO
> > (TCP Segment Offload) or VXLAN TSO is enabled on transmit side, this
> > can avoid overhead of ovs DPDK data path and enqueue vhost for VM by
> > merging many small packets to large packets (65535 bytes at most) once
> > it receives packets from physical NIC.
>
> IIUC, this patch allows multi-segment mbufs to float across different parts 
> of OVS.  This will definitely crash it somewhere.  Much more changes all over 
> the OVS required to make it safely work with such mbufs.  There were few 
> attempts to introduce this support, but all of them ended up being rejected.  
> As it is this patch is not acceptable as it doesn't cover almost anything 
> beside simple cases inside netdev implementation.
>
> Here is the latest attempt with multi-segment mbufs:
> https://patchwork.ozlabs.org/project/openvswitch/list/?series=130193&state=*

Thanks, that's very helpful. Looks like a huge amount of work to
introduce multi-seg mbuf.
>
> Best regards, Ilya Maximets.
>
> [Yi Yang] We have to support this because we have supported TSO for TCP, it 
> can't handle big UDP, this is why we must introduce GSO, the prerequisite of 
> GSO is multi-segment  must be enabled because GSOed mbufs are 
> multi-segmented, but it is just last  step before dpdk Tx, so I don't think 
> it is an issue, per my test in our openstack environment, I didn't encounter 
> any crash, this just enabled DPDK PMD driver to handle GSOed mbuf. For GRO, 
> reassembling also use chained multi-segment mbuf to avoid copy, per long time 
> test, it also didn't lead to any crash. We can fix some corner cases if they 
> aren't covered.
>
I just started to understand the problem. Sorry if I missed something.
So currently what do we do to prevent DPDK sending OVS using multi-seg mbuf?
Do we check it and linearize the mbuf?
Can we make GSO/GRO working using linearized mbuf?

Regards,
William
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to