From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.Jacob@cavium.com>
Received: from na01-bn1-obe.outbound.protection.outlook.com
 (mail-bn1on0099.outbound.protection.outlook.com [157.56.110.99])
 by dpdk.org (Postfix) with ESMTP id CE9A82C46
 for <dev@dpdk.org>; Mon, 27 Jun 2016 13:54:55 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=LpzjnELkPy19UwCBZCVzlzxMm3tRJO7XWbkpTD38R1c=;
 b=fDHG8PfPVUEHewT7aMYU+QRxDbab4i+iNuR+h4AnSh3dPc4WuwUPXWeqqTeairZhpvXTR4I/Jeux9LCK718ySft58CQ2aOZ1J0OTuwTTJfLtZl0PPYulToTEZrFzS2gbByFBs0nejmEIHhqiazITNYNbSNVxZrwndFpysTm9Pb4=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Jerin.Jacob@cavium.com; 
Received: from localhost.localdomain.localdomain (171.48.12.117) by
 BN3PR0701MB1720.namprd07.prod.outlook.com (10.163.39.19) with Microsoft SMTP
 Server (TLS) id 15.1.528.16; Mon, 27 Jun 2016 11:54:50 +0000
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: <dev@dpdk.org>
CC: <thomas.monjalon@6wind.com>, <bruce.richardson@intel.com>,
 <jianbo.liu@linaro.org>, <huawei.xie@intel.com>,
 <yuanhan.liu@linux.intel.com>, Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Mon, 27 Jun 2016 17:24:05 +0530
Message-ID: <1467028448-8914-2-git-send-email-jerin.jacob@caviumnetworks.com>
X-Mailer: git-send-email 2.5.5
In-Reply-To: <1467028448-8914-1-git-send-email-jerin.jacob@caviumnetworks.com>
References: <1467028448-8914-1-git-send-email-jerin.jacob@caviumnetworks.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [171.48.12.117]
X-ClientProxiedBy: MA1PR01CA0014.INDPRD01.PROD.OUTLOOK.COM (10.164.117.21) To
 BN3PR0701MB1720.namprd07.prod.outlook.com (10.163.39.19)
X-MS-Office365-Filtering-Correlation-Id: cca8637e-0657-4b06-81a4-08d39e81d9f4
X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1720;
 2:g7d+Stymkp7C52d1l/LJXlc6VtTIsfH7FdJaMQC+4aOKerbIx/Ni3fscf669Dk8KHga+605OUYIYCH+/HN+rGBuJID6InHQVpcT9VTAK4OCI0uKiI482az5akiAoGgWK3hb4cBP3DlqlJ3FGYVk2HUdHx4gJm1Sr0aPkM5TmGCM8oDnHVbGUYEEe/wQtp7i6;
 3:3Ek1Zi/On5eherDwfcvtk0JwjsjOIwhv8hVgszoHrKc8OKm45TFP7tg/rAMDBi4IJE4htGfGJktBQiMet1JnnYd6WxvBoZ4/CKJ4EBat3ojotOp1pzcTI7ACLdmbSv+P
X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0701MB1720;
X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1720;
 25:Ed2PoBlSy7uIN62WZ/EIh9XwkIEkYrlCk7RPNQ6DG8TOfrotry2CSZg6o5Cje/DjreRyA9v9DR2s2Dezxkp3XUglyB9RW3hgAQqbwOatImZopcjxsUFDPYS3du2Vntx4dInYJLu/4P1TEqexFPGOwucHNiNqMZtnWoaJGEwcddLjD+OYsemdz5ywYVXz2eePC85RqXZLyMh2x0NiwEbXGLXjIFjsqFlTPQgI8C/5aQ1+n7iJg8fnqdG+uAQH3r/68YkdvFGq+iTgeSY34/+fjW3VkYQQX7XFOKDRPbQxFnlQSNyqn1b2FskjTx+QXa8OZ7P0hOyYKHOftGGl0dyL2iCUGVPopwbAhYnI7ZB9n1zbePjydBPBM0v+gsl7kx4D78ee2s+HkxpZISITvjzbCwat8K0mJ6M033SPfjN5R7rkPnN0x7G3Pr+fethBsq6dw5oZZ9q8FPzYgQWRN+vcxeIl+G/tl8Uu0cjhwLLaQ5akE1JN538uIkT0gZmYQDBZ8/PpQcS0zeVmUIl5AasPqM919QXzSEVFeRGYUnTZvvMImSNXExKoR4uj3GTv2pmpCtdheTb92Qkf2NZv3Ry5FAkaY9g59kxfapfwZZIZGT2msSXsQuDgTD/lbAe4mUW5dl9EZVggZRhIkcWeSZHAUkI0XONOEJwwQUCVZ4YZRGMtfkYaSS83NXdHyAn6HVbzysPr4vvfGA6SkRKRfQI+mlI4EjnB+jNei1B4NtCCzVDZcIBjrD+FZdcuKL7W94aKHuKuaOPc/D9KduNXTccIyQ==
