From: Gagandeep Singh <[email protected]>

Remove the DPAA2_FLOW_CONTROL_MISS_FLOW environment variable and use
the last entry in the configured Rx distribution table as the default
flow steering miss action.

Users who relied on the environment variable must use the rte_flow API
instead.

Signed-off-by: Gagandeep Singh <[email protected]>
---
 doc/guides/rel_notes/release_26_11.rst |  4 ++++
 drivers/net/dpaa2/dpaa2_flow.c         | 14 +-------------
 2 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/doc/guides/rel_notes/release_26_11.rst 
b/doc/guides/rel_notes/release_26_11.rst
index 934efaaf93..1b22d134ae 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -105,6 +105,10 @@ New Features
 
   * Added the inner IP header to the RSS hash so tunneled traffic is
     distributed across the Rx queues.
+  * Removed ``DPAA2_FLOW_CONTROL_MISS_FLOW`` environment variable. The
+    per-device FS table miss flow id now defaults to the lowest-priority
+    flow of the device. Users who previously redirected unmatched frames
+    to a specific queue via this variable must use the rte_flow API instead.
 
 * **Updated NXP ENETC4 PMD.**
 
diff --git a/drivers/net/dpaa2/dpaa2_flow.c b/drivers/net/dpaa2/dpaa2_flow.c
index f0748081b3..48f2861f83 100644
--- a/drivers/net/dpaa2/dpaa2_flow.c
+++ b/drivers/net/dpaa2/dpaa2_flow.c
@@ -24,7 +24,6 @@
 #include <dpaa2_pmd_logs.h>
 
 static char *dpaa2_flow_control_log;
-static uint16_t dpaa2_flow_miss_flow_id; /* Default miss flow id is 0. */
 static int dpaa2_sp_loaded = -1;
 
 enum dpaa2_flow_entry_size {
@@ -4590,7 +4589,7 @@ dpaa2_configure_fs_rss_table(struct dpaa2_dev_priv *priv,
                return 0;
 
        tc_cfg.enable = true;
-       tc_cfg.fs_miss_flow_id = dpaa2_flow_miss_flow_id;
+       tc_cfg.fs_miss_flow_id = dist_size - 1;
        ret = dpni_set_rx_fs_dist(dpni, CMD_PRI_LOW,
                        priv->token, &tc_cfg);
        if (ret < 0) {
@@ -5224,17 +5223,6 @@ dpaa2_flow_create(struct rte_eth_dev *dev, const struct 
rte_flow_attr *attr,
        dpaa2_flow_control_log =
                getenv("DPAA2_FLOW_CONTROL_LOG");
 
-       if (getenv("DPAA2_FLOW_CONTROL_MISS_FLOW")) {
-               dpaa2_flow_miss_flow_id =
-                       (uint16_t)atoi(getenv("DPAA2_FLOW_CONTROL_MISS_FLOW"));
-               if (dpaa2_flow_miss_flow_id >= priv->dist_queues) {
-                       DPAA2_PMD_ERR("Missed flow ID %d >= dist size(%d)",
-                                     dpaa2_flow_miss_flow_id,
-                                     priv->dist_queues);
-                       return NULL;
-               }
-       }
-
        flow = rte_zmalloc(NULL, sizeof(struct dpaa2_dev_flow),
                           RTE_CACHE_LINE_SIZE);
        if (!flow) {
-- 
2.43.0

Reply via email to