[PATCH v1 14/20] net/ntnic: add handling exception path option
Serhii Iliushyk
sil-plv at napatech.com
Wed Oct 1 17:09:56 CEST 2025
Enable exception path for unmatched packets to go through queue 0.
Signed-off-by: Serhii Iliushyk <sil-plv at napatech.com>
---
doc/guides/nics/ntnic.rst | 9 +++++++++
drivers/net/ntnic/ntnic_ethdev.c | 21 +++++++++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/doc/guides/nics/ntnic.rst b/doc/guides/nics/ntnic.rst
index 5375d89a2d..01b6dca652 100644
--- a/doc/guides/nics/ntnic.rst
+++ b/doc/guides/nics/ntnic.rst
@@ -136,6 +136,15 @@ Multiple arguments for the same device are separated by ‘,’ comma.
By default, the value is set to 1.
+``exception_path`` parameter [int]
+
+ Enable exception path for unmatched packets to go through queue 0.
+
+ To enable exception_path::
+
+ -a <domain>:<bus>:00.0,exception_path=1
+
+ By default, the value is set to 0.
Logging and Debugging
---------------------
diff --git a/drivers/net/ntnic/ntnic_ethdev.c b/drivers/net/ntnic/ntnic_ethdev.c
index 01b3fe00ef..29508888a3 100644
--- a/drivers/net/ntnic/ntnic_ethdev.c
+++ b/drivers/net/ntnic/ntnic_ethdev.c
@@ -73,11 +73,13 @@ uint64_t rte_tsc_freq;
#define ETH_DEV_NTNIC_HELP_ARG "help"
#define ETH_DEV_NTHW_RXQUEUES_ARG "rxqs"
#define ETH_DEV_NTHW_TXQUEUES_ARG "txqs"
+#define ETH_DEV_NTHW_EXCEPTION_PATH_ARG "exception_path"
static const char *const valid_arguments[] = {
ETH_DEV_NTNIC_HELP_ARG,
ETH_DEV_NTHW_RXQUEUES_ARG,
ETH_DEV_NTHW_TXQUEUES_ARG,
+ ETH_DEV_NTHW_EXCEPTION_PATH_ARG,
NULL,
};
@@ -2260,6 +2262,25 @@ nthw_pci_dev_init(struct rte_pci_device *pci_dev)
NT_LOG_DBGX(DBG, NTNIC, "devargs: %s=%u",
ETH_DEV_NTHW_TXQUEUES_ARG, nb_tx_queues);
}
+
+ kvargs_count = rte_kvargs_count(kvlist, ETH_DEV_NTHW_EXCEPTION_PATH_ARG);
+
+ if (kvargs_count != 0) {
+ assert(kvargs_count == 1);
+ res = rte_kvargs_process(kvlist, ETH_DEV_NTHW_EXCEPTION_PATH_ARG,
+ &nthw_string_to_u32, &exception_path);
+
+ if (res < 0) {
+ NT_LOG_DBGX(ERR, NTNIC,
+ "problem with command line arguments: res=%d", res);
+ return -1;
+ }
+
+ NT_LOG_DBGX(DBG, NTNIC, "devargs: %s=%u",
+ ETH_DEV_NTHW_EXCEPTION_PATH_ARG, exception_path);
+ }
+
+ rte_kvargs_free(kvlist);
}
--
2.45.0
More information about the dev
mailing list