Hey Koushik,

It looks like not all of my comments were addressed, e.g. Artifact.

On 10/11/2026 20:10, Koushik Bhargav Nimoji wrote:
diff --git 
a/doc/api/dts/tests.TestSuite_pvp_multi_paths_vhost_single_core_perf.rst 
b/doc/api/dts/tests.TestSuite_pvp_multi_paths_vhost_single_core_perf.rst
new file mode 100644
index 0000000000..4fcc6b6c91
--- /dev/null
+++ b/doc/api/dts/tests.TestSuite_pvp_multi_paths_vhost_single_core_perf.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+
+pvp_multi_paths_vhost_single_core_perf Test Suite
+=================================================
+
+.. automodule:: tests.TestSuite_pvp_multi_paths_vhost_single_core_perf
+   :members:
+   :show-inheritance:
diff --git a/dts/api/testpmd/config.py b/dts/api/testpmd/config.py
index c72c1b2c90..9459cd83bb 100644
--- a/dts/api/testpmd/config.py
+++ b/dts/api/testpmd/config.py
@@ -13,6 +13,8 @@
  from pathlib import PurePath
  from typing import Literal, NamedTuple
+from pydantic import BaseModel, ConfigDict
+
  from api.params import (
      Params,
      Switch,
@@ -618,3 +620,15 @@ class TestPmdParams(EalParams):
      )
      record_core_cycles: Switch = None
      record_burst_status: Switch = None
+
+
+class PerfSuiteConfig(BaseModel):

I wouldn't call the TestParameter a PerfSuiteConfig. Also I am not sure this is the right place for this? I think it should just live next to BaseConfig in api.test_suite. The idea is that PerfSuiteConfig would just be the test suite config model, as the name suggests. Instead of replicating the model across test suites just to set defaults. These can be a constant and then set during test suite setup as it's already done with other test suites. We only extend the config if we have extra special fields which are unique for said test suite. anything that is common across all of them should be kept in a common config.

These changes can be their own commit before the test suites. Updating other test suites using the same pattern would also be a welcome change.

+    """Generic performance test suite parameters."""
+
+    model_config = ConfigDict(strict=True, extra="forbid", frozen=False, 
from_attributes=True)
+    frame_size: int
+    num_descriptors: int
+    expected_mpps: float
+    performance_delta: float | None = None
+    measured_mpps: float | None = None
+    passing: float | None = None

Still lacking documentation for the fields.

Reply via email to