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 F32924639D; Fri, 14 Mar 2025 00:29:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EDB2640289; Fri, 14 Mar 2025 00:29:57 +0100 (CET) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mails.dpdk.org (Postfix) with ESMTP id CC4844026B for ; Fri, 14 Mar 2025 00:29:56 +0100 (CET) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-223fb0f619dso29539785ad.1 for ; Thu, 13 Mar 2025 16:29:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1741908596; x=1742513396; darn=dpdk.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=xFFtnx9rwHcFuEymntsE+6TUS2INCk16MR/TJg4DIBE=; b=ijqQWsffCk4FAy3Slzu4/WcotI73U0v/pfAA3zwkpx11TJQNn/opKSK7HR5fpZsUFR Ui4rWxcK53YkppMmCn3EYjPu4v3zPw8Ektj3L/cPdnRCCkZLOuZGiuwq8RDfsXQe9MEh 9pAjp28OygHU3xyRusbVBxkjKeIwtYJ5i49E0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741908596; x=1742513396; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=xFFtnx9rwHcFuEymntsE+6TUS2INCk16MR/TJg4DIBE=; b=icH1HuGe/uG3kKjDnt+vRHhTJS096asZAAPBJIFyNXjLdeoDppmcYQAuo7Q/xVi9Go DXl2D/Teaj3LIKKTAwTM83Lz8bUiUtunFHpjJyFOsNlPCwAm4nlLGkFaysIRdf8QBx8V u577z5wlh7qH0YFrnkQ3uj7UwfYLiFmnIZ0+upndFuoYgKLiOyO072Uozqp8EtXyJYOv dnYeubdr20hWriwtKUs6thfdUXcxmLVg67/PrKNRVchwcyjLrGhnBJjQ9oLzqwX2S7zN xkVpybMRcNRvdj6VX7pSj353TSht499860V5C/ZMcZ+5spCkN3lBZ67xKflKuUcsNpZK 0MyQ== X-Gm-Message-State: AOJu0Yz777sKO/DFeo+TcGQJuJ9WWTqHLtdZJc2V+QRA/hS6nPsa04BW HtRB7SNfaaC6JoBUPxdCj1P+ZBCUgLmeYTCtLL1YVSWbfZy8OAOlkO7A9IRTZ0vkC2X2RZqMa8C Bva6x8uwEvOERiSooi0BvLFapAeM6x/FjnBPy+Q== X-Gm-Gg: ASbGncs+HOfM/4/DoF1V7Ye4ch51HwfXYznFZyTvI3Tnnh/u9OYE+9VtW7SgC5u2Gvi WuaJ/a1WfWOAgZtysXxHzCeuHX0Kk1V9/AxU8BdsoN8MKehlSqZEOmnY6QXUYiKhcLokK0f7aOM m1hauMv4i7T2GZ1drMcGwlc1JoxXH5h+4t+9pPWsN7AlR7J6zt0g20Zg58IVNIbaNXNSMN5g== X-Google-Smtp-Source: AGHT+IFw6G2Bdn2FFpu9NAe3PFMIq/A9cZiRDnNtZluVFq3eGqPZSuAcMWhv7voMaxWM3FqNee2lrXyoRpJQUzXyN+s= X-Received: by 2002:a17:903:98b:b0:223:5e6a:57ab with SMTP id d9443c01a7336-225e0af040amr5611195ad.39.1741908595621; Thu, 13 Mar 2025 16:29:55 -0700 (PDT) MIME-Version: 1.0 From: Patrick Robb Date: Thu, 13 Mar 2025 19:26:13 -0400 X-Gm-Features: AQ5f1JoJQ9QQRof2IgHyhefAbK4zFf1pyzsYsAyyTjN64Q4b4NZG91lWl-dJuWM Message-ID: Subject: DTS WG Meeting Minutes - February 27, 2025 To: dev Cc: ci@dpdk.org Content-Type: multipart/alternative; boundary="00000000000012dfd4063041b38c" X-BeenThere: ci@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK CI discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ci-bounces@dpdk.org --00000000000012dfd4063041b38c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable ##################################################################### February 27, 2025 Attendees * Patrick Robb * Paul Szczepanek * Luca Vizzarro * Ian Stokes ##################################################################### Minutes =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D General Discussion * RC2 is Feb 28, 2025 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Patch discussions * VF port support: Patrick is trying to refactor this, with these assumptions * 1. Port class gets a new attribute, virtual_functions, which is a list of VFs (type Port). From looking at a couple VF testsuites we want to provide, it seems that having the PF -> VF(s) relationship handled in this way is sufficient. * VFs will automatically have the mac attribute assigned * Will not have the logical name attribute assigned (does not exist in linux for VFs) * 2. Still unsure of how to handle VF # * 2.1 One option is to just check /sys/class/net/{device_logical_name}/max_vfs and set the maximum number of VFs possible per physical port at physical port initialization * 1.2 Or, set VF as a capability on testsuites or testcases and reset at runtime. * 3. Users will specify whether the testrun is a physical function testrun or virtual function testrun in the testrun config * 4. It may make sense to run PFs and VFs across the same testsuites instead of splitting a test plan into 2 testsuites (like vf_l2fwd and pf_l2fwd) * 5. Possible footguns: promiscuous mode can behave differently for VFs vs PFs. VFs may require additional configuration in order to trust traffic which does not match the VF MAC. * TREX perf TG support: * 1. Users will be expected to create a trex config file, and provide the path in their config * 2. In legacy DTS perf tests started first by launching scapy, and using wrpcap() to write some pcap files in the DTS dir, which would get picked up by TREX later. Nick is investigating but soon we will have to determine whether these pcaps are needed, and if so whether we prefer to write them to the system at runtime or simply provide them as =E2=80=9Chelp= er pcap=E2=80=9D files in the repo. * 3. Nick will evaluate trex dpdk_nic_bind.py vs dpdk-devbind.py but most likely they are the same * Dean is refactoring some old testsuites: * Port stats check: done (Patrick needs to review) * rx/tx_offload: nearly done * Ethertype: * VLAN/TPID Filtering testcases for the ethertype testsuite cannot be run on some devices in the UNH lab due to https://bugs.dpdk.org/show_bug.cgi?id=3D1464 * UNH guys will work with the Intel and Broadcom PMD maintainers to resolve these filtering issues, and then circle back to this testsuite for 25.07 * RSS tests up and ready for review * Paul proposes renaming context to "DTS" and make it a stable API * Rename Context to DTS, pass in as dts argument to test case functions this contains the tg, sut, logger and other context needed by the testcase * Users import DTS (module) and not framework * Anything required by test writer is proxied by DTS - this becomes a stable API we promise to maintain, not affected by framework changes * Calls should be intuitive and match hierarchy * E.g. self.send_packet() -> dts.tg.send_packet() * With TestPmdShell() as testpmdshell: testpmdshell.start() -> dts.sut.testpmd.start() * dts.tg.log(), dts.sut.log() * Dts.verify etc. it=E2=80=99s clear you=E2=80=99re making a dts call= not call to your own testsuite class * Can use python assert instead of verify * Per-test-suite configuration * Keep configurations of individual test suites in distinct files? * Considering a new test_run field to specify a glob-like path * E.g. ./tests_config/{test_suite}.yaml * Could potentially make it easier if we keep different configs in the same folder, but different test runs: e.g. func.{test_suite}.yaml, perf.{test_suite}.yaml * Do we provide overrides for individual test suites? =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Bugzilla discussions * https://bugs.dpdk.org/show_bug.cgi?id=3D1464 * Dean sees the error message for VLAN assignment in i40e driver from the verbose logs, and we will forward this along to Intel guys * Need to produce verbose logs for Broadcom too * Noting that this issue does not exist on Mellanox =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Any other business * Roadmap status: https://docs.google.com/document/d/1doTZOOpkv4D5P2w6K7fEJpa_CjzrlMl3mCeDBWt= xnko/edit?tab=3Dt.0 * Next meeting is Mar 13, 2025 --00000000000012dfd4063041b38c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
##########################################################= ###########
February 27, 2025
Attendees
* Patrick Robb
* Paul S= zczepanek
* Luca Vizzarro
* Ian Stokes