X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1720;
 31:sxzbd5+ICjrlnnR2owSUq8ypw3Epx5NMFU6F3uUAls2MmMjNJYVdHU48AoGDZZU3nQqsQJOVPjRYvnmeYbierPZfn31APi6uuAj24qemj+uRQDRPP5NZH51nWyWuMOWGXC0wHwm2Ltz8PhxnXwj/utzUBg5VM/ytvwPdus+jEC48oj7XA3Ero7t6nhEiK8Lc7XgGw8UJ/GzLJuVLxM0OuA==;
 20:rM5OfyRNjCLRh70WajRtDPf3QU8MXDnBr2QCP60IEHFwiKVvj44BBde50Rjugzg4RXInbJkvILNh3U1K/b4FYICHULD0N7BMKory8YjYIbzwD3oZYOLB0mLa4OD4XDjDGGKHpsqNjj1ntr6VfKWyVayTSVStGtBgP9jbq7n3XBmP/xCdQ2Jdp4JBM8G2JAj3j+NMPFFf8suErEnlu7zFkM3LEb9GnlTgH19QFnD7mWcVY5GEcSMKpAqx3+LaHNwc5LOcvMYvwaJYdZchM809xCBFiJQitlbSbXBGoWJ3zVTHkcZDvy0Dnl35JYs9p7IjQaXyqVkjTbIE84U8PL7Y6syjjKGxSGtYBXcHLEK/WQy3hcpD/pmuMd2yYJUOLFq8+Pw8VGxCmU59GVlqE9vuE/SioWWAyoIcvF5kmD3PtEDYynw77Bq9FaNmLICPOr6fvpJpJs3O2SkFpEaF0+Qlao3KH4eHQ3gs5nVBz3XDgWnjfiaGTBIF6PODhPX0gTNZMsyTJlfL1NcriVVC6FhSTdshH1hh3jpZQz+lnXDxQg1w1fJ/uOibwE/luxi1TzrypMDfByKQvNWg9f6z3TDJqinWDky3tixdEKQ1ivJemao=
X-Microsoft-Antispam-PRVS: <BN3PR0701MB1720B70EED27F6CD98268F1E81210@BN3PR0701MB1720.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);
 SRVR:BN3PR0701MB1720; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1720; 
X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1720;
 4:/uJOkecHoRop/4/vvz0EoE0MEBFjm6AWTLTH/7xChNzNLp6ITlzwZV/PjZGSFoi1QWJsMAOUE0699wfF8jtdWETDg9f4t2QRRImnqtR1R3f+WfZQbac85jOVq46IVuUUCduiBZGueOLRhROievxz9WImXka1d7WirJQMVEoeuRSO7+4ZYs4AFihezyCqBv4YtT5/B0ec50sgTDLKHHJC4b5dXbgZNxmF0LBnxXWmYfMFaQMHwHukq22Erxo6r0EropgxxP0N4fmTfMj4TUzCIOsQ3i/qi2gLcHuBkImyV++hG02tnc0aDNmUT1b88LNMC+nfLgXVOvQnfKDn6WPpekkaaqWeenmhthq3sQxXJAVfPuLUvYk3Wh/Pse8BKrHN
