DPDK patches and discussions
 help / color / mirror / Atom feed
* [DPDK/testpmd Bug 1470] Testpmd parameter --max-pkt-len does not update MTU of ports bound to a kernel driver
@ 2024-06-21 17:37 bugzilla
  0 siblings, 0 replies; only message in thread
From: bugzilla @ 2024-06-21 17:37 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 2755 bytes --]

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

            Bug ID: 1470
           Summary: Testpmd parameter --max-pkt-len does not update MTU of
                    ports bound to a kernel driver
           Product: DPDK
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: testpmd
          Assignee: dev@dpdk.org
          Reporter: jspewock@iol.unh.edu
  Target Milestone: ---

If testpmd is started with the parameter --max-pkt-len, the expected behavior
would be that the MTU of the port is updated to what that value is set to. In
the case of devices that use a kernel driver while running testpmd (like
mlx5_core for example), `show port info` will show that the MTU is the value
that you set --max-pkt-len to. However, if you look at the network interface
for the same port using the `ip a` command, it will report the unchanged MTU of
the port. Additionally, all packets that are higher than the MTU reported by
the kernel network interface will be dropped, regardless of whether or not the
value given to --max-pkt-len is high enough to handle them.

If, however, you run the command `port config all max-pkt-len 9000`, the mtu of
the kernel network interface will be updated to 8982 and the mtu listed by
`show port info 0` will match. The documentation listed here [1] says that this
command "is equivalent to the --max-pkt-len command-line option." but the two
have different outcomes. Also, as a note, if you set the mtu using `port config
mtu 0 9000`, the mtu of the kernel network interface and the MTU displayed by
`show port info 0` will match and both be 9000.

For example, starting testpmd in interactive mode on a NIC running on the
mlx5_core driver with the parameter `--max-pkt-len=9000` and then running `show
port info 0` will show "MTU: 8982". However, on the same host, while testpmd is
running, if I run `ip a` the MTU of the interface for this port is set to 1500
and any packet larger than 1500 bytes will get dropped. If you then run `port
stop all` followed by `port config all max-pkt-len 9000`, you can run `show
port info 0` and you will see the same mtu value, 8982, but then if you run `ip
a` you will see that the kernel network interface also has this updated MTU
value. Only then, after starting the ports again, can you send packets larger
than 1500 bytes.

The MTU listed in `show port info` seems to be more accurate when bound to
vfio-pci instead, however. 

[1]
https://doc.dpdk.org/guides/testpmd_app_ug/testpmd_funcs.html#port-config-max-pkt-len

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

[-- Attachment #2: Type: text/html, Size: 4767 bytes --]

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

only message in thread, other threads:[~2024-06-21 17:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-21 17:37 [DPDK/testpmd Bug 1470] Testpmd parameter --max-pkt-len does not update MTU of ports bound to a kernel driver bugzilla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).