From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: olivier.matz@6wind.com, yskoh@mellanox.com,
arybchenko@solarflare.com, bernard.iremonger@intel.com
Subject: [PATCH v2 0/3] segment sanity checks
Date: Mon, 7 Jan 2019 09:57:09 +0100 [thread overview]
Message-ID: <1546851432-19397-1-git-send-email-david.marchand@redhat.com> (raw)
Resubmitting this series that I did not finish in my previous life (6WIND
people are okay with this).
Here is a little series which helped me identify a multi segment issue.
Hope it can help others.
The difference since the RFC patches I sent some time ago is that, rather
than force the user to build the dpdk with CONFIG_RTE_LIBRTE_MBUF_DEBUG
enabled, it uses rx/tx callbacks to apply checks on the mbufs.
Changelog since v1:
- dropped unnecessary casts in patch 1,
- rewrote patch 3: reused the existing rx/tx callbacks and left the invalid
mbufs in rx bulk
Example (with [1] that generates invalid mbufs):
./testpmd --no-huge -l 2,3 -m 512 --log-level *:debug --vdev=eth_ring0
--vdev=eth_ring1 -- -i --total-num-mbufs 2048
[...]
testpmd> set verbose 1
testpmd> set burst 4
Number of packets per burst set to 4
testpmd> start tx_first
port 0/queue 0: received 4 packets
src=00:00:00:00:00:00 - dst=02:00:00:00:00:00 - type=0x0800 - length=64
- nb_segs=2 - sw ptype: L2_ETHER L3_IPV4 L4_UDP - l2_len=14 - l3_len=20
- l4_len=8 - Receive queue=0x0
ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_UNKNOWN
PKT_RX_OUTER_L4_CKSUM_UNKNOWN
INVALID mbuf: bad nb_segs
src=00:00:00:00:00:00 - dst=02:00:00:00:00:00 - type=0x0800 - length=64
- nb_segs=1 - sw ptype: L2_ETHER L3_IPV4 L4_UDP - l2_len=14 - l3_len=20
- l4_len=8 - Receive queue=0x0
ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_UNKNOWN
PKT_RX_OUTER_L4_CKSUM_UNKNOWN
INVALID mbuf: bad pkt_len
src=00:00:00:00:00:00 - dst=02:00:00:00:00:00 - type=0x0800 - length=64
- nb_segs=1 - sw ptype: L2_ETHER L3_IPV4 L4_UDP - l2_len=14 - l3_len=20
- l4_len=8 - Receive queue=0x0
ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_UNKNOWN
PKT_RX_OUTER_L4_CKSUM_UNKNOWN
INVALID mbuf: bad nb_segs
src=00:00:00:00:00:00 - dst=02:00:00:00:00:00 - type=0x0800 - length=64
- nb_segs=2 - sw ptype: L2_ETHER L3_IPV4 L4_UDP - l2_len=14 - l3_len=20
- l4_len=8 - Receive queue=0x0
ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_UNKNOWN
PKT_RX_OUTER_L4_CKSUM_UNKNOWN
INVALID mbuf: bad nb_segs
port 1/queue 0: received 4 packets
[...]
testpmd> stop
1: https://github.com/david-marchand/dpdk/commit/601630d8db0e
--
David Marchand
David Marchand (3):
mbuf: add sanity checks on segment metadata
mbuf: add a non fatal sanity check helper
app/testpmd: check mbufs in verbose mode
app/test-pmd/util.c | 3 ++
lib/librte_mbuf/Makefile | 2 ++
lib/librte_mbuf/meson.build | 2 ++
lib/librte_mbuf/rte_mbuf.c | 70 +++++++++++++++++++++++++++---------
lib/librte_mbuf/rte_mbuf.h | 23 ++++++++++++
lib/librte_mbuf/rte_mbuf_version.map | 6 ++++
6 files changed, 89 insertions(+), 17 deletions(-)
--
1.8.3.1
next reply other threads:[~2019-01-07 8:57 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-07 8:57 David Marchand [this message]
2019-01-07 8:57 ` [PATCH v2 1/3] mbuf: add sanity checks on segment metadata David Marchand
2019-01-07 8:57 ` [PATCH v2 2/3] mbuf: add a non fatal sanity check helper David Marchand
2019-01-07 8:57 ` [PATCH v2 3/3] app/testpmd: check mbufs in verbose mode David Marchand
2019-01-08 9:53 ` Iremonger, Bernard
2019-01-15 1:33 ` [PATCH v2 0/3] segment sanity checks Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1546851432-19397-1-git-send-email-david.marchand@redhat.com \
--to=david.marchand@redhat.com \
--cc=arybchenko@solarflare.com \
--cc=bernard.iremonger@intel.com \
--cc=dev@dpdk.org \
--cc=olivier.matz@6wind.com \
--cc=yskoh@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.