From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D93F8A0C47; Wed, 27 Oct 2021 16:26:06 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C80EF40E0F; Wed, 27 Oct 2021 16:26:06 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 93D5440DDA for ; Wed, 27 Oct 2021 16:26:04 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10150"; a="230119047" X-IronPort-AV: E=Sophos;i="5.87,186,1631602800"; d="scan'208";a="230119047" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2021 07:26:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,186,1631602800"; d="scan'208";a="529646853" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga001.jf.intel.com with ESMTP; 27 Oct 2021 07:26:03 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 27 Oct 2021 07:26:03 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 27 Oct 2021 07:26:02 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 27 Oct 2021 07:26:02 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.104) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 27 Oct 2021 07:26:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KcK8+P+3ogieVdH3k2wPyhPyA4udJDeFNP4CseUZSvZFmAYs1YOSD2wSIRShn053yP4286xzHJ8xwESQF9oUqO0E7DyOI3eUM2WsPVCOc4wHTArG46ip4nWItaHVBErf7yqjvzr2ME/YVp0IRhCGwmR8GBOz1F+cDmCDzynQ8vrM4SzbvyF1f+ACw2dA8v+/PHGrd0pm3KXYZOg24gwIfwp04qHF/zD8fG/mXW68OIN+4cDN91YL1XNknSTC/oiNDixxg7AZiCOqx9X4ZFufJaW8GScN0oV1ISv3OhNbYhbewyB8HCyyXCm/sobpdIZenNR9d7PpDJvlbm66lWkYyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1TpTDOQHg49tIKMJ/zojsfHaYH814LgxbygOFsEQgbI=; b=dPnGubM2+fPURZc/PV9TRNbqoyTr6tofHDiBxglcB48C2Q5FyXBXoABg2ClbkkzXD1wuEjcqb5JLU7G0IsCqsTeuZ5anMZrMHUS8YrsqZzXF30ZnD73T+lkC+vfRpjxkLkQeXdRZrl7gzXClPG//XYgiTWoBmncpJEMkMtrj/z0hZFex8hBEdMANuXkOxSarwbx87RyCVz5vZYq5C59cIryAkX+qpaiDrbcdrvhppbOlG0INxgabj7zze8wKlmKv5zMHaxjsP0CMEIMRVe66AmV4MJ3uMqxo51+Q9MH6J578wbY2JjfIqtAoH56IN2T9wzosoVHbZWUK295jGj5Eqg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1TpTDOQHg49tIKMJ/zojsfHaYH814LgxbygOFsEQgbI=; b=hiQQ0K4wakKT6+EVlrMZoWvg8CguGe6rsoEMYvMXFwdk4os65UnjIaBmjcnl4ueLssEjemfbryaPjzGZcitC1kuiceS2ZksvX0x8NQNOLrNgp6gyDeOh+l951i4kTe0Gz5jSGnCg+M4k9YR8nWn2JRmH8EuzAUHup6SMun8lOBU= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) by PH0PR11MB4790.namprd11.prod.outlook.com (2603:10b6:510:40::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14; Wed, 27 Oct 2021 14:26:01 +0000 Received: from PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::bd7d:29be:3342:632c]) by PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::bd7d:29be:3342:632c%6]) with mapi id 15.20.4628.020; Wed, 27 Oct 2021 14:26:01 +0000 Message-ID: <75edae1b-0a13-74c2-e393-01c2d3dab670@intel.com> Date: Wed, 27 Oct 2021 15:25:55 +0100 Content-Language: en-US To: Apeksha Gupta , , , CC: , , References: <20211019184003.23128-2-apeksha.gupta@nxp.com> <20211021044700.12370-1-apeksha.gupta@nxp.com> <20211021044700.12370-5-apeksha.gupta@nxp.com> From: Ferruh Yigit X-User: ferruhy In-Reply-To: <20211021044700.12370-5-apeksha.gupta@nxp.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DB8PR06CA0034.eurprd06.prod.outlook.com (2603:10a6:10:100::47) To PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) MIME-Version: 1.0 Received: from [192.168.0.206] (37.228.236.146) by DB8PR06CA0034.eurprd06.prod.outlook.com (2603:10a6:10:100::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.22 via Frontend Transport; Wed, 27 Oct 2021 14:25:59 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3f63f7bb-ca3c-4ddd-952d-08d99955b358 X-MS-TrafficTypeDiagnostic: PH0PR11MB4790: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1002; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2Yo8JqZp7jGdxwk2liTMOCddBiUCJjgSte5a1CKJdIkmxZ5aFXDb0tfL7sM/xA0q69NTpUXQrV+OL+byHVEQ+gGDwgu+w+LJg7jQUGBfu+AVu4g1Kxx5E7uVgUicVbPdhor2k5zZNytL7eF6dfxcMEoKvzJWFRNCBfoBPdNOhuQmqpFuW+9sm5kBEBMGflcIOYrj2Cbd84b9ay5p5VVq+addWU9l2Zy3aEZYMzVB70XVTiZ3Gmv1zOROWEId45JPpAgtNkAXczF3ukOqxJbCTx05FHAF2BtDd2z6EbPLO7J1JvK0tq5Qh4sYIdzrg+noN9EEeM7zTPlo+3mFd5q3dayrItnfeG8vbsC/9d4uThxgEF5UOTK2p5Io383k9UGRJpYc8wYtC7hmhmIMGFOd9gY3sYqRPyXNJvX/3vsvF+e0it8+z4dWeBgVGs8Cf5pNOr2bvuYiOqUYT2fO7d9tR5Aq5GZxRom7F8XW3p8NDLX95GFd59ggb1l8VADUjbJJT6y/SfA8MMumaBIsJMpgVxakPGWRT80YtJeEEWNGDXNe0jI4/2tvfk9/V/xrz02cR7zRLlvM39/7niC5jHauV39l1nGZy7MYGQntaQZvdR9AFwosyH3z6WOvazvNmnceR6rV+L6+1AwiPPWfxH4XclE3ZgVam7RIKMuQSFeA7Wi4xmDnx9aGUj1AEYRQQ0XO+hYWf+k2QPqM7V5HHkpLTg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(66476007)(86362001)(66556008)(26005)(31696002)(83380400001)(66946007)(53546011)(5660300002)(36756003)(4326008)(6486002)(44832011)(16576012)(2616005)(8936002)(31686004)(186003)(316002)(38100700002)(6666004)(8676002)(82960400001)(956004)(2906002)(508600001)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RUtVWTdGR3pTQmxEclBxa3MzMWVLMkRuRDFQZkhtQ0dFMHpFbkV3ZHZsK3A1?= =?utf-8?B?UXQyelZiWDg2Ukg1RFRFWm9KODE4SFFsaUdKUW5DSkp2ajkvMHNaekdMWXFK?= =?utf-8?B?YmFtcU9CbXBmMUR5aEVjaFp0VGhVQzZ5TnRuVFZ0dUozYmRnYmhjcmV3ZCt0?= =?utf-8?B?SndGSFhmRFlsTjFrbUVpWGs5YjN3YTdnY0RLS1dXZTRZZEt3L0ZJcEpaQWF1?= =?utf-8?B?ajJ3Rjc0V3ppb3BLWVpoVFliZlZWdWt0Mi9sbnBlRlpFRGcvZDdDSE00TlAx?= =?utf-8?B?SC9BSUE1QXpBT2VGb0hFbURYNWZBNnU3WFJKbzFLenB3cmVBOS9KcVFHQzNS?= =?utf-8?B?eC9WczVEZng3WFkzU3FGVUdGMll6akpHa3diQWVwbHlnNStXTk1OSmZRdkNT?= =?utf-8?B?dHpmM1RUNXhxbGR2aGdub0lRNk5Eem5ZUDkwOEhDa1ZvVkVMNnhQTkY4NjFx?= =?utf-8?B?ZEFoQ0N4dzJCVnZ3R3prRDZCSUl2NWRtZlhvQXNKQzlmamNEY2hsb01nNll0?= =?utf-8?B?aWdxUDF2MDZVTU91SXdrMmJhUDdxam1kMHlSdHJCNUlwajVlK1BBVldITmd2?= =?utf-8?B?TDV5WTVIVVk3Sk9NVjNNYkI4SEo2aG8vYXd4dTBtSUlZQUJCanAyYW1XcTI5?= =?utf-8?B?NTJJZHlqSWxaZloyMnpwV3JHNUpZWi9lcGd1YjlIKzBhYkN6a3B5STZCbHdS?= =?utf-8?B?cW42V2NkNDFMZHpEbEY3SUY5c0ZJSi9OTytabWRaeTFrWW02UkQ4ODYvQXVT?= =?utf-8?B?UTljVmpFVHFVSVVaLzZwQXFlNzFmK1FhN1B4YTlBTy9jendVTVdKYitNcDJj?= =?utf-8?B?b09ibms5MFRJb256Um1NbkYwdGRKc0h2SkUycUNtNzdBQ2dOUVg5M0xvQTRU?= =?utf-8?B?Znl6WUd5aEREaHBnUUtobHB2VlZQaUljSlRHUkE0bW4wZHBlbDZWTVp2SnVI?= =?utf-8?B?SkJZM3ZmaEhLSStqTUhPdWJJb1haWlVDRTJQWUtyd1EwandUVnNWVkpzUFZ5?= =?utf-8?B?TzRZeC9CQUY4TGN1WU8va3k4eXg4b1YyWjVPVm4wSVd2REpxaEhIc1RMUW83?= =?utf-8?B?OWdFSy9MM29ReUIrdEJqQkJnWFVCMFExN0owa3NsUTVpRnVHTHJEaGpsV1JT?= =?utf-8?B?S3RZTnNlQVAvY2F2WjdWWml3RW5BdUo1YnEvR2g4U2FlaFVEYlJOamlnempM?= =?utf-8?B?ZksrS1JNSXlXYy9HbUgrNDVUczNzT0VFNm1kSUFNYUhhYmlYMHQwSGxVeUNi?= =?utf-8?B?ZmRxRC92ckxySE00OWxVN1ZObCt5MFI2cnE2dkd0ODNza0NSWEdPVHhuUW5R?= =?utf-8?B?WDJoaTZwcGtnVW9zOGdJMmhkeHJLb3N0QWs0Mit3dS9HUHJQNFlCUmplYWtj?= =?utf-8?B?R0QrN3RpKytYL3pMWVVDWi9tdFpmcWN6eTNZR0c1anJ4Q0RNUndJaHNMaGhF?= =?utf-8?B?Y00wOG13MTZaTlV3ZWZadjNsUUZiTFJpQzVsV2JveXoyWHFOUG9nMFJKZHNW?= =?utf-8?B?ZW9xYnBUeHRyczYxY0JiM0VpR0JvN0o2WWFaT0NjV01oQnhkUGdMc0YzaDJt?= =?utf-8?B?Z2NrSWd4SmpOWWw3UUs5aTZFVEMzU2dMRGw0Y2ZPd0F5NWJEN1NQdTIxQ3Yr?= =?utf-8?B?bkpKQ1kyVTdxbmJic2hWYXJPaFlSQUdrQm1KK1RGRDNhaDZhMlphSlNFc3pq?= =?utf-8?B?U2hwRm9CMFpzbk9OUzVSd3plQlRSTWFBbWF3QXRDRStkYmd0TXByWWdrTE50?= =?utf-8?B?c2lvZk1nL3A2dHFnK2lIL05wNGYxOFRzanpKdUJZZ0ZqazBlbi82dEJicnd1?= =?utf-8?B?QjhRUjIxQ1FKNm04dHRvTGpEKzFHYXdyRURoUWM5c1V0TndRdmxWM2dZcmov?= =?utf-8?B?TUozS3FZWG43KzRKaDNwcWE1Y2NtaW5rdnArMjBHR3FQMkVvaC9LM0ZBTW0x?= =?utf-8?B?SXptVkdadFJMMnJBK2ZLRXphMEJVVXFQQ0hOeWk2dEphOFF6eDNRMjZwWEk3?= =?utf-8?B?Mmc1aXdCSDlpTmN6OFZqS3dZYVFsWUVyVkcxQjBQVGw2RTBpcGxXK2ZaN2Ew?= =?utf-8?B?UlpzZm1QZmNQNjRKZHBEZHZkQXlDTk5hMW5xVHFpcGgxWW1XZ2hBMG9NU1Mw?= =?utf-8?B?YlkzanNhUVk5RzhFTjNJclEwSVkxSzF1UTRBOWJoU1lsaVNRdHVDbVBVR3BY?= =?utf-8?Q?Fpih/WquX4TPt1cpCUwcsec=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 3f63f7bb-ca3c-4ddd-952d-08d99955b358 X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2021 14:26:01.2142 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dgovp10ODBPlES1rk80iORjGz1/N85ve3s5vTfkAEv33gHa3GdYWjUCHCwUhvEPfHYBNsalUW5WbvB0CV9rzcg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4790 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v6 4/5] net/enetfec: add enqueue and dequeue support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 10/21/2021 5:46 AM, Apeksha Gupta wrote: > This patch adds burst enqueue and dequeue operations to the enetfec > PMD. Loopback mode is also added, compile time flag 'ENETFEC_LOOPBACK' is > used to enable this feature. By default loopback mode is disabled. > Basic features added like promiscuous enable, basic stats. > In the patch title you can prefer "Rx/Tx support" instead of "enqueue and dequeue support", which is more common usage. > Signed-off-by: Sachin Saxena > Signed-off-by: Apeksha Gupta <...> > --- a/doc/guides/nics/features/enetfec.ini > +++ b/doc/guides/nics/features/enetfec.ini > @@ -4,6 +4,8 @@ > ; Refer to default.ini for the full list of available PMD features. > ; > [Features] > +Basic stats = Y > +Promiscuous mode = Y Can you please keep the order same with default.ini file. <...> > @@ -226,6 +264,110 @@ enetfec_eth_stop(__rte_unused struct rte_eth_dev *dev) > return 0; > } > > +static int > +enetfec_eth_close(__rte_unused struct rte_eth_dev *dev) > +{ 'dev' is used. > + enet_free_buffers(dev); > + return 0; > +} > + > +static int > +enetfec_eth_link_update(struct rte_eth_dev *dev, > + int wait_to_complete __rte_unused) > +{ > + struct rte_eth_link link; > + unsigned int lstatus = 1; > + > + if (dev == NULL) { > + ENETFEC_PMD_ERR("Invalid device in link_update.\n"); Duplicated '\n'. > + return 0; > + } > + > + memset(&link, 0, sizeof(struct rte_eth_link)); > + > + link.link_status = lstatus; > + link.link_speed = ETH_SPEED_NUM_1G; > + > + ENETFEC_PMD_INFO("Port (%d) link is %s\n", dev->data->port_id, > + "Up"); > + > + return rte_eth_linkstatus_set(dev, &link); > +} > + > +static int > +enetfec_promiscuous_enable(__rte_unused struct rte_eth_dev *dev) 'dev' is used. <...> > +static int > +enetfec_stats_get(struct rte_eth_dev *dev, > + struct rte_eth_stats *stats) > +{ > + struct enetfec_private *fep = dev->data->dev_private; > + struct rte_eth_stats *eth_stats = &fep->stats; > + > + if (stats == NULL) > + return -1; No need to check this, ethdev layer already does. > + > + memset(stats, 0, sizeof(struct rte_eth_stats)); > + Same here, ethdev does this. <...> > + > + /* > + * Set default mac address > + */ > + macaddr.addr_bytes[0] = 1; > + macaddr.addr_bytes[1] = 1; > + macaddr.addr_bytes[2] = 1; > + macaddr.addr_bytes[3] = 1; > + macaddr.addr_bytes[4] = 1; > + macaddr.addr_bytes[5] = 1; if it is fixed, you can set the addr while declaring the variable: struct rte_ether_addr macaddr = { .addr_bytes = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 } }; <...> > index 0000000000..445fa97e77 > --- /dev/null > +++ b/drivers/net/enetfec/enet_rxtx.c > @@ -0,0 +1,445 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright 2021 NXP > + */ > + > +#include > +#include > +#include > +#include "enet_regs.h" > +#include "enet_ethdev.h" > +#include "enet_pmd_logs.h" > + > +#define ENETFEC_LOOPBACK 0 > +#define ENETFEC_DUMP 0 > + Instead of compile time flags, why not convert them to devargs so they can be updated without recompile? This also make sure all code is enabled and prevent possible dead code by time. <...> > + > +#if ENETFEC_LOOPBACK > +static volatile bool lb_quit; > + > +static void fec_signal_handler(int signum) > +{ > + if (signum == SIGINT || signum == SIGTSTP || signum == SIGTERM) { > + printf("\n\n %s: Signal %d received, preparing to exit...\n", > + __func__, signum); > + lb_quit = true; > + } > +} Not sure if handling signals in the driver is a good idea, this is more an application level desicion. Please remember that DPDK is library and this PMD is one of many PMDs in the library. Also please don't use 'printf' directly. > + > +static void > +enetfec_lb_rxtx(void *rxq1) > +{ > + struct rte_mempool *pool; > + struct bufdesc *rx_bdp = NULL, *tx_bdp = NULL; > + struct rte_mbuf *mbuf = NULL, *new_mbuf = NULL; > + unsigned short status; > + unsigned short pkt_len = 0; > + int index_r = 0, index_t = 0; > + u8 *data; > + struct enetfec_priv_rx_q *rxq = (struct enetfec_priv_rx_q *)rxq1; > + struct rte_eth_stats *stats = &rxq->fep->stats; > + unsigned int i; > + struct enetfec_private *fep; > + struct enetfec_priv_tx_q *txq; > + fep = rxq->fep->dev->data->dev_private; > + txq = fep->tx_queues[0]; > + > + pool = rxq->pool; > + rx_bdp = rxq->bd.cur; > + tx_bdp = txq->bd.cur; > + > + signal(SIGTSTP, fec_signal_handler); > + while (!lb_quit) { > +chk_again: > + status = rte_le_to_cpu_16(rte_read16(&rx_bdp->bd_sc)); > + if (status & RX_BD_EMPTY) { > + if (!lb_quit) > + goto chk_again; > + rxq->bd.cur = rx_bdp; > + txq->bd.cur = tx_bdp; > + return; > + } > + > + /* Check for errors. */ > + status ^= RX_BD_LAST; > + if (status & (RX_BD_LG | RX_BD_SH | RX_BD_NO | > + RX_BD_CR | RX_BD_OV | RX_BD_LAST | > + RX_BD_TR)) { > + stats->ierrors++; > + if (status & RX_BD_OV) { > + /* FIFO overrun */ > + ENETFEC_PMD_ERR("rx_fifo_error\n"); > + goto rx_processing_done; > + } > + if (status & (RX_BD_LG | RX_BD_SH > + | RX_BD_LAST)) { > + /* Frame too long or too short. */ > + ENETFEC_PMD_ERR("rx_length_error\n"); > + if (status & RX_BD_LAST) > + ENETFEC_PMD_ERR("rcv is not +last\n"); duplicated '\n', but more importantly this is datapath, are you sure to use debug logs in datapath? 'ENETFEC_DP_LOG' should be the to use in the datapath, since it is optimized out based on the default value it has, to not impact datapath.