From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <hemant.agrawal@nxp.com>
Received: from NAM01-BN3-obe.outbound.protection.outlook.com
 (mail-bn3nam01on0075.outbound.protection.outlook.com [104.47.33.75])
 by dpdk.org (Postfix) with ESMTP id 955F2F97B
 for <dev@dpdk.org>; Mon, 23 Jan 2017 13:01:52 +0100 (CET)
Received: from CY1PR03CA0024.namprd03.prod.outlook.com (10.174.128.34) by
 BN1PR0301MB0737.namprd03.prod.outlook.com (10.160.78.144) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id
 15.1.860.13; Mon, 23 Jan 2017 12:01:51 +0000
Received: from BN1BFFO11FD016.protection.gbl (2a01:111:f400:7c10::1:134) by
 CY1PR03CA0024.outlook.office365.com (2603:10b6:600::34) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id
 15.1.860.13 via Frontend Transport; Mon, 23 Jan 2017 12:01:50 +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
 BN1BFFO11FD016.mail.protection.outlook.com (10.58.144.79) with Microsoft SMTP
 Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8
 via Frontend Transport; Mon, 23 Jan 2017 12:01:49 +0000
Received: from bf-netperf1.idc ([10.232.134.28])
 by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v0NC07es019311;
 Mon, 23 Jan 2017 05:01:46 -0700
From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: <dev@dpdk.org>
CC: <thomas.monjalon@6wind.com>, <bruce.richardson@intel.com>,
 <shreyansh.jain@nxp.com>, <john.mcnamara@intel.com>,
 <ferruh.yigit@intel.com>, <jerin.jacob@caviumnetworks.com>, Hemant Agrawal
 <hemant.agrawal@nxp.com>
Date: Mon, 23 Jan 2017 17:30:00 +0530
Message-ID: <1485172803-17288-31-git-send-email-hemant.agrawal@nxp.com>
X-Mailer: git-send-email 1.9.1
In-Reply-To: <1485172803-17288-1-git-send-email-hemant.agrawal@nxp.com>
References: <1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com>
 <1485172803-17288-1-git-send-email-hemant.agrawal@nxp.com>
