From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <shreyansh.jain@nxp.com>
Received: from NAM03-BY2-obe.outbound.protection.outlook.com
 (mail-by2nam03on0058.outbound.protection.outlook.com [104.47.42.58])
 by dpdk.org (Postfix) with ESMTP id 347B736E
 for <dev@dpdk.org>; Fri, 16 Sep 2016 06:32:50 +0200 (CEST)
Received: from BN3PR0301CA0055.namprd03.prod.outlook.com (10.160.152.151) by
 BN6PR03MB2433.namprd03.prod.outlook.com (10.168.223.11) with Microsoft SMTP
 Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id
 15.1.619.10; Fri, 16 Sep 2016 04:32:48 +0000
Received: from BY2FFO11FD046.protection.gbl (2a01:111:f400:7c0c::166) by
 BN3PR0301CA0055.outlook.office365.com (2a01:111:e400:401e::23) with Microsoft
 SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384)
 id 15.1.619.10 via Frontend Transport; Fri, 16 Sep 2016 04:32:48 +0000
Authentication-Results: spf=fail (sender IP is 192.88.168.50)
 smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)
 header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;nxp.com;
 dkim=none (message not signed) header.d=none;
Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not
 designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; 
 client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;
Received: from tx30smr01.am.freescale.net (192.88.168.50) by
 BY2FFO11FD046.mail.protection.outlook.com (10.1.15.170) with Microsoft SMTP
 Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.619.6
 via Frontend Transport; Fri, 16 Sep 2016 04:32:48 +0000
Received: from Tophie.ap.freescale.net ([10.232.14.87])
 by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u8G4Trfv029256;
 Thu, 15 Sep 2016 21:32:44 -0700
From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: <dev@dpdk.org>
CC: <viktorin@rehivetech.com>, David Marchand <david.marchand@6wind.com>,
 <hemant.agrawal@nxp.com>, Thomas Monjalon <thomas.monjalon@6wind.com>,
 Shreyansh Jain <shreyansh.jain@nxp.com>
Date: Fri, 16 Sep 2016 09:59:50 +0530
Message-ID: <1474000200-16705-16-git-send-email-shreyansh.jain@nxp.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1474000200-16705-1-git-send-email-shreyansh.jain@nxp.com>
References: <1466510566-9240-1-git-send-email-shreyansh.jain@nxp.com>
 <1474000200-16705-1-git-send-email-shreyansh.jain@nxp.com>
X-EOPAttributedMessage: 0
X-Matching-Connectors: 131184739683120605;
 (91ab9b29-cfa4-454e-5278-08d120cd25b8); ()
X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;
 SFV:NSPM;
 SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(110136003)(11100500001)(36756003)(48376002)(586003)(85426001)(4326007)(229853001)(92566002)(2351001)(2906002)(626004)(189998001)(104016004)(19580395003)(106466001)(105606002)(87936001)(19580405001)(50226002)(68736007)(575784001)(86362001)(33646002)(5890100001)(5660300001)(97736004)(7846002)(50986999)(50466002)(81166006)(76176999)(8936002)(8666005)(81156014)(356003)(5003940100001)(305945005)(77096005)(2950100001)(47776003)(8676002)(26583001)(7059030);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2433; H:tx30smr01.am.freescale.net;
 FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; 
