DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [Bug 405] mlx5: the guest driver doesn't enforce the MTU set by rte_eth_dev_set_mtu()
@ 2020-02-21 16:26 bugzilla
  0 siblings, 0 replies; only message in thread
From: bugzilla @ 2020-02-21 16:26 UTC (permalink / raw)
  To: dev

https://bugs.dpdk.org/show_bug.cgi?id=405

            Bug ID: 405
           Summary: mlx5: the guest driver doesn't enforce the MTU set by
                    rte_eth_dev_set_mtu()
           Product: DPDK
           Version: 19.11
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: critical
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: scott_wasson@affirmednetworks.com
  Target Milestone: ---

On our guest VM, we are seeing packets that exceed the configured MTU are not
dropped by the mlx5 driver, and the packet scribbles past the end of the buffer
and overwrites the next struct rte_mbuf in memory.

The Openstack host’s MTU is 9000 on the PF.  Any large value will do.

The guest has buffers that are all 2250 bytes in payload size.

The guest calls rte_eth_dev_set_mtu() with a value of 2250 on a given VF.

We send an ICMP echo packet of size 3000 bytes, and it is not dropped by the
driver.  Instead, the 3000-byte packet is written into a 2250-byte buffer,
having ignored the setting from rte_eth_dev_set_mtu (which had returned
“success”), and causes corruption of the next struct rte_mbuf in memory, and a
crash very soon thereafter.

When we reduce the host’s MTU on the PF to a value <= 2250, then the problem
goes away. But we see this is a work-around, not a fix.

If the guest is in fact unable to change the MTU due to hardware architectural
limitations, it would be prudent to return the error (-ENOTSUP) to indicate
that the guest is unable to perform the request.  Also generate a log message
describing the reason for the error, to provide the community with sufficient
information to understand the problem.  But this is speculation, we don't know
for certain that the mlx5 guest driver is architecturally unable to enforce
MTU.

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-02-21 16:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-21 16:26 [dpdk-dev] [Bug 405] mlx5: the guest driver doesn't enforce the MTU set by rte_eth_dev_set_mtu() bugzilla

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git