X-EOPAttributedMessage: 0
X-Matching-Connectors: 131296465095090699;
 (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)(336005)(39410400002)(39400400002)(39850400002)(39840400002)(39860400002)(39380400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(5003940100001)(8656002)(189998001)(356003)(305945005)(50226002)(54906002)(104016004)(2906002)(4326007)(68736007)(8936002)(77096006)(81156014)(85426001)(86362001)(38730400001)(81166006)(8676002)(47776003)(106466001)(92566002)(2351001)(105606002)(48376002)(50466002)(33646002)(2950100002)(6916009)(97736004)(5660300001)(50986999)(110136003)(76176999)(5890100001)(53936002)(626004)(36756003)(6666003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR0301MB0737; H:tx30smr01.am.freescale.net;
 FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; 
X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD016;
 1:j7nc6BXcdJU7vb0MBbBayLq4uKbHoQhcgBXFNRTczZ9s4IaiJ0u7WMDfgKkmOvygH7bMZPnmCEkDGvM/QczRf8K7TZ9oVywGcTDvi5INUlkGJDu8Hf+Ps+3gAOhhCorlt5m63kxfEXTejvQww2CjqIagc9PCPCfcUYlg88qEshCHQqVNFN7WncJuXPNiva71p7+hwAOXkIT3H1H34CQtkQXdmJb4Avw77qWCYATJfMAI/Nql3Tl3XExZUuAflNjFDgwo5US5FlwVbHnotCTGaJprMwQWtXb7Ni9U/7oaHpUVR6WXXg3D+b+BbhAwkdfbpYICykaMS0WE8YufV/KWnj2eHZif4rt6LyCqPVynqSstXZWYeA6391+veciZe9OsjahH9B8Yp7gjdxcx7HlQL6rVTbomHruZMDya1odbR2TWkYgIkBUlO4bAN1Efz/+u9lz4ykbvcyTlR4Uq1YCeqqxhJsSEct6KEBLniWHdWJO2Adb3D9eJjoDhkjVsEK/TQcCVEogg/RKDz5VLQEI4pYu6sr7ouTmO28RC54YIbgtV+++tFhS035pVOhhqLJ0/3gHIKYGOnumisqzWM4I53FOUXXVc4Nr7CcmRfNq1EzTl2FQKkLIw4G2KKtSBoyhQbxdHa7cl58dmqrQ/EUOs6WAhk3slf9EM+gMVnPsdHGmxxOd7wAHI4SN4vzYPkA7aUUWvetiB/7RxDfgKmnRTy2qcAhO8BCbGDGnaT+FOVprTUWUr5gYsalILQtWOEEj+
MIME-Version: 1.0
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 83cfb4df-9de2-4f3f-80ae-08d443879cb6
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001);
 SRVR:BN1PR0301MB0737; 
X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0737;
 3:1iS4WNXO2N3XeGPhmrpIpkl0XgN9AXs2R4zEcmoMAGTvdpK1qGnmPlETH//U2krrrQAjeJflpHJIw+dCNGgAu+wwsycBfTQ0GKg6JQO9odnzhplBQUxB8fcqJ4I1cvs0eswR6LWh5RDDYfcyGEeEllT0AV5e5tFH5QiGXKLs8yaHu4zGPt8J8ksTtCKN82H52Mt/Fm+UouVINlt5O7JOYZdqNUJI6Y/NglFv/jWNE8176T2+UdcEyg2UXCEe+iPt0kJepuRPwJ6p/r2lafs8CPR0n53Q8uswR8jdec9sTDhsuZjBxA2g5zternTrkmFo6ikdwDQNnFchHHQ3fVAQXI1M83Rb5i9zUPT3esCwJDQCU1cKwvoQZgUY2VrmJYrH
X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0737;
 25:ohRLaJG/5rQ8qOWUoju/AIdpO88fD3xHDobAHAVxVa5AmVXynf7TWVWalanjUnFOFDmKpgPVpoW0ETawlm0DYoQ/ebt0/cVoVYdgIvd26bnazA8ealwYoWyhu73sj6tFepzUvir8zO0fQdFRe1ssgV//eyzoe9N6k6kz44gYgkVlSJODSXSZOr8nJUXyJhfm10ZTHhkauRrbJXe2ENaSPwdvfmLe3rG06TVW9H/09F+UA8m/yiU1lX6DJvtMWCEy/XIF3UmHNsOY4NF0l8avsPoVXVUUUG++IgWu9OdW9+4C93AT7QhQvZOXK5DlVq3TYgKl+zN1zswiiJ00I9Sdsr071P65S3pBn1Yn/uNRA1KA7Rz+BeaycoHEitzcRjkh5cB9DgiN+SL4KvCe0ITEUYVP6Ml5tSuHkrCKFcppYjKLkbfLq4PdSjhRnSzkifVrsrKJNPQh7lmP7z5ekOiiLfPqND/0hfFgqNrWr0W2r114LgPsayFp/dMc06xAQb1cFVMllDFXc58dky8HwoCtoqaC2YDUxfGcDI8Mf9urvZxySH9L4c1qi1Lrvqwf4AV6Y0KNkxv/y7OsQ+BLCsG4Y5CyvJQCdoBK/3wEDwPbDWLNDJcTkTCYhUb8VmuFtIjOw2fIK5o1+sQOacNI899SWvn3i2TDsGZeRWdkrnj5PI8SR4INHghaZXiWlO8v03dgwk69CvALsWmNeUmZQw0lj6hluwv6uS4F9oqSewnwNP050uKmDjEa2dzuDMAt5Zmuqldbil+jE9BuACcisAmzqhaWodt64JttYjOC746VV+GjUaTlzpz+2w9K5dEymE34
X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0737;
 31:Nsyvt0ZCRRCK7MLfZWEPWSWw2SeJKyK3KJu86yqfRK0xqRn9wB3bRYemUEJ5BP0yd9gWWCNN5XOy5ELyMdJcNL3d3DVPcU6bsetkLpcuiWDZecgz2mel8vBh6uxrjCtOMHw7FMm/QEkBlVp5IYh4GflZgmzTj2mASr9vnXflXCvnsr2mC7etjQjFWdhOgJ/cP1ECU5BdUDiPW8tMpH4uatJpN+br76+RRZjwk37xaKcZI0XFhhxrPyg91d0ws160zrl2gXIn2pyBkjMoXWCRsQ==
X-Microsoft-Antispam-PRVS: <BN1PR0301MB0737469725D4441F94F459C589720@BN1PR0301MB0737.namprd03.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(185117386973197);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6095060)(601004)(2401047)(13023025)(13017025)(13015025)(13024025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123563025)(20161123565025);
 SRVR:BN1PR0301MB0737; BCL:0; PCL:0; RULEID:(400006); SRVR:BN1PR0301MB0737; 