X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD046;
 1:pbofv6Gx5LTC6mpWRY9WAA4PDS7pEC99vjcGV16gq3RATku5D4Q+99bgaoChZp2ziF+iRj/nV2hrP7V8NEo2YQcDkNMHz3QdVIY9GG8MMkrgRbmHMHOivRAVt9D5Z1rAXyPQ/qsItd5oqBEpqPiUjrKlFAkPaZ3oEuPnLi2a+EtsWSeVkv4a+60uzufxm30eroVLYux8WYCjKRLtcSgjRrKZPKRG2h8UEupbKKD+K7/9LvOIzTslcvDkc/Kq06iorQSV4cUh4rvIXoc8smRTjoEyf8ib0qNNH01IW6pOG0vaw3L2DbPZtyjuJiIMh4SUgwJD8g/zjMVTaWrRo3EhWr5b48ImkSbYTyu1TA71K/KaD+3uWTyTuBYp6QeaeFBq5VXVdhwlGbVZum7OghY+I9NdQuB8D/HlCmIaDroM1HxexMBWhu82g/TbiD+BmTpENonN+47ZVkZbuNR+CMxNwsLFrhPcaUx1pQ/wFq4jZTOrJnTgMfcFllGyhf7kq6TkJUS02OV3UK8Ndc2UJ4mNzGxL0RZUqytDRIkcHSPJmgV6Tjd69H3ck/eANTpofwMPL/h+y2RwIrAxSYfJvyzKdxXj3sFcqiPbpvCU1M5IqoMMBacLAhdr817fpm5G1lWNpFjYEABmH5mSlb9c/KfI+82jFGRFdriR7+b9AnEyJvKqC/r+aji0cciP82BOTjJrAj51ZOw7+UJT2WqO9FyHNsVwFfGtBXqAuU6JNjOP4HE=
MIME-Version: 1.0
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 70e60090-58f5-41ca-aae5-08d3ddea8327
X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2433;
 2:4wa+2XZCRwwfIyrPIOoPUVzB1W2rMfpYWf7wwCo/TpMT+qNh83wBI2PRbomy2JZGFDRK9APr1sXJmsKrjq9AltHb0k3zZWvKNfoCBOQ8lGXj91Y8Myb6RmC8rpKfuoWrkin1eFySjlGdnGD7Z69Hb0DbM44j2SkbZtqhRfP+X/WNYQyeF1mQ0K3orxG9prjk;
 3:LTC/zAE0QgA3Gh/5mETRDMqvwFvhfNe/B5y1/EXm3rO8XAXOadGQtFFPEeXNFX8Fu2TXe1O6gPsng6oIyzeSueqpSj/fE0/MloSFxmGkVZ2U873Cw4Uv5Qogmlhr6WkD+ukmRr9+AS0aqK18Cbp7eLbIoxHd/lAJWQ30/TtnQjSSX1JSeuwwrX/GrCHH5hjbgCi2RyTXOcbZoyOY6Q/8SBNvBqoWWhbW7WFZvGrcS5A=
X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN6PR03MB2433;
X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2433;
 25:uyPt+1rN5dA1SUue9rCMHK+t3KIRIrhh15Xsmdl5+Pp3sTR3lr3lJBNATzWqLc4Or9pPyxHfdkihLnvn7aeskLM7Q6PUkarHz1V66ulayqAxy2u2q3ZFAbesAz92hN1mmromxLUhx10cGh9aTaRbiNVqzgBsqj9Kh4vladDr72ojktzvWzhfStLhFEoI8x9z3WwKtiZzBy8W8phd0Qyj3OfHalHxcvxESBlqSG9NRDhh+KaLwPpvA0nGB8wkT+L28DaHsAWCNOXGvflP/uV3Cq4abw3Vh13OTe3pFGu5uTCjw/lw2lQdHu9RAkZn2J7YAJW17/yWfVXR4EYPEGL8w/OkDD3EKsprg34GHs5MIbITPi8TspSbyI2pyMJ9rPk37t+hQc2pl1HW+UuF0XEK/9Nipk/cHk41YX6RJrsJvBgG/uEQkm7kQKX0kR7ofxeK2xxffnpRSRwoJBb1cClopoOuJo9wZ7YioDCsf/5Oho5q+IzVUbbEyNYZb3lr5weGLCf1Y7SONq+b/9CGzFGgf8vVJv7VT8n4usxWp5Tx1J+cAPv4pIlkGlP+oA1su9dB1M58Iwqg2i5CgNcqW33XbxdGopYS5/2VmgITC1ELenuh+XZGkR+JqMLsHBHiMN9zl36254AzIFr6nL3uIXgxgOcAyHtFzggcDYfV6p4XHuZdAXOcwCvtMsHhoCwJVbaZKYccD2hI5Rxk7vbig8c602qbwiuEra3v1hX3L1fEmvA=
