From: Thomas Monjalon Date: Wed, 4 Aug 2021 13:29:52 +0000 (+0200) Subject: doc: add known issue with mbuf segment X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=e08fcd7f9bc2985771a35daba666a2aca1f6cbb9;p=dpdk.git doc: add known issue with mbuf segment 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. This bug seems to be in DPDK for many years and should be fixed in 21.11. Suggested-by: Olivier Matz Signed-off-by: Thomas Monjalon Acked-by: Ajit Khaparde Acked-by: Morten Brørup --- diff --git a/doc/guides/rel_notes/release_21_08.rst b/doc/guides/rel_notes/release_21_08.rst index d7559ec6bf..21ddb0d387 100644 --- a/doc/guides/rel_notes/release_21_08.rst +++ b/doc/guides/rel_notes/release_21_08.rst @@ -251,6 +251,22 @@ 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, + 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 + 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 segment, + if the field is not explicitly reset by the user, + an invalid mbuf can be created, and can cause an undefined behavior. + + 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/ + Tested Platforms ----------------