From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 13F2C454BD; Fri, 21 Jun 2024 19:37:40 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 528E740430; Fri, 21 Jun 2024 19:37:37 +0200 (CEST) Received: from inbox.dpdk.org (inbox.dpdk.org [95.142.172.178]) by mails.dpdk.org (Postfix) with ESMTP id 2FBA140265 for ; Fri, 21 Jun 2024 19:37:36 +0200 (CEST) Received: by inbox.dpdk.org (Postfix, from userid 33) id 1E543454BE; Fri, 21 Jun 2024 19:37:36 +0200 (CEST) From: bugzilla@dpdk.org To: dev@dpdk.org Subject: [DPDK/testpmd Bug 1470] Testpmd parameter --max-pkt-len does not update MTU of ports bound to a kernel driver Date: Fri, 21 Jun 2024 17:37:36 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: DPDK X-Bugzilla-Component: testpmd X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jspewock@iol.unh.edu X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: Normal X-Bugzilla-Assigned-To: dev@dpdk.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: multipart/alternative; boundary=17189914550.2fEa.3232902 Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --17189914550.2fEa.3232902 Date: Fri, 21 Jun 2024 19:37:35 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All https://bugs.dpdk.org/show_bug.cgi?id=3D1470 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 behavi= or 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 MT= U 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 mt= u 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 t= wo have different outcomes. Also, as a note, if you set the mtu using `port co= nfig 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=3D9000` and then running= `show port info 0` will show "MTU: 8982". However, on the same host, while testpm= d is running, if I run `ip a` the MTU of the interface for this port is set to 1= 500 and any packet larger than 1500 bytes will get dropped. If you then run `po= rt 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 larg= er than 1500 bytes. The MTU listed in `show port info` seems to be more accurate when bound to vfio-pci instead, however.=20 [1] https://doc.dpdk.org/guides/testpmd_app_ug/testpmd_funcs.html#port-config-m= ax-pkt-len --=20 You are receiving this mail because: You are the assignee for the bug.= --17189914550.2fEa.3232902 Date: Fri, 21 Jun 2024 19:37:35 +0200 MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All
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 par=
ameter --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 MT=
U 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 mt=
u 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 co=
nfig
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=3D9000` and then running=
 `show
port info 0` will show "MTU: 8982". However, on the same host, wh=
ile testpmd is
running, if I run `ip a` the MTU of the interface for this port is set to 1=
500
and any packet larger than 1500 bytes will get dropped. If you then run `po=
rt
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 larg=
er
than 1500 bytes.

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

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


You are receiving this mail because:
  • You are the assignee for the bug.
=20=20=20=20=20=20=20=20=20=20
= --17189914550.2fEa.3232902--