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
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