X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0737;
 4:PDg1R1DwJ1H4qGPgUjo4mLD6HkNDe6HSv3qFldz0fXw985DzryPIkBiVDkjj0iHb9H0LCJb1MeciZO33meWPG5XlTwS2VplZoJeac07I47863rJALUaxFGn/7Md/dv6r4EDQicQ0Ha2WViEoG6XDHT+APeV+Owp+KcAkDvhgkpNM6+FVVTZ4Yf/U2bc/4D41XqmOuJArJgz9hVrKKQofNpqCmeis56PVrBuXrWieVuEdsgV7E5qA5e8dWBng9slqVwi70G+H5NlK40b62P9WcNjrs9lLZ2FHfV4eIfYhIHqrDGWp+mckOxP0z0g995pYyIvyb/B8kj4rYI6zDzIC3BssvG2DnX8YFTOhSlK6QjOnwNBSPOjMuoz94rwEZ9ILYkmJ4UrzQ2DTUHJiQA0eGCScX50u736ApeUFiuz9Qnu3fnoQraJDcjAdqbgA/Qpq47axNk4UmVzG2X2EScuRJ2Hv9hWBDgXmkSvZmhVv0cPHxj9gjQ7QXl7vD5MzewPzh8au3e3dOzCoXWyuJwZRyNJhpZfiIg0BofJacev85mYw3lc2IogfS7KT8hCiC3ewvnSis/PFRMA36GPTPonbsE3ICVN1gl4xylx6QwG6uwbnJnxIz8D1fF3sE5qeWCIBRh7vS2TKChbxINy+bAsYkvApgFRdxmRJLW5bUNztVwsoNc2NhDzDIOZlaOMmdbZly7BdFPKktR03G6gDi1d3w6gW1BmM8JATgZ/amtc8PragTFZ+gICqfRiA5bsJGwnm
X-Forefront-PRVS: 0196A226D1
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0737;
 23:wm+grqshiHcyGcaeL3thr5T3ibEGRrVM5sJucI5?=
 =?us-ascii?Q?tIPD3cRuT/Ssn5OwRUsKtAKPasvxmVGYWuFeHcGc8TYDMDDnBw28QA+8udtI?=
 =?us-ascii?Q?cYn/J/KS5wrqcZDyBTwsLqM7kOcLM92d9i9PrbmlL0KVqhoJRZxzWFtjE1NF?=
 =?us-ascii?Q?6d/YqH7uPyq/wJ9Zaucr1yCId5fFVQHZxT8oNOp2SRv/3+V5RLTvglptccc2?=
 =?us-ascii?Q?Squpregm5nh6zWW6++mf2trhJWPF48kppMrfuPPm+U910h3krqT1IzOB0nhN?=
 =?us-ascii?Q?y+b/k+jEtt0Om1WaxLZv0/XyjFOHeLTw9EtYjrcJoms986KvdmjhbqSNSpDa?=
 =?us-ascii?Q?OavYs4kiMJ7YCETLxJpo0jvfFxaysoAkiMGvswDUsupmiO8MHBNHyb6tO6v9?=
 =?us-ascii?Q?JTXjtzQyVdgb73pzO3z8LEJM1lcWT+Z28t/3HD0bHi4hhuNHp5/HvHkIL0lg?=
 =?us-ascii?Q?+Gjh9Nku4bcxtjOdqs1/qxFIcmkTBNVjdAeazOt60uYAa0JEDwb+13EDTBTj?=
 =?us-ascii?Q?rKFTyTlK05Wdq2LSHZ9gw3D1tP6u6nP38jABat1Ga14GB/E+o9WrMLp90Ljo?=
 =?us-ascii?Q?2eCGiYrWJFdyfoQva2RUJHoAiCobWH/eipvKKw/fvXM1SS4LXuGWaUHddPay?=
 =?us-ascii?Q?jNJR31pfh/g8gOUy747R9VcK6LspxDPDvf5Xt1CKO1QTvmONYJuKv1hT0f3P?=
 =?us-ascii?Q?jVqWU+DySsAqc4ON/Tv8sDj+vbn2f7KZMGeUE5WJTKlXlEpzLXpKRbF1lTrb?=
 =?us-ascii?Q?DqF4XNJLw5RKrMQPrtskR77pA2muW+DvN1qCKDu9FTtj3FDUK7PWp5TwJqvL?=
 =?us-ascii?Q?VvOJ7vE+HiCQgcsOTJBlxaqmEOnthQjKvc+GAe/7HExx7iHMCI6cflRaAenh?=
 =?us-ascii?Q?mi8qY9TgnMMcK8Y+Ce1iWyvdVxzanDb2en+Je8DerKJL2AeJAPsMqy38vFag?=
 =?us-ascii?Q?J9yLjqc+tQzQyCevw44NpDqkpybOF5HBXRB6yCfIfgh//LRRjW9DNDBNJqiP?=
 =?us-ascii?Q?uUSVKNj99EyYx6GhZ+7bjG40FsQl9KCR9OWLF9UBJnhyJlf3CgtDpF/9Mgpd?=
 =?us-ascii?Q?mltqPI0OfyFytXq7dL7VwKbvaKAPAmY00KvVasbVvEIRb45TyqBxq1RUhTWQ?=
 =?us-ascii?Q?P4fRWoiaES0yVXpc4uUR3eUP5LbBFDLsC72cjsYKfCQya6cs6odANUtw84N7?=
 =?us-ascii?Q?vgBMKUFqvACn9ucXiS/TYLLLXIlQyQDEL9eqYXljaA4mxxVGGX1S85ItULTq?=
 =?us-ascii?Q?PbFGnbIoYRKX4uqbmzjIAyamfJ83BFtUCZj0sJdMuU8cRRiNl1vNUVle0TEv?=
 =?us-ascii?Q?MoDQykuWe7mCjjn0KOLDW/ryN8EiMCJP/WBKUOs6rm3H+?=
