Thread (74 messages) 74 messages, 14 authors, 2022-07-28

Re: [dpdk-dev] [PATCH] doc: add known issue with mbuf segment

From: Morten Brørup <hidden>
Date: 2021-08-06 14:24:48

From: Thomas Monjalon [mailto:thomas@monjalon.net]
Sent: Friday, 6 August 2021 16.21

05/08/2021 08:08, Morten Brørup:
quoted
quoted
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas
Monjalon
quoted
quoted
Sent: Wednesday, 4 August 2021 15.30

A bug with segmented packets has been discovered but the agreement
to apply the fix is not concluded at the time of DPDK 21.08
release.
quoted
quoted
This bug seems to be in DPDK for many years and should be fixed in
21.11.

Suggested-by: Olivier Matz <redacted>
Signed-off-by: Thomas Monjalon <redacted>
---
 doc/guides/rel_notes/release_21_08.rst | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/doc/guides/rel_notes/release_21_08.rst
b/doc/guides/rel_notes/release_21_08.rst
index d7559ec6bf..14e32585b8 100644
--- a/doc/guides/rel_notes/release_21_08.rst
+++ b/doc/guides/rel_notes/release_21_08.rst
@@ -251,6 +251,18 @@ Known Issues
    Also, make sure to start the actual text at the margin.
    =======================================================

+* **Last mbuf segment not implicitly reset.**
+
+  It is expected that free mbufs have their field ``nb_seg`` set
to 1,
quoted
quoted
+  so that when it is allocated, the user does not need to set its
value.
+  The mbuf free functions are responsible of resetting this field
to 1
quoted
quoted
+  before returning the mbuf to the pool.
+
+  When a multi-segment mbuf is freed, the field ``nb_seg`` is not
reset
+  to 1 for the last segment of the chain. On next allocation of
this
quoted
quoted
segment,
+  if the field is not explicitly reset by the user,
+  an invalid mbuf can be created, and can cause an undefined
behavior.
quoted
quoted
+
I have a couple of suggestions:

1. Add that this bug was present in previous DPDK releases for many
years. If possible, mention which release introduced the bug.
quoted
We don't want users to choose to stay on older release, thinking that
it does not have this bug.
quoted
Also, if a user experiences unexplainable problems with segmented
packets an older DPDK release, he might get lucky and find these
release notes, which could reveal the root cause of the problems he is
experiencing.
quoted
2. Add a link to the patch that fixes the bug. It will let users
affected by the bug easily fix it (possibly at the expense of degraded
performance).
quoted
With those two additions,
Acked-by: Morten Brørup <redacted>
Applied with the suggested additions:

+  This issue has a root cause in DPDK 17.05, meaning it is 4 years
old.
+  A fix is available and discussed but not merged in DPDK 21.08:
+  https://patches.dpdk.org/patch/86458/
Perfect! Thanks.

-Morten
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help