#######################= ##############################################
Minutes

=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
General Discussion
*= RC2 is Feb 28, 2025

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D
Patch discussions
* VF port support: Patrick is trying t= o refactor this, with these assumptions
=C2=A0 =C2=A0* 1. Port class get= s a new attribute, virtual_functions, which is a list of VFs (type Port). F= rom looking at a couple VF testsuites we want to provide, it seems that hav= ing the PF -> VF(s) relationship handled in this way is sufficient.
= =C2=A0 =C2=A0 =C2=A0 * VFs will automatically have the mac attribute assign= ed
=C2=A0 =C2=A0 =C2=A0 * Will not have the logical name attribute assig= ned (does not exist in linux for VFs)
=C2=A0 =C2=A0* 2. Still unsure of = how to handle VF #
=C2=A0 =C2=A0 =C2=A0 * 2.1 One option is to just chec= k /sys/class/net/{device_logical_name}/max_vfs and set the maximum number o= f VFs possible per physical port at physical port initialization
=C2=A0 = =C2=A0 =C2=A0 * =C2=A01.2 Or, set VF as a capability on testsuites or testc= ases and reset at runtime.
=C2=A0 =C2=A0* 3. Users will specify whether = the testrun is a physical function testrun or virtual function testrun in t= he testrun config
=C2=A0 =C2=A0* 4. It may make sense to run PFs and VFs= across the same testsuites instead of splitting a test plan into 2 testsui= tes (like vf_l2fwd and pf_l2fwd)
=C2=A0 =C2=A0* 5. Possible footguns: pr= omiscuous mode can behave differently for VFs vs PFs. VFs may require addit= ional configuration in order to trust traffic which does not match the VF M= AC.
* TREX perf TG support:
=C2=A0 =C2=A0* 1. Users will be expected = to create a trex config file, and provide the path in their config
=C2= =A0 =C2=A0* 2. In legacy DTS perf tests started first by launching scapy, a= nd using wrpcap() to write some pcap files in the DTS dir, which would get = picked up by TREX later. Nick is investigating but soon we will have to det= ermine whether these pcaps are needed, and if so whether we prefer to write= them to the system at runtime or simply provide them as =E2=80=9Chelper pc= ap=E2=80=9D files in the repo.
=C2=A0 =C2=A0* 3. Nick will evaluate trex= dpdk_nic_bind.py vs dpdk-devbind.py but most likely they are the same
*= Dean is refactoring some old testsuites:
=C2=A0 =C2=A0* Port stats chec= k: done (Patrick needs to review)
=C2=A0 =C2=A0* rx/tx_offload: nearly d= one
* Ethertype:
=C2=A0 =C2=A0* VLAN/TPID Filtering testcases for the= ethertype testsuite cannot be run on some devices in the UNH lab due to https://bugs.dpdk.or= g/show_bug.cgi?id=3D1464
=C2=A0 =C2=A0 =C2=A0 * UNH guys will work w= ith the Intel and Broadcom PMD maintainers to resolve these filtering issue= s, and then circle back to this testsuite for 25.07
* RSS tests up and r= eady for review
* Paul proposes renaming context to "DTS" and = make it a stable API
=C2=A0 =C2=A0* Rename Context to DTS, pass in as dt= s argument to test case functions this contains the tg, sut, logger and oth= er context needed by the testcase
=C2=A0 =C2=A0* Users import DTS (modul= e) and not framework
=C2=A0 =C2=A0* Anything required by test writer is = proxied by DTS - this becomes a stable API we promise to maintain, not affe= cted by framework changes
=C2=A0 =C2=A0* Calls should be intuitive and m= atch hierarchy
=C2=A0 =C2=A0 =C2=A0 * E.g. self.send_packet() -> dts.= tg.send_packet()
=C2=A0 =C2=A0 =C2=A0 * With TestPmdShell() as testpmdsh= ell: testpmdshell.start() -> dts.sut.testpmd.start()
=C2=A0 =C2=A0 = =C2=A0 * dts.tg.log(), dts.sut.log()
=C2=A0 =C2=A0 =C2=A0 * Dts.verify e= tc. it=E2=80=99s clear you=E2=80=99re making a dts call not call to your ow= n testsuite class
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Can use python ass= ert instead of verify
* Per-test-suite configuration
=C2=A0 =C2=A0* K= eep configurations of individual test suites in distinct files?
=C2=A0 = =C2=A0 =C2=A0 * Considering a new test_run field to specify a glob-like pat= h
=C2=A0 =C2=A0 =C2=A0 * E.g. ./tests_config/{test_suite}.yaml
=C2=A0= =C2=A0 =C2=A0 * Could potentially make it easier if we keep different conf= igs in the same folder, but different test runs: e.g. func.{test_suite}.yam= l, perf.{test_suite}.yaml
=C2=A0 =C2=A0* Do we provide overrides for ind= ividual test suites?

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D
Bugzilla discussions
* https://bugs.dpdk.org/show_bug.cgi?id=3D1464=C2=A0 =C2=A0* Dean sees the error message for VLAN assignment in i40e dri= ver from the verbose logs, and we will forward this along to Intel guys
= =C2=A0 =C2=A0* Need to produce verbose logs for Broadcom too
=C2=A0 =C2= =A0* Noting that this issue does not exist on Mellanox

=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Any other business
* Ro= admap status: https://docs.google.com/docum= ent/d/1doTZOOpkv4D5P2w6K7fEJpa_CjzrlMl3mCeDBWtxnko/edit?tab=3Dt.0
* = Next meeting is Mar 13, 2025
--00000000000012dfd4063041b38c--