X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0737;
 6:pU6qNUzwQHdgfGQaml0M5FpfuFeRBpKE/CiYzDhS7RackRcb9/573dBSowIpYNo3dyi3lGEwjhTfho+0MqhKSS5cppNaGBUKkFFPT1uMDuR1lG8a6i2PkgHxb/47C7rrtO9C6d4CjkDnhhRcjCuV8doYk+gTOiphKaNH2zSwVHL5EkZTLLMrnKwyUYgK5UORlXb6QGFzWTyeUeuIXeJNCtjEvpODM1DVDfg+gbNQgY+0xwHxTNusbSs9zNeyvwrR7Br/tdg1FLwzywQmaP+qoEYUQNnDf57RiDCGXueYxvBk1FSj20+W4k4FsMjEhnIZybeTIl4JjI+jTV2FMrbcPr02NRRxkz2e0yxlqdKatTgmhDius0goZGE2DdOHudSX3ZCjNP5Mqzfo66bqvDHSQm4U7L9KYC3OiIq7rUJRPUKMu1PmlBPu3V21Pson7Y94;
 5:gL/MH8FsEjpdpIESiu7+NJAZQz1zeRCLdYM3M2vGjBKFcRcdAEmXOlCMGHJuAvQpgJG695sSM3bjRczD2hxE5vMuRU5W45d1cJMwdDSETr5uj86A96doyGHwqfiq+uPBaSenf4mJYV0zlkbt6xTXEQRmhLsbVFJQ0ZYtKXiU/IhYNreBA6pLzkdcqtfHUwuw;
 24:nzibyIpJ/OMSwC3MS/a0c/X3uJS9yFKgA/7HDq9SRGUw2Pt2Ehh2Rkoybrl+aas+47II//iSONN7zEO+v+YyzdwH3EJw2PJGYe3s/oj54L0=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0737;
 7:5Xa6lim4SCR7NOvymUmRIfYw2yycsYd6G20Cdt4sxXhg6LX+1GN5rLyJxOWpRbvFBYa2dktOTs/PgrrQQc9alSwjK2kC/mfS4RZ268q0C9X9AdCCEm4HvsTyB3qNvU9jkyJNunthQOmYcCfn7XybNl0mHNcNCJoD5H7Vph+/P5gczpVQ9bSdZkvPruQ1hX2yeO/LaOXIDNm5r/LrTJgJTkNWPRxNLDVWS6Vhm8WEzFcQuZ2vX3PcpVwugI7iDRYQVMMq17tM9M2guK1643coIjr5qEt7MesZ7di8DsdbpePNjMo2AZIvWU8oU5+wgmroC6hpNajupcqh8/L+/0c3FXCFDhoFxhg9h9l9OMG8+wj7VGi7AwN9HqDXohxLe7rdk61OIE9Jeldq9m7+/UQslyZAGY60NySZFqEe7ZigWF5VZ5vyLw3KQDEtUSvGi+lDI8yMUig4soVJlxjVdjH/GA==
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2017 12:01:49.2750 (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: BN1PR0301MB0737
Subject: [dpdk-dev] [PATCHv6 30/33] net/dpaa2: add support for non hw buffer
	pool packet transmit
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <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, 23 Jan 2017 12:01:53 -0000

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/net/dpaa2/dpaa2_rxtx.c | 75 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 73 insertions(+), 2 deletions(-)

diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c
index c1ea33a..a94761c 100644
--- a/drivers/net/dpaa2/dpaa2_rxtx.c
+++ b/drivers/net/dpaa2/dpaa2_rxtx.c
@@ -191,6 +191,55 @@ static void __attribute__ ((noinline)) __attribute__((hot))
 		DPAA2_GET_FD_BPID(fd), DPAA2_GET_FD_LEN(fd));
 }
 