X-Forefront-PRVS: 09860C2161
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(189002)(199003)(50226002)(4001430100002)(97736004)(105586002)(50466002)(50986999)(76176999)(586003)(3846002)(48376002)(42186005)(106356001)(101416001)(107886002)(5003940100001)(110136002)(2950100001)(19580395003)(19580405001)(305945005)(77096005)(36756003)(92566002)(2906002)(81166006)(47776003)(68736007)(4326007)(7846002)(66066001)(229853001)(8676002)(2351001)(33646002)(6116002)(81156014)(7736002)(189998001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1720;
 H:localhost.localdomain.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1;
 A:1; LANG:en; 
Received-SPF: None (protection.outlook.com: cavium.com does not designate
 permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0701MB1720;
 23:wS5YcVITnnlgL6OmUgJ9DZ4erwFoAr27HXBsUSq?=
 =?us-ascii?Q?4MKlXhmYjnr0lc5AndHjuSn/MkrkSPa5WI5QMOs5WMH3p2wpgm1t3gloD6FX?=
 =?us-ascii?Q?zy9J3X+25YE+z5hEjnYn3MgZr40oUkCEg1QNi92LlgaKkPtnqNdhirQ89nYB?=
 =?us-ascii?Q?EKs9QcHfCuQO5/WFdW5GQsSurWP22ZsKddzkeNKGvz0zrxPtKmp9EfK6+N9N?=
 =?us-ascii?Q?BJ6A43e0INOXrHXjEZdqMA2eaLWUWwZzyRx/ydxGvZrfqnlezKp55LT8bo0Y?=
 =?us-ascii?Q?DL3liJmDjce3LxCKwlpyxP+goncGrLh+DGxUs+iSkyBuum4pLJEU++VQ44Va?=
 =?us-ascii?Q?Sk/9o8IYv2Tlp4Cyoe6vCA0kuQU70UlgoDLWauGu2IMjlc5WDSNhgF8qqpYM?=
 =?us-ascii?Q?XtYMyCfJZ9n4rAr6XWUsGeB0X8PH2lG1gUOqVo26Ay2aSFk/FNTNNEoYeu9C?=
 =?us-ascii?Q?okmzLRBSxOZJ/8PHVVyaAN/HimiZMdokc7eSiHJagvMztZ5e/EZs4ou6/q2u?=
 =?us-ascii?Q?ZerEFSbPbBSPoDsPJZfM2duYyk4MxOynilxLDCZLf3ZPKT4pGFOwbPxMlVES?=
 =?us-ascii?Q?bIAC6B1+o+LbwuwKFkZBgjGee5k2dj2dmdBgKl7td9qTHXrdhpyLRcpUJqsT?=
 =?us-ascii?Q?6dUMDZ45doptbwUoG8NzDZ5HCl2iwYpnAxg0ZCVuQnd7zc5mTt+Wc0Qkceoe?=
 =?us-ascii?Q?HOh6hcyj3kEA87vxmbAqgguOVR0Bu8hsiUsqHyrUgHw/PafW8yyyVvGGzjuj?=
 =?us-ascii?Q?ENlQkebXxVLhd8SFwQr4I5KbrDOTV8Ijvx+lgFi2fmo/PLPCaJe5uUbJ0Nrl?=
 =?us-ascii?Q?fdy/O1erz7IZ+eo4de8ry6Jw5wPv9qBKdhFHbls9sF0Rsd5NapISJvw5qBgy?=
 =?us-ascii?Q?noet7PXPhX+XRi9Vz3X5CFfQn9xhHv8HMcw6HCSJTqG9NwysfcM3agKNqAX1?=
 =?us-ascii?Q?IZq63svDAsKdFDRov1mHFoQ0uUADwbbD2D0nzOEP2VxY0yXn3M1eXUWcvu7d?=
 =?us-ascii?Q?yYua1t/1Dsw1SWV/ltgcDpdNUIKwPyitZibwq0Wlk4J9326N7mKQX7ru3sv0?=
 =?us-ascii?Q?s5AfiSs3OwjbzFQuz7FyUXVEaUcDFwCR+Js7t4R/ZQUhmW+YhUnHqWVDnMoL?=
 =?us-ascii?Q?qAnsOB1TEehg=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1720;
 6:YykN5uI2K+h3su5M3kh4gvLZO8CDLIgR27IkdNTNUFW8dkfOHIpY0sMus2coGW9z1Q3XcJobbTtICtEvNcop/pySkdciqYPLVo7TmEh5gNSFOC1NLqPIUNBVpa50dhTFAU0oaikTYTnsZwbR80vkzKgjYIU880+yTkqdCsG3RMXidgeAfueiP63jzVZ6EdXJpJNNzes7Hd4/8PWKCUWgAIYSlaMS6m7OiK3/XKwan2UE1THgwD11p8dneou06SU6472ipMIQlHZJz3FiDg0rZk3KA5Nih8Ne3rMUGrB3Tok=;
 5:jhV84xfeHIOr8nPX9kR0Dbn+PMZJRBYTuJicGlDHyt4YQwrvpxtQGsAqG/+azgGJVC8bgIVB7DTo2pBRYQuL9NRpzaIlf2yAZI2m/mm36DJe4dNUuGiGz4LSodLp1dJv6Wk0nJmIuRbDWiLFRD9oug==;
 24:zDTo1PQ7HW8CvGVNxdCI6sW8dVeN0DHxXw4qls/Kb7vE3JTjqxjh5+NoR+M1l7SJx0TXOjaXlDryI4CFYO4KFUF6KnivNnWe/wfaHjnhlP0=;
 7:WIBw7TM7pZSwEml8JX0n7GNmu9c+rs+fwHyHLpSDe4JkrIU4WqunNq5V3H4j/MCJK3QeBFEvJxFk0ZWFik7yj3lE8OSfSrkyT5fZVtYxPfm76dYlYnJKUbNeejc1nOFAlWvhHHFl5NMIMMuQvWZ1vUlnZ0tza7Q875Y1NDkANL6hgG0mNzxjo/Bm2IUMGSTMvKTa76gsYsUF0+sYnOy/pSan7WmEbrzyQhhqJw9uCoJDQaFBQ1ZTUvxdC+XI/4zg
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2016 11:54:50.8410 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1720
Subject: [dpdk-dev] [PATCH 1/4] virtio: Fix compile time dependency of
	use_simple_rxtx usage
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 27 Jun 2016 11:54:56 -0000

Removed unnecessary compile time dependency on "use_simple_rxtx".

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/virtio/Makefile             |  3 ---
 drivers/net/virtio/virtio_pci.h         |  1 +
 drivers/net/virtio/virtio_rxtx.c        | 28 +++++++++-------------------
 drivers/net/virtio/virtio_rxtx.h        |  3 +--
 drivers/net/virtio/virtio_rxtx_simple.c |  8 ++++++--
 drivers/net/virtio/virtio_user_ethdev.c |  1 +
 6 files changed, 18 insertions(+), 26 deletions(-)

diff --git a/drivers/net/virtio/Makefile b/drivers/net/virtio/Makefile
index 43de46c..114d40e 100644
--- a/drivers/net/virtio/Makefile
+++ b/drivers/net/virtio/Makefile
@@ -50,10 +50,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtqueue.c
 SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_pci.c
 SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx.c
 SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_ethdev.c
-
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_SSSE3,$(CFLAGS)),RTE_MACHINE_CPUFLAG_SSSE3)
 SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple.c
