> From: Stephen Hemminger [mailto:step...@networkplumber.org] > Sent: Friday, 22 July 2022 16.49 > > On Fri, 22 Jul 2022 21:01:50 +0800 > Huichao Cai <chcch...@163.com> wrote: > > > Some NIC drivers support MBUF_FAST_FREE(Device supports optimization > > for fast release of mbufs. When set application must guarantee that > > per-queue all mbufs comes from the same mempool and has refcnt = 1) > > offload. In order to adapt to this offload function, add this API. > > Add some test data for this API. > > > > Signed-off-by: Huichao Cai <chcch...@163.com> > > The code should just be checking that refcnt == 1 directly. > > There are cases where sender passes a cloned mbuf. This is independent > of the fast free optimization. > > Similar to what Linux kernel does with skb_cow().
Olivier just confirmed that MBUF_FAST_FREE requires that the mbufs are direct and non-segmented, although these requirements are not yet documented. This means that you should not generate segmented mbufs with this patch. I don't know what to do instead; probably fail with an appropriate errno.