X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2433;
 31:g+YidbHuYNGM3a11tmpBp06TwdG2VLrU3nieU6iRxwHsdnE3pe81Ty/Nd61RYLB0pm5ezespGgWuQfl/pOwryyy/YZLGV7uRs2UYuI6o/Z3Ec+rAoYQnXS2uq+3obFZyPQwlvUSU6y3MrG6tlLa2F7bGqfwWEVJ5NwS3qDJvIUM9LZMQtLFfX8Kw2dUkqbIWoXpSi6/JsZ5BjeZzVNZ+tuk8uKPHyy3PUelaRZq3V4w=;
 4:avL8Jh0jtXzqi0kOUbPnkMD4NJrt3v6IP45Ml4VQTZvB6b0oJi2sbITLzxHwznIv/LyKCI5vEVxAA7P13542OTZG5LLro33/rksrWqJBSFrL8GVAQQITtzoLagonRtZTDeLH397Na2uToTeZdfBplbJ6AQKQz+L2WYSZZKdoLQIg1fJAO/fDJVTQ9TJ58LabDnpwhGRAVqhc5S5JFE51IGjRH0UmoRhjS5Cykx/s0zXUJreOEGQqlQlTt4d09pWURiVsRbokkz1zIc6ADakyLFG4srKGYjwWJI9AXyh9K6x8hb/AWF5n0uhozB4BIMf4ZuQuSlCWd4+BPS3gkp7TGVQpa91y7yD7JeeuC8+8QuuOGZcnxya2MhteQcnosFt5c9z3LVCXAko825FhhjsXUegDsEhATR7q9Gems41xruv3qHX1OovO8e5dmoG84gY7ruLCDr0Tj/wnz8wfyrogl1Q3JVdIWWBG4SzmZ+mDNhPxOSoYjzqdOGjodIwYlZXCeL+xulwdN0ZUw0fS3Kxa6HtN0d+RDrqnPtZ8ei242cA=
X-Microsoft-Antispam-PRVS: <BN6PR03MB2433EC8AA362D53A741A578B90F30@BN6PR03MB2433.namprd03.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(185117386973197);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(13015025)(13017025)(13023025)(13024025)(13018025)(3002001)(10201501046)(6055026);
 SRVR:BN6PR03MB2433; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2433; 
