Index: /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/i40e/i40e_ethdev_vf.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/i40e/i40e_ethdev_vf.c	(revision 37911)
+++ /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/i40e/i40e_ethdev_vf.c	(working copy)
@@ -2241,7 +2241,7 @@
 		I40E_WRITE_REG(hw,
 			       I40E_VFINT_DYN_CTLN1(msix_intr -
 						    I40E_RX_VEC_START),
-			       0);
+			       I40E_VFINT_DYN_CTLN_WB_ON_ITR_MASK);
 
 	I40EVF_WRITE_FLUSH(hw);
 
Index: /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/iavf/iavf_ethdev.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/iavf/iavf_ethdev.c	(revision 37911)
+++ /branches/rel_apv_10_7/usr/click/lib/libintel_dpdk/drivers/net/iavf/iavf_ethdev.c	(working copy)
@@ -1309,7 +1309,7 @@
 
 	IAVF_WRITE_REG(hw,
 		      IAVFINT_DYN_CTLN1(msix_intr - IAVF_RX_VEC_START),
-		      0);
+		      IAVFINT_DYN_CTLN1_WB_ON_ITR_MASK);
 
 	IAVF_WRITE_FLUSH(hw);
 	return 0;
Index: /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk.h
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk.h	(revision 37911)
+++ /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk.h	(working copy)
@@ -37,6 +37,7 @@
 void atcp_dpdk_receive(int tq_thread_id);
 int atcp_dpdk_reg_intr_event(void);
 void atcp_dpdk_turn_on_intr(void);
+void atcp_dpdk_turn_off_intr(void);
 void atcp_dpdk_send(void);
 void atcp_dpdk_start(void);
 void dpdk_kni_handle_request(void *);
Index: /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk.c	(revision 37911)
+++ /branches/rel_apv_10_7/usr/click/lib/libuinet-atcp/lib/libuinet/uinet_if_dpdk.c	(working copy)
@@ -1607,6 +1607,7 @@
 				atcp_dpdk_turn_on_intr();
 				atcp_sleep_until_rx_intr(queue_number);
 			} else {
+				atcp_dpdk_turn_off_intr();
 				if (use_sleep) {
 					/*atcp_sleep_cnt[curatcp]++;*/
 					usleep(rx_atcp_sleep);
@@ -1674,6 +1675,23 @@
 	}
 }
 
+void
+atcp_dpdk_turn_off_intr()
+{
+	int index = (curatcp - 2);
+	uint8_t portid;
+	uint16_t queueid;
+	uint32_t data;
+	int i,ret;
+
+	for(i = 0; i < queue_bind_map[index].queue_number; i++) {
+		portid = queue_bind_map[index].pq[i].port;
+		queueid = queue_bind_map[index].pq[i].queue;
+
+		if_dpdk_set_queue_intr(portid, queueid, 0);
+	}
+}
+
 #ifdef DPDK_OUTPUT_QUEUE
 void atcp_dpdk_send()
 {