+
+static inline int __attribute__((hot))
+eth_copy_mbuf_to_fd(struct rte_mbuf *mbuf,
+		    struct qbman_fd *fd, uint16_t bpid)
+{
+	struct rte_mbuf *m;
+	void *mb = NULL;
+
+	if (rte_dpaa2_mbuf_alloc_bulk(
+		rte_dpaa2_bpid_info[bpid].bp_list->buf_pool.mp, &mb, 1)) {
+		PMD_TX_LOG(WARNING, "Unable to allocated DPAA2 buffer");
+		rte_pktmbuf_free(mbuf);
+		return -1;
+	}
+	m = (struct rte_mbuf *)mb;
+	memcpy((char *)m->buf_addr + mbuf->data_off,
+	       (void *)((char *)mbuf->buf_addr + mbuf->data_off),
+		mbuf->pkt_len);
+
+	/* Copy required fields */
+	m->data_off = mbuf->data_off;
+	m->ol_flags = mbuf->ol_flags;
+	m->packet_type = mbuf->packet_type;
+	m->tx_offload = mbuf->tx_offload;
+
+	/*Resetting the buffer pool id and offset field*/
+	fd->simple.bpid_offset = 0;
+
+	DPAA2_SET_FD_ADDR(fd, (m->buf_addr));
+	DPAA2_SET_FD_LEN(fd, mbuf->data_len);
+	DPAA2_SET_FD_BPID(fd, bpid);
+	DPAA2_SET_FD_OFFSET(fd, mbuf->data_off);
+	DPAA2_SET_FD_ASAL(fd, DPAA2_ASAL_VAL);
+
+	PMD_TX_LOG(DEBUG, " mbuf %p BMAN buf addr %p",
+		   (void *)mbuf, mbuf->buf_addr);
+
+	PMD_TX_LOG(DEBUG, " fdaddr =%lx bpid =%d meta =%d off =%d, len =%d",
+		   DPAA2_GET_FD_ADDR(fd),
+		DPAA2_GET_FD_BPID(fd),
+		rte_dpaa2_bpid_info[DPAA2_GET_FD_BPID(fd)].meta_data_size,
+		DPAA2_GET_FD_OFFSET(fd),
+		DPAA2_GET_FD_LEN(fd));
+	/*free the original packet */
+	rte_pktmbuf_free(mbuf);
+
+	return 0;
+}
+
 uint16_t
 dpaa2_dev_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 {
@@ -331,8 +380,29 @@ static void __attribute__ ((noinline)) __attribute__((hot))
 			DPAA2_RESET_FD_CTRL((&fd_arr[loop]));
 			DPAA2_SET_FD_FLC((&fd_arr[loop]), NULL);
 			mp = (*bufs)->pool;
-			bpid = mempool_to_bpid(mp);
-			eth_mbuf_to_fd(*bufs, &fd_arr[loop], bpid);
+			/* Not a hw_pkt pool allocated frame */
+			if (mp && !(mp->flags & MEMPOOL_F_HW_PKT_POOL)) {
+				PMD_TX_LOG(ERR, "non hw offload bufffer ");
+				/* alloc should be from the default buffer pool
+				 * attached to this interface
+				 */
+				if (priv->bp_list) {
+					bpid = priv->bp_list->buf_pool.bpid;
+				} else {
+					PMD_TX_LOG(ERR, "errr: why no bpool"
+						   " attached");
+					num_tx = 0;
+					goto skip_tx;
+				}
+				if (eth_copy_mbuf_to_fd(*bufs,
+							&fd_arr[loop], bpid)) {
+					bufs++;
+					continue;
+				}
+			} else {
+				bpid = mempool_to_bpid(mp);
+				eth_mbuf_to_fd(*bufs, &fd_arr[loop], bpid);
+			}
 			bufs++;
 		}
 		loop = 0;
@@ -345,5 +415,6 @@ static void __attribute__ ((noinline)) __attribute__((hot))
 		dpaa2_q->tx_pkts += frames_to_send;
 		nb_pkts -= frames_to_send;
 	}
+skip_tx:
 	return num_tx;
 }
-- 
1.9.1