X-Forefront-PRVS: 0067A8BA2A
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB2433;
 23:wl2m4rgO4/aSnzl8ybFNt8svSsfgvG51OJED7T4Wc?=
 =?us-ascii?Q?riKr4qpl3w41fXOgvoHG9ZR3Uda5onVWFOKEnhm7T+dbtGrIVMxeiJsezjTn?=
 =?us-ascii?Q?sELHG3uDAJIdStitjQWGoY7oyyb8+mQD/7085JhZ4SAh9s9ESGoQel+jxIhZ?=
 =?us-ascii?Q?WUrkN/SgL25AgU9Ig4XLzlHblkTiusR5JNls8KMmI/x+KOvf3Ic6Fams3rB4?=
 =?us-ascii?Q?PCOStbzADcZTI2YThszoB3EWg6zjXpWASv4FKu6yNBwUYirvpALqLrJWXZHj?=
 =?us-ascii?Q?6jr5e1XF+oHACxjaomu944NSpPM7mwKtQsmPuc0Ymyq9UeX3+JhLPZgS7Zye?=
 =?us-ascii?Q?4/OGCjb9QYIGo0JcW7pu46jo7l31Q7HAsEsQ3xz/mZ2USeVLANN/6GOSCUSw?=
 =?us-ascii?Q?ellmx8iUjgaolDSKJkf/Nywfh0vYfWvUu2l2jDysHFaEQkeujZFVTZrkA2tZ?=
 =?us-ascii?Q?fdsbPOuxzhNMIabr59Ud6h/XqBr8m0YCNaI9IlPFi/wahxwUVMuMot3oq+xb?=
 =?us-ascii?Q?7xw489pXSEOPjZkzXlpT8HjxAYq6plCtL9bH3hNoDiuefRtD1aLY21gG5OxL?=
 =?us-ascii?Q?Zdi5oXGzDicfFlaK9CMfQaEHKCh19CaLlB4N+L7oFlHqztbAp0hZ/5thyEeN?=
 =?us-ascii?Q?ztN2fri0Zl8JA4sLL3LTwGprfG3X8eENLEuFZaurYYHMqt1aAsR/JOKNw7Pc?=
 =?us-ascii?Q?sRUdxSUodUeMCb7Yy6/OUOEAl0kz0GnoxSjxI/XEkFTU69cZ7wcVrLpDKhrF?=
 =?us-ascii?Q?a60WGNiJyZVKxObD8EV82gpnbJb9nBQn/Y+bshkzy1spAQY1IVTpL3crdsSi?=
 =?us-ascii?Q?I9DcMCbJUPCsNLYisG1bRHHSrplvydONnBWnLbJi8r49PqQdh9k20H/qddEJ?=
 =?us-ascii?Q?KJxH5nndx2Gol1xiZK9Rl7CU28BrKhojY5bW8VANblLi3aCgQ6h19lPztoaU?=
 =?us-ascii?Q?4opGuqIlJvcOPQwYfiC46LWskQXTLGoNDnOQOJNWgWbCjfVXQUObi6Bzgp9v?=
 =?us-ascii?Q?zQwvL0O9ec+ppMV7LM2PSQFTbxp84N8w7U2kqwjWrwmelDdPwRds6XYTsAdT?=
 =?us-ascii?Q?y6XzgZawpw6pGywHNiWLUOjmGZiL/Y+0TeVGHk4oWjv1couaOQviZEuqfiA7?=
 =?us-ascii?Q?9yThjfvtkZpBzoB5PPsIBnyCkGO3c8HrmrMm/w+rfzQzFehF8s8ZBYIlRIzi?=
 =?us-ascii?Q?0LuRPFBcjZB5p5JgtVpm4/SGZmq3J0ePZbVGes6lEuctfQeoaoQiESbLHuL+?=
 =?us-ascii?Q?PsdhTz2P9BUsJsyFGQ=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2433;
 6:wsRXTmHsadOZuvv+N87WuIqEOI48HQIGfgYtM3L+fqhECmjhnnOMuF5fEb/9/biwLY76ldzh9ncO44Gl2tX84e8hDldnpJ3P3HrZFBXxd/ZMQ6dxE8q1zVh81UtNE9J8yOj5DH+Wi9v/ucUg2VvnV5ihxaJkxZ9xMoUonoQKEmk5yQSAb949MRGaQP0YJM8EfHPOL1PrIMyuqrHW/rUSQpGrSNZXsb5vpQkv+QrsKgcBxtzrWgSDDvZ4qZdykqj4puamkRMuT2xbanH+F0D/MTaAFo5xIlnH9s3jKYnkUwc=;
 5:GzNy+ejyQ5SBIVhPYz5akkpNT4IDMpLONobK1KwOrUSyjvdrEBnWKAgXST50P1xywCKSo/jADkLZpz6v+rApudFnQ6dRlzvyxKpNNwg49trKOlNOzqWsDrUWfrkZbtqdwSX1cNeD9dgVsYel90Ako2TfXVHb+07DH4LSHXagZCg=;
 24:lKNbf3I/Cb5SBh/u/BPnISLYqtE4Y3pV7AbxCoSKTQYRWA3Rl85C360SHZYq+n5EiXi+c1hrqIewSgAYa0dONfHajMQ5dRcwWEuhs1DXcu8=;
 7:7ZFCIlet9YVV92IbTXAZsXQKTbnWspjmZtE2cwnzDNLh0J0VSDkX2IVl5euFW9uwuI5ExOo110VfF5zYiSbs3e35nzU7yt8nT+74LWd8J1omK/lscxVo6HKdF3sG/TUvNz0n/+xL6PbL5Zow2C+6lxNhKne2whUTQEBn82VDI3fsWkLWz8cLWOo0r8By8Z0m4ceILURO/vVTpqH08kW+kiUPXxefvO9D4BV5Ry+7wok5q+6sWnz395pmnHR8Tf+F
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2016 04:32:48.0000 (UTC)
X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50];
 Helo=[tx30smr01.am.freescale.net]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2433
Subject: [dpdk-dev] [PATCH v10 15/25] ethdev: get rid of device type
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: Fri, 16 Sep 2016 04:32:51 -0000

From: David Marchand <david.marchand@6wind.com>

Now that hotplug has been moved to eal, there is no reason to keep the
device type in this layer.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 app/test/virtual_pmd.c                    |  2 +-
 drivers/net/af_packet/rte_eth_af_packet.c |  2 +-
 drivers/net/bonding/rte_eth_bond_api.c    |  2 +-
 drivers/net/cxgbe/cxgbe_main.c            |  2 +-
 drivers/net/mlx4/mlx4.c                   |  2 +-
 drivers/net/mlx5/mlx5.c                   |  2 +-
 drivers/net/mpipe/mpipe_tilegx.c          |  2 +-
 drivers/net/null/rte_eth_null.c           |  2 +-
 drivers/net/pcap/rte_eth_pcap.c           |  2 +-
 drivers/net/ring/rte_eth_ring.c           |  2 +-
 drivers/net/vhost/rte_eth_vhost.c         |  2 +-
 drivers/net/virtio/virtio_user_ethdev.c   |  2 +-
 drivers/net/xenvirt/rte_eth_xenvirt.c     |  2 +-
 examples/ip_pipeline/init.c               | 22 ----------------------
 lib/librte_ether/rte_ethdev.c             |  5 ++---
 lib/librte_ether/rte_ethdev.h             | 15 +--------------
 16 files changed, 16 insertions(+), 52 deletions(-)

diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c
index b4bd2f2..8a1f0d0 100644
--- a/app/test/virtual_pmd.c
+++ b/app/test/virtual_pmd.c
@@ -581,7 +581,7 @@ virtual_ethdev_create(const char *name, struct ether_addr *mac_addr,
 		goto err;
 
 	/* reserve an ethdev entry */
-	eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_PCI);
+	eth_dev = rte_eth_dev_allocate(name);
 	if (eth_dev == NULL)
 		goto err;
 
diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index f795566..d629ee3 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -666,7 +666,7 @@ rte_pmd_init_internals(const char *name,
 	}
 
 	/* reserve an ethdev entry */
-	*eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_VIRTUAL);
+	*eth_dev = rte_eth_dev_allocate(name);
 	if (*eth_dev == NULL)
 		goto error;
 
diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index 203ebe9..8514652 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -189,7 +189,7 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
 	}
 
 	/* reserve an ethdev entry */
-	eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_VIRTUAL);
+	eth_dev = rte_eth_dev_allocate(name);
 	if (eth_dev == NULL) {
 		RTE_BOND_LOG(ERR, "Unable to allocate rte_eth_dev");
 		goto err;
diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
index ceaf5ab..922155b 100644
--- a/drivers/net/cxgbe/cxgbe_main.c
+++ b/drivers/net/cxgbe/cxgbe_main.c
@@ -1150,7 +1150,7 @@ int cxgbe_probe(struct adapter *adapter)
 		 */
 
 		/* reserve an ethdev entry */
-		pi->eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_PCI);
+		pi->eth_dev = rte_eth_dev_allocate(name);
 		if (!pi->eth_dev)
 			goto out_free;
 
diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index ebb55b2..172ff86 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -5803,7 +5803,7 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 
 			snprintf(name, sizeof(name), "%s port %u",
 				 ibv_get_device_name(ibv_dev), port);
