> > > >Thanks, >Michael >在 2017年5月3日,下午11:28,Kavanagh, Mark B <mark.b.kavan...@intel.com> 写道: > >>> >>> Currently, OVS only support DPDK single segment mbuf, >>> it could lead problems, like a large non-DPDK source >>> packet transmit to dpdk port. >>> >>> Also, OVS doesn't copy enough info in mbuf when do >>> packet copy. >>> >>> At the same time, vlan and tunnelling packet's DPDK >>> offloads, for example TSO, needs multi-segment mbuf's >>> support. >>> >>> This patchset solved all above issues. >> >> Hi Michael, >> >> Thanks for this patch - I'm also working in this area currently, and have an >> RFC patch that >builds on your work. >> >> I'm interested in the NIC that you used in testing this patchset - >> specifically, the >related TX callback function that was used. The reason I ask is that >vectorized Tx functions >are typically incompatible with multi-segment mbufs, due to their >scatter-gather (i.e. non- >contiguous) nature, although this may vary from PMD to PMD. >> > >The NIC we used is Intel xl710, and you are right, vectorized TX doesn't >support this. >Because we use hw offloading, but vector pmd doest not support offloading as I >know. If >offloading is configured, pmds will not use vector. > >> Finally, this patch doesn't provide support for multi-segment jumbo frames >> that > >If a packet is multi-seg, doesn't it be a jumbo frame in current ovs?
Hi Michael, I think we're looking at multi-segment mbufs from two different perspectives: 1. When a non-DPDK device sends a jumbo frame to OvS that is stored as a multi-segment mbuf - this is what your patch implements 2. Enabling multi-segment mbufs in OvS-DPDK using standard-sized mbufs - i.e. increasing a DPDK port's MTU, but instead of increasing the size of mempool elements to accommodate the jumbo frame, simply use chained mbufs instead - this is what my patch does. I hope that this clears things up! Thanks, Mark > >> originate from a DPDK source - I'll post an RFC patch on this tomorrow, and >> I would be >grateful if you could review same! >> >> Thanks again, >> Mark >> >> >> >> >>> >>> -- >>> v1 --> v2 >>> rebase code to newest upstream. >>> fix some typo in commit log. >>> >>> Michael Qiu (5): >>> lib/dp-packet: init the mbuf to zero when build with DPDK >>> lib/dp-packet: copy additional packet info when do packet copy >>> lib/dp-packet: Fix data_len issue with multi-segments >>> lib/dp-packet: copy multi-segments data from DPDK mbuf >>> lib/netdev-dpdk: copy large packet to multi-segment mbufs >>> >>> lib/dp-packet.c | 33 ++++++++++++++++++++++++++++++--- >>> lib/dp-packet.h | 23 +++++++++++++---------- >>> lib/netdev-dpdk.c | 55 >>> +++++++++++++++++++++++++++++++++++++++++++++++++++---- >>> 3 files changed, 94 insertions(+), 17 deletions(-) >>> >>> -- >>> 1.8.3.1 >> >> _______________________________________________ >> dev mailing list >> d...@openvswitch.org >> https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev