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 C6B5BA052A; Wed, 23 Dec 2020 10:41:44 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 098DBCBA9; Wed, 23 Dec 2020 10:41:08 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 26D03CBA2 for ; Wed, 23 Dec 2020 10:41:07 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 0BN9UhZh002385 for ; Wed, 23 Dec 2020 01:41:05 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0220; bh=3PlM7EjXjavOWI8lUEXxAasBrG++Xdso6aOEsoNvL30=; b=QTJ3CCo9GQWPcAQvgJFjUqc8IpZ0haBpcGt8VzJhOllN26/CriM8qMTR7iVajNGbHyTd kUaEgZEgWDvhGenk0CFVdGQszNigWgG5aHijRYjh9zOBcRu/Gq3wEJPSH/Xv7Bgvpgc2 sWlrKGpuywEKxapTQ+5t91lcMo2VqCmh54VKARe35Mnt4iXAL9XuQU99bzmqc9XlOjVK AQIcsH655z/z+LeqdPuqoOP8SkBBD46klHUbWe4INXE10ajHhlyowth9hxqdlOviVrpg F8noMOMyEVUfgK3+n4WjhsGoh9LyoUweTqYvbr09zFpcKt2mam3CyBI3aIAkRzKhd+y1 SQ== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0b-0016f401.pphosted.com with ESMTP id 35k0hx5n6k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 23 Dec 2020 01:41:05 -0800 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 01:41:03 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.109) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 01:41:03 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fMvwFjGO48dAkyTUiYXRUhFtNSKJwk1ZwrMgqB3r58M5TruA2S/YEejDVbJU4oK4k4+k7gOtVIvavTQI0Gh14tAlUppTmMrCf5VMt/f/tPzP53rx5YYA9L0a6FxFebLAQnWgBiX8q8hXQbmxQ8HYrucOl2WNH1XlG7ToI6GNDod4e8pCoYlY+lYltClcY+FN+f7pXzM9enfyrPqJANtCZSWrq+IfR0jxoIDGk49Wc25owkK3AHiBZkBdxNnzuTfDB7GrkWDmJZm3CHyo+VUZz92tZcGZj/OANtS0SfwWrA6F3aNv4lTG0+u9/IpVU3s6d17bVddrsz+ZORlV5ZtlSA== 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=3PlM7EjXjavOWI8lUEXxAasBrG++Xdso6aOEsoNvL30=; b=f9VQlFn1lozQP9DsRH3AKyQ/E5b7d44RwDBh/KnqM2KcFe8TVfsZVfZ9UWZFOjIwOU7OTAbd3Q0FNwdQ0vm4yQjmyY/wPxAxbHBzAOPpCipcL+imdqtj/iJzO4veEStrAqFto4wcBIzvXWxSwLkfejhh9mqtoQQ+17yZqFvFdIKtIcsPiB2GW4dyoUb2Iq/CGX8fNS73JYtnQVU8qB7NMV2tUST2lCGzdbi2UQ7vVsVseMH2pQt2nDnJPiIDrkuRAYJUWx0IfQqP7M2U/8wFFfxi0akweNTVnzMgnqnXQh1Y/HT7J3ELl7lUj3F6UXmIkljH63wNc8TKnx/N9kgAhA== 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=3PlM7EjXjavOWI8lUEXxAasBrG++Xdso6aOEsoNvL30=; b=fOaQ2tzEgp0trDed3X1vjV1PhqlEat2Yw2FrRRsv2Mv7Aar8yXG5O60uI49uI12Uv1x1oWogmS1Mf8T77d8HiLtKj7sA16TRr9R0fywd7vetIOdaKCEWdbFYTFZrOhnNjZtv6kcDT1+W3S/p6SDjgIkpuBKgJtXdXhTbPkoJCqY= Received: from DM5PR1801MB2058.namprd18.prod.outlook.com (2603:10b6:4:67::31) by DM6PR18MB3603.namprd18.prod.outlook.com (2603:10b6:5:2a5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27; Wed, 23 Dec 2020 09:41:03 +0000 Received: from DM5PR1801MB2058.namprd18.prod.outlook.com ([fe80::303b:5c79:93c7:b432]) by DM5PR1801MB2058.namprd18.prod.outlook.com ([fe80::303b:5c79:93c7:b432%7]) with mapi id 15.20.3676.033; Wed, 23 Dec 2020 09:41:03 +0000 From: Michael Shamis To: Liron Himi , Jerin Jacob Kollanukkaran CC: "dev@dpdk.org" , Liron Himi Thread-Topic: [dpdk-dev] [PATCH v1 15/38] net/mvpp2: only use ol_flags for checksum generation offload Thread-Index: AQHWyJRrl6yU4Meaf0WTs0+XsXvMM6oEjkRQ Date: Wed, 23 Dec 2020 09:41:02 +0000 Message-ID: References: <20201202101212.4717-1-lironh@marvell.com> <20201202101212.4717-16-lironh@marvell.com> In-Reply-To: <20201202101212.4717-16-lironh@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [83.130.154.133] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8e6a89f1-1fe9-4670-1c7d-08d8a726dcf0 x-ms-traffictypediagnostic: DM6PR18MB3603: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FCgv6P5o90rGzP6zrvnYTcjJN/vLmrN12X8mEMTKfNwxWzivBO1NTa0WD4k2Zwi0mbNzkvjsKcO0j9MTuv6I7MLbGdx/28HrhbOjZe1JRo3US3nHGBDTt5QfmtMK485r4dRYJWEf1hQZb7aNwhNlR0nU0JuSGf4gfctHmjmt/vV8uIizxWk1JZLjGWS58WEu00SxIZEupjPHF6WTzic5cnKOAn3UKEJhgYPBQFT/XI0tpP2M9g+Kw1MCm4YxkrmNV10d27ZT0DQWd8jV93HiUfrJ+1qHLP0sWa6B51s5TqY0wRNsEhehal9n2zf28lYyHK2sTCL4HLgDUDgmuRQ6sXj4rR/oRWGuvmwVCnrt9+8H/nR2BOBFZj0+Tpd4yrI2 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR1801MB2058.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(66446008)(53546011)(54906003)(66556008)(52536014)(66476007)(66946007)(4326008)(5660300002)(64756008)(107886003)(33656002)(9686003)(6506007)(76116006)(55016002)(6636002)(86362001)(71200400001)(478600001)(7696005)(186003)(2906002)(110136005)(316002)(83380400001)(26005)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?HtOJa7o92XK837jOu5Pqpom/JBkexjj4cyWewTfASYHJ95IHRhKTBxwfIy0a?= =?us-ascii?Q?StC3U+0CjiUKfu5O3feqgctFDV3CSvKx82fqQ90AFWl7YXpcumpgh1TLdbLJ?= =?us-ascii?Q?NHF7FthPYAF+qvnyGglNYIOkK30G1ZRjHW8D6hsXbyYPTiN426hUwRnL6ExP?= =?us-ascii?Q?AUS+jCEfxyJavO84W/XmJN8G09/mbt3aEYJE5qgHxBYPyZ0EZmdGZICvzhyy?= =?us-ascii?Q?nloj9hEqBR0vfdJ4dVhw+6H6lTiGewTIa6iqCnsbysIHDplBHAfePPb3ErhS?= =?us-ascii?Q?s/XzzbKnKCBf0VRERCxGWNT38u27RvrkAA4uI26RZGs5bybcNNrhYASfF+6L?= =?us-ascii?Q?baKXkR12Jh5fj7ESrDT7tFQ2ccP+4942UC0bA/VQz3Ja6/7tLUvQnyaua6FM?= =?us-ascii?Q?nv6DH5voCEsBiZ5F7ZVfBGSr+DehyRQms223G/OZWH2Pu8f2542KUqYYVZU+?= =?us-ascii?Q?rKqxEHul9c5AHjEbtitwqrXkjaYM8jIa87yZzD/ggUnte2wqWkXuixPFvS0E?= =?us-ascii?Q?OICdCPnt/5xSW71+Jr20JPgTBBJo1z6ajZ+IHbcpGFAS2uqzWz21k+vTe4po?= =?us-ascii?Q?d3zHzTAQ56xSbfj1qfwEtCIECLmJvD1dAZk5S7/Mo79D00mpiz+QVKJ9rdk9?= =?us-ascii?Q?6ysTIGkzg0w2i7qB0HJxIEu5kN42VXB2WFgqi6jJlbv4j4dLW74gKEor6ctw?= =?us-ascii?Q?XWwhgJqrN7QSNiZvwENY1bW+NXanOcIZ2QBNDuGzTAzHCaUjWrcGpj5bJ/wJ?= =?us-ascii?Q?qFx0Sn85pJSOU8HVO8f56k+N1hzwC7cDIvUvKL0BjS5oLqX19Uv8+sBrB9uz?= =?us-ascii?Q?ch9tbZ/QextEXh3Jr3b44NY3j8RQIYEyDLFxGO6t6PXbZMW+UKinufsUjiRV?= =?us-ascii?Q?joL+y7M6Orlhjj/yq+4U2PqxPi0m9Fzm1pN9OIsHW2bstmfVRx+xqgXR9y3t?= =?us-ascii?Q?J/GA6tH2b+ZLU7MkEgawOFfYVi/4U63tJjT6NdR+l2o=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR1801MB2058.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e6a89f1-1fe9-4670-1c7d-08d8a726dcf0 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Dec 2020 09:41:02.8895 (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: oC3ZPu+OL3OToY+yJcAUlVtwL3r7XIMc+oZhhrNNOs6lHQhi3MhvUOkUHe2n6nx9JKz+6CT64W8LDyH2Q2k21Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB3603 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2020-12-23_04:2020-12-21, 2020-12-23 signatures=0 Subject: Re: [dpdk-dev] [PATCH v1 15/38] net/mvpp2: only use ol_flags for checksum generation offload X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Reviewed-by: Michael Shamis -----Original Message----- From: dev On Behalf Of lironh@marvell.com Sent: Wednesday, December 2, 2020 12:12 PM To: Jerin Jacob Kollanukkaran Cc: dev@dpdk.org; Liron Himi Subject: [dpdk-dev] [PATCH v1 15/38] net/mvpp2: only use ol_flags for check= sum generation offload From: Liron Himi according to the dpdk spec, only 'ol_flags' should be used for tx checksum generation Signed-off-by: Liron Himi Reviewed-by: Liron Himi --- drivers/net/mvpp2/mrvl_ethdev.c | 60 ++++++++++++++------------------- 1 file changed, 26 insertions(+), 34 deletions(-) diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethde= v.c index a87336a4c..a03d39aee 100644 --- a/drivers/net/mvpp2/mrvl_ethdev.c +++ b/drivers/net/mvpp2/mrvl_ethdev.c @@ -63,11 +63,16 @@ DEV_RX_OFFLOAD_CHECKSUM) =20 /** Port Tx offloads capabilities */ -#define MRVL_TX_OFFLOADS (DEV_TX_OFFLOAD_IPV4_CKSUM | \ - DEV_TX_OFFLOAD_UDP_CKSUM | \ - DEV_TX_OFFLOAD_TCP_CKSUM | \ +#define MRVL_TX_OFFLOAD_CHECKSUM (DEV_TX_OFFLOAD_IPV4_CKSUM | \ + DEV_TX_OFFLOAD_UDP_CKSUM | \ + DEV_TX_OFFLOAD_TCP_CKSUM) +#define MRVL_TX_OFFLOADS (MRVL_TX_OFFLOAD_CHECKSUM | \ DEV_TX_OFFLOAD_MULTI_SEGS) =20 +#define MRVL_TX_PKT_OFFLOADS (PKT_TX_IP_CKSUM | \ + PKT_TX_TCP_CKSUM | \ + PKT_TX_UDP_CKSUM) + static const char * const valid_args[] =3D { MRVL_IFACE_NAME_ARG, MRVL_CFG_ARG, @@ -2596,8 +2601,6 @@ mrvl_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkt= s, uint16_t nb_pkts) * * @param ol_flags * Offload flags. - * @param packet_type - * Packet type bitfield. * @param l3_type * Pointer to the pp2_ouq_l3_type structure. * @param l4_type @@ -2606,12 +2609,9 @@ mrvl_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pk= ts, uint16_t nb_pkts) * Will be set to 1 in case l3 checksum is computed. * @param l4_cksum * Will be set to 1 in case l4 checksum is computed. - * - * @return - * 0 on success, negative error value otherwise. */ -static inline int -mrvl_prepare_proto_info(uint64_t ol_flags, uint32_t packet_type, +static inline void +mrvl_prepare_proto_info(uint64_t ol_flags, enum pp2_outq_l3_type *l3_type, enum pp2_outq_l4_type *l4_type, int *gen_l3_cksum, @@ -2621,26 +2621,22 @@ mrvl_prepare_proto_info(uint64_t ol_flags, uint32_t= packet_type, * Based on ol_flags prepare information * for pp2_ppio_outq_desc_set_proto_info() which setups descriptor * for offloading. + * in most of the checksum cases ipv4 must be set, so this is the + * default value */ - if (ol_flags & PKT_TX_IPV4) { - *l3_type =3D PP2_OUTQ_L3_TYPE_IPV4; - *gen_l3_cksum =3D ol_flags & PKT_TX_IP_CKSUM ? 1 : 0; - } else if (ol_flags & PKT_TX_IPV6) { + *l3_type =3D PP2_OUTQ_L3_TYPE_IPV4; + *gen_l3_cksum =3D ol_flags & PKT_TX_IP_CKSUM ? 1 : 0; + + if (ol_flags & PKT_TX_IPV6) { *l3_type =3D PP2_OUTQ_L3_TYPE_IPV6; /* no checksum for ipv6 header */ *gen_l3_cksum =3D 0; - } else { - /* if something different then stop processing */ - return -1; } =20 - ol_flags &=3D PKT_TX_L4_MASK; - if ((packet_type & RTE_PTYPE_L4_TCP) && - ol_flags =3D=3D PKT_TX_TCP_CKSUM) { + if ((ol_flags & PKT_TX_L4_MASK) =3D=3D PKT_TX_TCP_CKSUM) { *l4_type =3D PP2_OUTQ_L4_TYPE_TCP; *gen_l4_cksum =3D 1; - } else if ((packet_type & RTE_PTYPE_L4_UDP) && - ol_flags =3D=3D PKT_TX_UDP_CKSUM) { + } else if ((ol_flags & PKT_TX_L4_MASK) =3D=3D PKT_TX_UDP_CKSUM) { *l4_type =3D PP2_OUTQ_L4_TYPE_UDP; *gen_l4_cksum =3D 1; } else { @@ -2648,8 +2644,6 @@ mrvl_prepare_proto_info(uint64_t ol_flags, uint32_t p= acket_type, /* no checksum for other type */ *gen_l4_cksum =3D 0; } - - return 0; } =20 /** @@ -2750,7 +2744,7 @@ mrvl_tx_pkt_burst(void *txq, struct rte_mbuf **tx_pkt= s, uint16_t nb_pkts) struct pp2_hif *hif; struct pp2_ppio_desc descs[nb_pkts]; unsigned int core_id =3D rte_lcore_id(); - int i, ret, bytes_sent =3D 0; + int i, bytes_sent =3D 0; uint16_t num, sq_free_size; uint64_t addr; =20 @@ -2794,11 +2788,10 @@ mrvl_tx_pkt_burst(void *txq, struct rte_mbuf **tx_p= kts, uint16_t nb_pkts) * in case unsupported ol_flags were passed * do not update descriptor offload information */ - ret =3D mrvl_prepare_proto_info(mbuf->ol_flags, mbuf->packet_type, - &l3_type, &l4_type, &gen_l3_cksum, - &gen_l4_cksum); - if (unlikely(ret)) + if (!(mbuf->ol_flags & MRVL_TX_PKT_OFFLOADS)) continue; + mrvl_prepare_proto_info(mbuf->ol_flags, &l3_type, &l4_type, + &gen_l3_cksum, &gen_l4_cksum); =20 pp2_ppio_outq_desc_set_proto_info(&descs[i], l3_type, l4_type, mbuf->l2_len, @@ -2848,7 +2841,7 @@ mrvl_tx_sg_pkt_burst(void *txq, struct rte_mbuf **tx_= pkts, struct pp2_ppio_sg_pkts pkts; uint8_t frags[nb_pkts]; unsigned int core_id =3D rte_lcore_id(); - int i, j, ret, bytes_sent =3D 0; + int i, j, bytes_sent =3D 0; int tail, tail_first; uint16_t num, sq_free_size; uint16_t nb_segs, total_descs =3D 0; @@ -2935,11 +2928,10 @@ mrvl_tx_sg_pkt_burst(void *txq, struct rte_mbuf **t= x_pkts, /* In case unsupported ol_flags were passed * do not update descriptor offload information */ - ret =3D mrvl_prepare_proto_info(mbuf->ol_flags, mbuf->packet_type, - &l3_type, &l4_type, &gen_l3_cksum, - &gen_l4_cksum); - if (unlikely(ret)) + if (!(mbuf->ol_flags & MRVL_TX_PKT_OFFLOADS)) continue; + mrvl_prepare_proto_info(mbuf->ol_flags, &l3_type, &l4_type, + &gen_l3_cksum, &gen_l4_cksum); =20 pp2_ppio_outq_desc_set_proto_info(&descs[tail_first], l3_type, l4_type, mbuf->l2_len, -- 2.28.0