summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohsin Kazmi <sykazmi@cisco.com>2024-09-03 10:24:02 +0000
committerDamjan Marion <dmarion@0xa5.net>2024-09-09 08:45:15 +0000
commit460dee56e79d203e5ec75b9e8f7151e65fc55e45 (patch)
treecdbf472aa56a57ddf2e85c97f5405d313be1fa5b
parent9bb0762357015ca49ab8376308eda021d35d6f25 (diff)
dpdk: add support to disable interrupt mode
Type: improvement Change-Id: I4864dc2af808aa76ecbc9ade0e86e1a781e6b704 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
-rw-r--r--src/plugins/dpdk/device/dpdk.h1
-rw-r--r--src/plugins/dpdk/device/init.c7
-rw-r--r--src/vpp/conf/startup.conf5
3 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h
index 692bbbc09d9..a069fbe3818 100644
--- a/src/plugins/dpdk/device/dpdk.h
+++ b/src/plugins/dpdk/device/dpdk.h
@@ -241,6 +241,7 @@ typedef struct
_ (num_rx_desc) \
_ (num_tx_desc) \
_ (max_lro_pkt_size) \
+ _ (disable_rxq_int) \
_ (rss_fn)
typedef enum
diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c
index 1f4aa83b26e..827f8801ca6 100644
--- a/src/plugins/dpdk/device/init.c
+++ b/src/plugins/dpdk/device/init.c
@@ -588,6 +588,9 @@ dpdk_lib_init (dpdk_main_t * dm)
if (devconf->max_lro_pkt_size)
xd->conf.max_lro_pkt_size = devconf->max_lro_pkt_size;
+ if (devconf->disable_rxq_int)
+ xd->conf.enable_rxq_int = 0;
+
dpdk_device_setup (xd);
/* rss queues should be configured after dpdk_device_setup() */
@@ -1006,6 +1009,10 @@ dpdk_device_config (dpdk_config_main_t *conf, void *addr,
if (error)
break;
}
+ else if (unformat (input, "no-rx-interrupts"))
+ {
+ devconf->disable_rxq_int = 1;
+ }
else if (unformat (input, "tso on"))
{
devconf->tso = DPDK_DEVICE_TSO_ON;
diff --git a/src/vpp/conf/startup.conf b/src/vpp/conf/startup.conf
index 929106a4c8a..a30a15ab2b1 100644
--- a/src/vpp/conf/startup.conf
+++ b/src/vpp/conf/startup.conf
@@ -164,6 +164,11 @@ cpu {
# num-rx-queues 2
# }
+ ## Set interface only in poll mode
+ # dev 0000:02:00.1 {
+ # no-rx-interrupts
+ # }
+
## Change UIO driver used by VPP, Options are: igb_uio, vfio-pci,
## uio_pci_generic or auto (default)
# uio-driver vfio-pci