-endif
 
 ifeq ($(CONFIG_RTE_VIRTIO_USER),y)
 SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_user.c
diff --git a/drivers/net/virtio/virtio_pci.h b/drivers/net/virtio/virtio_pci.h
index dd7693f..b8295a7 100644
--- a/drivers/net/virtio/virtio_pci.h
+++ b/drivers/net/virtio/virtio_pci.h
@@ -253,6 +253,7 @@ struct virtio_hw {
 	uint8_t	    use_msix;
 	uint8_t     started;
 	uint8_t     modern;
+	uint8_t     use_simple_rxtx;
 	uint8_t     mac_addr[ETHER_ADDR_LEN];
 	uint32_t    notify_off_multiplier;
 	uint8_t     *isr;
diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index a27208e..63b53f7 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -67,10 +67,6 @@
 #define VIRTIO_SIMPLE_FLAGS ((uint32_t)ETH_TXQ_FLAGS_NOMULTSEGS | \
 	ETH_TXQ_FLAGS_NOOFFLOADS)
 
-#ifdef RTE_MACHINE_CPUFLAG_SSSE3
-static int use_simple_rxtx;
-#endif
-
 static void
 vq_ring_free_chain(struct virtqueue *vq, uint16_t desc_idx)
 {
@@ -333,6 +329,7 @@ virtio_dev_rxtx_start(struct rte_eth_dev *dev)
 	 */
 	uint16_t i;
 	uint16_t desc_idx;
+	struct virtio_hw *hw = dev->data->dev_private;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -353,8 +350,7 @@ virtio_dev_rxtx_start(struct rte_eth_dev *dev)
 		nbufs = 0;
 		error = ENOSPC;
 
-#ifdef RTE_MACHINE_CPUFLAG_SSSE3
-		if (use_simple_rxtx) {
+		if (hw->use_simple_rxtx) {
 			for (desc_idx = 0; desc_idx < vq->vq_nentries;
 			     desc_idx++) {
 				vq->vq_ring.avail->ring[desc_idx] = desc_idx;
@@ -362,7 +358,7 @@ virtio_dev_rxtx_start(struct rte_eth_dev *dev)
 					VRING_DESC_F_WRITE;
 			}
 		}
-#endif
+
 		memset(&rxvq->fake_mbuf, 0, sizeof(rxvq->fake_mbuf));
 		for (desc_idx = 0; desc_idx < RTE_PMD_VIRTIO_RX_MAX_BURST;
 		     desc_idx++) {
@@ -378,12 +374,11 @@ virtio_dev_rxtx_start(struct rte_eth_dev *dev)
 			/******************************************
 			*         Enqueue allocated buffers        *
 			*******************************************/
-#ifdef RTE_MACHINE_CPUFLAG_SSSE3
-			if (use_simple_rxtx)
+			if (hw->use_simple_rxtx)
 				error = virtqueue_enqueue_recv_refill_simple(vq, m);
 			else
-#endif
 				error = virtqueue_enqueue_recv_refill(vq, m);
+
 			if (error) {
 				rte_pktmbuf_free(m);
 				break;
@@ -404,8 +399,7 @@ virtio_dev_rxtx_start(struct rte_eth_dev *dev)
 		struct virtqueue *vq = txvq->vq;
 
 		virtio_dev_vring_start(vq);
-#ifdef RTE_MACHINE_CPUFLAG_SSSE3
-		if (use_simple_rxtx) {
+		if (hw->use_simple_rxtx) {
 			uint16_t mid_idx  = vq->vq_nentries >> 1;
 
 			for (desc_idx = 0; desc_idx < mid_idx; desc_idx++) {
@@ -426,7 +420,7 @@ virtio_dev_rxtx_start(struct rte_eth_dev *dev)
 			     desc_idx++)
 				vq->vq_ring.avail->ring[desc_idx] = desc_idx;
 		}
-#endif
+
 		VIRTQUEUE_DUMP(vq);
 	}
 }
@@ -456,9 +450,7 @@ virtio_dev_rx_queue_setup(struct rte_eth_dev *dev,
 
 	dev->data->rx_queues[queue_idx] = rxvq;
 
-#ifdef RTE_MACHINE_CPUFLAG_SSSE3
 	virtio_rxq_vec_setup(rxvq);
-#endif
 
 	return 0;
 }
@@ -494,9 +486,6 @@ virtio_dev_tx_queue_setup(struct rte_eth_dev *dev,
 {
 	uint8_t vtpci_queue_idx = 2 * queue_idx + VTNET_SQ_TQ_QUEUE_IDX;
 
-#ifdef RTE_MACHINE_CPUFLAG_SSSE3
-	struct virtio_hw *hw = dev->data->dev_private;
-#endif
 	struct virtnet_tx *txvq;
 	struct virtqueue *vq;
 	uint16_t tx_free_thresh;
@@ -511,13 +500,14 @@ virtio_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	}
 
 #ifdef RTE_MACHINE_CPUFLAG_SSSE3
+	struct virtio_hw *hw = dev->data->dev_private;
 	/* Use simple rx/tx func if single segment and no offloads */
 	if ((tx_conf->txq_flags & VIRTIO_SIMPLE_FLAGS) == VIRTIO_SIMPLE_FLAGS &&
 	     !vtpci_with_feature(hw, VIRTIO_NET_F_MRG_RXBUF)) {
 		PMD_INIT_LOG(INFO, "Using simple rx/tx path");
 		dev->tx_pkt_burst = virtio_xmit_pkts_simple;
 		dev->rx_pkt_burst = virtio_recv_pkts_vec;
-		use_simple_rxtx = 1;
+		hw->use_simple_rxtx = 1;
 	}
 #endif
 
diff --git a/drivers/net/virtio/virtio_rxtx.h b/drivers/net/virtio/virtio_rxtx.h
index 058b56a..28f82d6 100644
--- a/drivers/net/virtio/virtio_rxtx.h
+++ b/drivers/net/virtio/virtio_rxtx.h
@@ -86,10 +86,9 @@ struct virtnet_ctl {
 	const struct rte_memzone *mz;   /**< mem zone to populate RX ring. */
 };
 
-#ifdef RTE_MACHINE_CPUFLAG_SSSE3
 int virtio_rxq_vec_setup(struct virtnet_rx *rxvq);
 
 int virtqueue_enqueue_recv_refill_simple(struct virtqueue *vq,
 	struct rte_mbuf *m);
-#endif
+
 #endif /* _VIRTIO_RXTX_H_ */
diff --git a/drivers/net/virtio/virtio_rxtx_simple.c b/drivers/net/virtio/virtio_rxtx_simple.c
index 242ad90..67430da 100644
--- a/drivers/net/virtio/virtio_rxtx_simple.c
+++ b/drivers/net/virtio/virtio_rxtx_simple.c
@@ -37,8 +37,6 @@
 #include <string.h>
 #include <errno.h>
 
-#include <tmmintrin.h>
-
 #include <rte_cycles.h>
 #include <rte_memory.h>
 #include <rte_memzone.h>
@@ -131,6 +129,10 @@ virtio_rxq_rearm_vec(struct virtnet_rx *rxvq)
 	vq_update_avail_idx(vq);
 }
 
+#ifdef RTE_MACHINE_CPUFLAG_SSSE3
+
+#include <tmmintrin.h>
+
 /* virtio vPMD receive routine, only accept(nb_pkts >= RTE_VIRTIO_DESC_PER_LOOP)
  *
  * This routine is for non-mergeable RX, one desc for each guest buffer.
@@ -293,6 +295,8 @@ virtio_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 	return nb_pkts_received;
 }
 
+#endif
+
 #define VIRTIO_TX_FREE_THRESH 32
 #define VIRTIO_TX_MAX_FREE_BUF_SZ 32
 #define VIRTIO_TX_FREE_NR 32
diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
index 9216182..ce6ce91 100644
--- a/drivers/net/virtio/virtio_user_ethdev.c
+++ b/drivers/net/virtio/virtio_user_ethdev.c
@@ -303,6 +303,7 @@ virtio_user_eth_dev_alloc(const char *name)
 	hw->vtpci_ops = &virtio_user_ops;
 	hw->use_msix = 0;
 	hw->modern   = 0;
+	hw->use_simple_rxtx = 0;
 	hw->virtio_user_dev = dev;
 	data->dev_private = hw;
 	data->numa_node = SOCKET_ID_ANY;
-- 
2.5.5