From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E5E01A04C2 for ; Mon, 10 Aug 2020 12:56:12 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C94551C043; Mon, 10 Aug 2020 12:56:12 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id BB48025D9; Mon, 10 Aug 2020 12:56:09 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 07AAoiFt004311; Mon, 10 Aug 2020 03:56:09 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : content-type : mime-version; s=pfpt0818; bh=lvnVXFGkvS0vVqHf9QLL5nMyItpXUQ43RjoD+N2SAuE=; b=gVmdqfjxKVZkp8IyApzEiXcL0sxIjXC5pofg6Z+RCVfgSiDWyUXjugcRtsVZIUNfalbY KsAuWjdeYq5RBILBywIzTmsadDhuGDHiO3ak73eOmIFiXUaS2kimoeKN7/0abPDhmJvo oeFKqx60KINnLVuzVYirT/v9adaacdxeKPZhaztd0ZopXyxVUUopuRUHAUr/4L6kqf2m MyarD4CFE8kns3p500yWrdMYF6Snw1MxdgIdvCmNxW4f6mu9P5X0JaSc4hPdEM0cwoM/ fZgtMlBYuAKY0HUsvnMfYl0XdNxyMcVhKKwnF4gdwuLdO4eqDUuCozJItn5uuRAl96s2 Rw== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 32tgpkjv6b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 10 Aug 2020 03:56:08 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 10 Aug 2020 03:56:07 -0700 Received: from SC-EXCH04.marvell.com (10.93.176.84) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 10 Aug 2020 03:56:06 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Mon, 10 Aug 2020 03:56:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IM/NbLNapLak0iDgJ5ndxCKqb43CuzHpsy4MnPdvP/rDtNjVIG5qypUiR2ZRfa6YFIofWVkML1yeBpTrD66jVjbglthEeZW5P2xZoj4dEcXpiD4rvMOarM1MtfFmFf2DFMF2TAYiZiF0Zn8IwNXqt4jSjJmK0l55Al6jD0JTkpeaslgarWjpo9bh4xg7UgNS/iWWyA0IfOXxr4iJ8cL6OBl6bk5sImZa3v5w3nzXANn9i3fCtFt3g4BUc5yScG5/PGJ5G4gXyAbEGyL88TKs8cEih4ZcKfuHrjznLFI+DhlVSvW+QFq0Nnhp7nFkLyXP1V4vL5pyIhZe5CzbnUMEdA== 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-SenderADCheck; bh=lvnVXFGkvS0vVqHf9QLL5nMyItpXUQ43RjoD+N2SAuE=; b=LpDiyVG1cieKjLE5kzpFOR4CTyzc5Q5WwYF+MJBy3UP31rXVXyD+39mbc/IFgs0azoi/ISP4zgswUe8Ucl7cBOQCJAf5oOARBw6UmTxfI8yDku3lOgOwiAyUmzyhzbSqcDKv+gDC2Mpa0ZgOL1ri4mA2l0QylTlUYUYbXmuk1l5tdcF695A1B7jc+oLB+MGxaC7jJDmvuE2m8JOgIwCTyO0IBYCNT3wVB1x5ohpdpXqKFsu34Q5ok+h1P4/772XntLDTXc3sb4KYFdgbar+3UpJOZNb0x4zVttC3dJHNMhMnZSyA7TYOMLn0ohVNn992GkPYrlSAw7EId6ncprOG9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lvnVXFGkvS0vVqHf9QLL5nMyItpXUQ43RjoD+N2SAuE=; b=O9w2YdOV+SfTaEP6o972lz3DazRNmn7ZYF6mq0jAIbrcJYOtdlYL/duVMMaF9ixvfPpgo1yADZuIPE4Vc79BQDPxsii7k2UJ5lLvsN97vHkBEyCcrL9jR9rIEBC8axk6TNgpXWniJxMT1Y8yLnW6ZzzMBfM8ZFqDU5I1UL7JcTM= Received: from MWHPR18MB1070.namprd18.prod.outlook.com (2603:10b6:300:a5::11) by MWHPR18MB1071.namprd18.prod.outlook.com (2603:10b6:300:a1::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.20; Mon, 10 Aug 2020 10:56:04 +0000 Received: from MWHPR18MB1070.namprd18.prod.outlook.com ([fe80::3413:cb60:d87b:e66]) by MWHPR18MB1070.namprd18.prod.outlook.com ([fe80::3413:cb60:d87b:e66%9]) with mapi id 15.20.3261.024; Mon, 10 Aug 2020 10:56:03 +0000 From: Harman Kalra To: Jerin Jacob , Nithin Dabilpuram , Kiran Kumar K CC: , Harman Kalra , Date: Mon, 10 Aug 2020 16:25:45 +0530 Message-ID: <1597056945-23018-1-git-send-email-hkalra@marvell.com> X-Mailer: git-send-email 2.7.4 Content-Type: text/plain X-ClientProxiedBy: BMXPR01CA0006.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:d::16) To MWHPR18MB1070.namprd18.prod.outlook.com (2603:10b6:300:a5::11) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from hkarlara-OptiPlex-3046.marvell.com (115.113.156.2) by BMXPR01CA0006.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.3261.18 via Frontend Transport; Mon, 10 Aug 2020 10:56:01 +0000 X-Mailer: git-send-email 2.7.4 X-Originating-IP: [115.113.156.2] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e7189c99-319e-4904-9d82-08d83d1bf982 X-MS-TrafficTypeDiagnostic: MWHPR18MB1071: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1060; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LO2Sbdk0yAy/pRCGYlgMa6MV5KATlStMlg3IChN8E0xmLKsH3OFLNmdeVIEuDAeXaO6A4Qa/LEiNH+MAhjZ8cLcNUuSNMLnDmsfo3+G1g8cJmabWbfZjis+3dnLG7DrbWGBYg+IiSY2B+8n5shD3wM6P4esj60vT8yz2uaI6gw1CmseyWNQmNLM/ChmT4nOrWOrFIU2Wc2zyhVaMHXYdHKxH8KqoWiy5YJFdiVHfKs3GKD0ZrhxRnJ1vxXpIzi4ZJnY/dCX26HkfhxdogwCOrSKXm7Ztx9b3vikVLE826LCQUENh2/BsYG6M2zt4nzspJL9doI1xnpfnC3b9dcVwvg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR18MB1070.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39850400004)(396003)(376002)(346002)(366004)(136003)(186003)(6666004)(2906002)(956004)(55236004)(2616005)(16526019)(26005)(316002)(4326008)(52116002)(7696005)(83380400001)(8936002)(6486002)(66476007)(86362001)(66556008)(6636002)(66946007)(450100002)(8676002)(5660300002)(478600001)(36756003)(110136005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: inR+G2Irkjst6kHbllaTTcKen8c8QbzIDeWTnAKVWgbZ0K1Izj1qo45SmUWCuMcg+HyVIIbD+TqDgJvvVtZXV/C+jhc6oLwB3Jl3vvDjx6BrfyrDAtQRGFeTeZsC6461AW5iBV5Ym6UvFvy0o9mujhj1+Gx/Y8kSQxBcpjdhf4f6msswWywSlNKnYKQHCoOHb/gQJQmAJ7PKEinQ5kwww4B/x8rBbdiqMygumXkDhV00mJVwg2XnoWhppWNUyJwwzaKbW3AkLVXHuSFO2zs/A8lFU4gf0jtvdo3OzeWGq+7dqYpcBImIb8F2/3MsgArLAlguXtHKzgNGVd4LTfqthzkqUYxS5D/eyDy+8rGASWp0+koRypR82oJ0ol3vyz0IluYwArfldXXzNV4ZfFRiQlcmsJ6BhLUdjp51EwnDmgnk/RX33lCnp9vWpI5TGIF0EAoCgEjV0iqx3LMZ+E6yfZMQMeN2yOYbJ3+f/fhLUmUaakWnEofk7J/3gMNxymnU8zma3042GoWxE4tuKQNyb/RLB/aDjKxHyBlucm5SUEAmdTS51aHSmn764/MnDcbe3yH22on3k648UJloXCFTfODJT0lcvdJExMSL0OmqBcHxrk5Muzrw54XPJtdZNS9DP1otdMP8wPXiXBPUY2oIYg== X-MS-Exchange-CrossTenant-Network-Message-Id: e7189c99-319e-4904-9d82-08d83d1bf982 X-MS-Exchange-CrossTenant-AuthSource: MWHPR18MB1070.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2020 10:56:03.5991 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4R14D7yS+jlZ7/LC77MD1kP4HzDS4H3Trm9Gw41ypBM/YcTDgTzO9WLVOxFCzKBzwkdSE/ZjC9ac1i5VAt4xQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR18MB1071 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-08-10_06:2020-08-06, 2020-08-10 signatures=0 Subject: [dpdk-stable] [PATCH] net/octeontx2: fix multi seg mode for jumbo packets X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Scatter gather mode should get enabled: - If mbuf size is less than max received packet length. - MTU is reconfigured greater than mbuf size. Fixes: 0e2efd02db58 ("net/octeontx2: add MTU set operation") Cc: stable@dpdk.org Signed-off-by: Harman Kalra --- drivers/net/octeontx2/otx2_ethdev.c | 30 +++++++++++++++++++++++++ drivers/net/octeontx2/otx2_ethdev.h | 2 ++ drivers/net/octeontx2/otx2_ethdev_ops.c | 9 +------- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c index 33b72bd4d..bee1e2a76 100644 --- a/drivers/net/octeontx2/otx2_ethdev.c +++ b/drivers/net/octeontx2/otx2_ethdev.c @@ -657,6 +657,9 @@ otx2_nix_rx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t rq, } } + /* Setup scatter mode if needed by jumbo */ + otx2_nix_enable_mseg_on_jumbo(rxq); + return 0; free_rxq: @@ -878,6 +881,33 @@ nix_sqb_unlock(struct rte_mempool *mp) return 0; } +void +otx2_nix_enable_mseg_on_jumbo(struct otx2_eth_rxq *rxq) +{ + struct rte_pktmbuf_pool_private *mbp_priv; + struct rte_eth_dev *eth_dev; + struct otx2_eth_dev *dev; + uint32_t buffsz; + + eth_dev = rxq->eth_dev; + dev = otx2_eth_pmd_priv(eth_dev); + + /* Get rx buffer size */ + mbp_priv = rte_mempool_get_priv(rxq->pool); + buffsz = mbp_priv->mbuf_data_room_size - RTE_PKTMBUF_HEADROOM; + + if (eth_dev->data->dev_conf.rxmode.max_rx_pkt_len > buffsz) { + dev->rx_offloads |= DEV_RX_OFFLOAD_SCATTER; + dev->tx_offloads |= DEV_TX_OFFLOAD_MULTI_SEGS; + + /* Setting up the rx[tx]_offload_flags due to change + * in rx[tx]_offloads. + */ + dev->rx_offload_flags |= nix_rx_offload_flags(eth_dev); + dev->tx_offload_flags |= nix_tx_offload_flags(eth_dev); + } +} + static int nix_sq_init(struct otx2_eth_txq *txq) { diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h index e9efe52bb..11cdd8afd 100644 --- a/drivers/net/octeontx2/otx2_ethdev.h +++ b/drivers/net/octeontx2/otx2_ethdev.h @@ -437,6 +437,8 @@ int otx2_nix_set_mc_addr_list(struct rte_eth_dev *eth_dev, /* MTU */ int otx2_nix_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu); int otx2_nix_recalc_mtu(struct rte_eth_dev *eth_dev); +void otx2_nix_enable_mseg_on_jumbo(struct otx2_eth_rxq *rxq); + /* Link */ void otx2_nix_toggle_flag_link_cfg(struct otx2_eth_dev *dev, bool set); diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c index faecf216c..b36d37b9f 100644 --- a/drivers/net/octeontx2/otx2_ethdev_ops.c +++ b/drivers/net/octeontx2/otx2_ethdev_ops.c @@ -72,22 +72,15 @@ otx2_nix_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu) int otx2_nix_recalc_mtu(struct rte_eth_dev *eth_dev) { - struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev); struct rte_eth_dev_data *data = eth_dev->data; - struct rte_pktmbuf_pool_private *mbp_priv; struct otx2_eth_rxq *rxq; - uint32_t buffsz; uint16_t mtu; int rc; - /* Get rx buffer size */ rxq = data->rx_queues[0]; - mbp_priv = rte_mempool_get_priv(rxq->pool); - buffsz = mbp_priv->mbuf_data_room_size - RTE_PKTMBUF_HEADROOM; /* Setup scatter mode if needed by jumbo */ - if (data->dev_conf.rxmode.max_rx_pkt_len > buffsz) - dev->rx_offloads |= DEV_RX_OFFLOAD_SCATTER; + otx2_nix_enable_mseg_on_jumbo(rxq); /* Setup MTU based on max_rx_pkt_len */ mtu = data->dev_conf.rxmode.max_rx_pkt_len - NIX_L2_OVERHEAD; -- 2.18.0