-			eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_PCI);
+			eth_dev = rte_eth_dev_allocate(name);
 		}
 		if (eth_dev == NULL) {
 			ERROR("can not allocate rte ethdev");
diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 42d7fa8..f1bc7a1 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -617,7 +617,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 
 			snprintf(name, sizeof(name), "%s port %u",
 				 ibv_get_device_name(ibv_dev), port);
-			eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_PCI);
+			eth_dev = rte_eth_dev_allocate(name);
 		}
 		if (eth_dev == NULL) {
 			ERROR("can not allocate rte ethdev");
diff --git a/drivers/net/mpipe/mpipe_tilegx.c b/drivers/net/mpipe/mpipe_tilegx.c
index 93f8730..c0d0e3b 100644
--- a/drivers/net/mpipe/mpipe_tilegx.c
+++ b/drivers/net/mpipe/mpipe_tilegx.c
@@ -1587,7 +1587,7 @@ rte_pmd_mpipe_devinit(const char *ifname,
 		return -ENODEV;
 	}
 
-	eth_dev = rte_eth_dev_allocate(ifname, RTE_ETH_DEV_VIRTUAL);
+	eth_dev = rte_eth_dev_allocate(ifname);
 	if (!eth_dev) {
 		RTE_LOG(ERR, PMD, "%s: Failed to allocate device.\n", ifname);
 		rte_free(priv);
diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 7a24884..ce49945 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -517,7 +517,7 @@ eth_dev_null_create(const char *name,
 		goto error;
 
 	/* reserve an ethdev entry */
-	eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_VIRTUAL);
+	eth_dev = rte_eth_dev_allocate(name);
 	if (eth_dev == NULL)
 		goto error;
 
diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index 7e213eb..7fbc60e 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -822,7 +822,7 @@ rte_pmd_init_internals(const char *name, const unsigned nb_rx_queues,
 		goto error;
 
 	/* reserve an ethdev entry */
-	*eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_VIRTUAL);
+	*eth_dev = rte_eth_dev_allocate(name);
 	if (*eth_dev == NULL)
 		goto error;
 
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index a7048c7..5690dcd 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -303,7 +303,7 @@ do_eth_dev_ring_create(const char *name,
 	}
 
 	/* reserve an ethdev entry */
-	eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_VIRTUAL);
+	eth_dev = rte_eth_dev_allocate(name);
 	if (eth_dev == NULL) {
 		rte_errno = ENOSPC;
 		goto error;
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index 7539cd4..2bb761b 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -714,7 +714,7 @@ eth_dev_vhost_create(const char *name, char *iface_name, int16_t queues,
 		goto error;
 
 	/* reserve an ethdev entry */
-	eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_VIRTUAL);
+	eth_dev = rte_eth_dev_allocate(name);
 	if (eth_dev == NULL)
 		goto error;
 
diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
index daef09b..aadfdc0 100644
--- a/drivers/net/virtio/virtio_user_ethdev.c
+++ b/drivers/net/virtio/virtio_user_ethdev.c
@@ -277,7 +277,7 @@ virtio_user_eth_dev_alloc(const char *name)
 	struct virtio_hw *hw;
 	struct virtio_user_dev *dev;
 
-	eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_VIRTUAL);
+	eth_dev = rte_eth_dev_allocate(name);
 	if (!eth_dev) {
 		PMD_INIT_LOG(ERR, "cannot alloc rte_eth_dev");
 		return NULL;
diff --git a/drivers/net/xenvirt/rte_eth_xenvirt.c b/drivers/net/xenvirt/rte_eth_xenvirt.c
index 99f6cc8..6b15381 100644
--- a/drivers/net/xenvirt/rte_eth_xenvirt.c
+++ b/drivers/net/xenvirt/rte_eth_xenvirt.c
@@ -654,7 +654,7 @@ eth_dev_xenvirt_create(const char *name, const char *params,
 		goto err;
 
 	/* reserve an ethdev entry */
-	eth_dev = rte_eth_dev_allocate(name, RTE_ETH_DEV_VIRTUAL);
+	eth_dev = rte_eth_dev_allocate(name);
 	if (eth_dev == NULL)
 		goto err;
 
diff --git a/examples/ip_pipeline/init.c b/examples/ip_pipeline/init.c
index cd167f6..0dbc332 100644
--- a/examples/ip_pipeline/init.c
+++ b/examples/ip_pipeline/init.c
@@ -606,29 +606,12 @@ app_link_set_tcp_syn_filter(struct app_params *app, struct app_link_params *cp)
 	}
 }
 
-static int
-app_link_is_virtual(struct app_link_params *p)
-{
-	uint32_t pmd_id = p->pmd_id;
-	struct rte_eth_dev *dev = &rte_eth_devices[pmd_id];
-
-	if (dev->dev_type == RTE_ETH_DEV_VIRTUAL)
-		return 1;
-
-	return 0;
-}
-
 void
 app_link_up_internal(struct app_params *app, struct app_link_params *cp)
 {
 	uint32_t i;
 	int status;
 
-	if (app_link_is_virtual(cp)) {
-		cp->state = 1;
-		return;
-	}
-
 	/* For each link, add filters for IP of current link */
 	if (cp->ip != 0) {
 		for (i = 0; i < app->n_links; i++) {
@@ -736,11 +719,6 @@ app_link_down_internal(struct app_params *app, struct app_link_params *cp)
 	uint32_t i;
 	int status;
 
-	if (app_link_is_virtual(cp)) {
-		cp->state = 0;
-		return;
-	}
-
 	/* PMD link down */
 	status = rte_eth_dev_set_link_down(cp->pmd_id);
 	if (status < 0)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index bec0c2c..6acd1c7 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -191,7 +191,7 @@ rte_eth_dev_find_free_port(void)
 }
 
 struct rte_eth_dev *
-rte_eth_dev_allocate(const char *name, enum rte_eth_dev_type type)
+rte_eth_dev_allocate(const char *name)
 {
 	uint8_t port_id;
 	struct rte_eth_dev *eth_dev;
@@ -216,7 +216,6 @@ rte_eth_dev_allocate(const char *name, enum rte_eth_dev_type type)
 	snprintf(eth_dev->data->name, sizeof(eth_dev->data->name), "%s", name);
 	eth_dev->data->port_id = port_id;
 	eth_dev->attached = DEV_ATTACHED;
-	eth_dev->dev_type = type;
 	eth_dev_last_created_port = port_id;
 	nb_ports++;
 	return eth_dev;
@@ -248,7 +247,7 @@ rte_eth_dev_pci_probe(struct rte_pci_driver *pci_drv,
 	rte_eal_pci_device_name(&pci_dev->addr, ethdev_name,
 			sizeof(ethdev_name));
 
-	eth_dev = rte_eth_dev_allocate(ethdev_name, RTE_ETH_DEV_PCI);
+	eth_dev = rte_eth_dev_allocate(ethdev_name);
 	if (eth_dev == NULL)
 		return -ENOMEM;
 
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index a7ba1f0..e9aca17 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -1606,17 +1606,6 @@ struct rte_eth_rxtx_callback {
 };
 
 /**
- * The eth device type.
- */
-enum rte_eth_dev_type {
-	RTE_ETH_DEV_UNKNOWN,	/**< unknown device type */
-	RTE_ETH_DEV_PCI,
-		/**< Physical function and Virtual function of PCI devices */
-	RTE_ETH_DEV_VIRTUAL,	/**< non hardware device */
-	RTE_ETH_DEV_MAX		/**< max value of this enum */
-};
-
-/**
  * @internal
  * The generic data structure associated with each ethernet device.
  *
@@ -1646,7 +1635,6 @@ struct rte_eth_dev {
 	 */
 	struct rte_eth_rxtx_callback *pre_tx_burst_cbs[RTE_MAX_QUEUES_PER_PORT];
 	uint8_t attached; /**< Flag indicating the port is attached */
-	enum rte_eth_dev_type dev_type; /**< Flag indicating the device type */
 } __rte_cache_aligned;
 
 struct rte_eth_dev_sriov {
@@ -1760,8 +1748,7 @@ struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
  * @return
  *   - Slot in the rte_dev_devices array for a new device;
  */
-struct rte_eth_dev *rte_eth_dev_allocate(const char *name,
-		enum rte_eth_dev_type type);
+struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
 
 /**
  * @internal
-- 
2.7.4