From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <users-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id C32ED4296B
	for <public@inbox.dpdk.org>; Mon, 17 Apr 2023 10:16:26 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id CC52242D4B;
	Mon, 17 Apr 2023 10:15:42 +0200 (CEST)
Received: from APC01-PSA-obe.outbound.protection.outlook.com
 (mail-psaapc01on2085.outbound.protection.outlook.com [40.107.255.85])
 by mails.dpdk.org (Postfix) with ESMTP id 821504014F
 for <users@dpdk.org>; Thu, 13 Apr 2023 13:32:33 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=tatacommunications.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3CX4a7ZrVlc1ZEdvhSnn4fhuVEWUQmnhRU173a9N0zg=;
 b=bmMbKC+pl7Hs6qOspnV8LEMB9rdaN9IBYAjE/0Ia3/RIZv0V41o0r868JKPU0QN1Hjhdc9AJeq5MYuyoiF6eKubz/FD9/xsSjd/QUk9+aAP5+/xcVDiEH3PhOBxKIUh00VEGvZfNpPIVCs9hvKZ8ZJd4FRdEKCAHTj+bXCKw6oqXXrApmAyiE+R7zQAmmEkTjZbuftUIVaQwNy/DJgN84S/dUI9L2WiTX3pNgsx8b0At95XxHZUDd6Z6NXhQZSGlSA58I15gENbA9Aa8V8/0tiaRzZe9DbJ7LrbyJMSzGxaUGwvVkXw4GwI4SSU+PqoEWJhGgnL7kFc1KPLHUFtXeg==
Received: from TYCPR01CA0136.jpnprd01.prod.outlook.com (2603:1096:400:2b7::6)
 by KL1PR0401MB6610.apcprd04.prod.outlook.com (2603:1096:820:b8::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Thu, 13 Apr
 2023 11:32:30 +0000
Received: from TYZAPC01FT048.eop-APC01.prod.protection.outlook.com
 (2603:1096:400:2b7:cafe::cc) by TYCPR01CA0136.outlook.office365.com
 (2603:1096:400:2b7::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30 via Frontend
 Transport; Thu, 13 Apr 2023 11:32:30 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 52.62.169.21)
 smtp.mailfrom=tatacommunications.com; dkim=pass (signature was verified)
 header.d=tatacommunications.com;dmarc=pass action=none
 header.from=tatacommunications.com;
Received-SPF: Pass (protection.outlook.com: domain of tatacommunications.com
 designates 52.62.169.21 as permitted sender) receiver=protection.outlook.com; 
 client-ip=52.62.169.21; helo=sydapipop-haraka-inline00.vpc-a3a96cc4.ase2.shn; 
 pr=C
Received: from sydapipop-haraka-inline00.vpc-a3a96cc4.ase2.shn (52.62.169.21)
 by TYZAPC01FT048.mail.protection.outlook.com (10.118.152.77) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6298.32 via Frontend Transport; Thu, 13 Apr 2023 11:32:29 +0000
Received: from APC01-PSA-obe.outbound.protection.outlook.com
 (mail-psaapc01lp2047.outbound.protection.outlook.com [104.47.26.47])
 by sydapipop-haraka-inline00.vpc-a3a96cc4.ase2.shn (Haraka/2.8.24) with ESMTPS
 id 99CE791F-BBDC-465B-B9DA-58246F0B2FE0.1
 envelope-from <Sundararaman.Rajagopalan@tatacommunications.com>
 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 verify=FAIL);
 Thu, 13 Apr 2023 11:32:28 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Rdfk6Soiw8gCosScj/nYEVGTV3LKqYto8pHaYYcYwXeHzjxnUlzYCrIVtLX+VoZzQMNEqaJ2Cmr4OOsK3KQgQkLgOJsLrbCot/eVL5rnX9swb1wPykvuE3fjdkgfAYyszT0lI5+3Fw9ElKnWVEEZKXgVDw7BgmSmExpEvERI1kHkqTIGQYsZ89l84TZcU8pv2wwR6s7op4k8D06zg+ZnoIZUUzS5UjRSJfDVjTojkskPFmHh82CHLRjHytRNZHuAYJkxLnZ4bZKA5DX6U9RdptJGIO2HNX+bCAiMdKktE28NDytlKzO8pMhwM+K5IYVGnRXXgLENx4PedMnxyEydkA==
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=3CX4a7ZrVlc1ZEdvhSnn4fhuVEWUQmnhRU173a9N0zg=;
 b=dppLdQEecSkzMqv5D57LywMv4gmDbgPsI7oRMdijnf7uorjxQz+uAb0pNuMMciTPm+lXJvmqhCr4fEJ1OhS/0Ll2OkQtQAyzqsPnvGfzV+xUMV3ZOTAkWDtSl4wUQEnRQIx0dwmNN8RTXM0lMRljpRVSWt6tQASdOh0HdS6v3vzdpVZCVC4AsEt45N0o8JGnfkBLWdK4N6/Nrqe9e6neVaM42vAY6+sdbZav34D9U968/W5uU9NKCqIirEprhmG+Qm4yCO4rWuFMEbHfYfsxso9TDtF/1Lh3fvj0BwA6E0Ms2e/XXGpuqaU8Yfe+w06C9qCWaVAAFbNyzmAjf0S2gQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=tatacommunications.com; dmarc=pass action=none
 header.from=tatacommunications.com; dkim=pass
 header.d=tatacommunications.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=tatacommunications.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3CX4a7ZrVlc1ZEdvhSnn4fhuVEWUQmnhRU173a9N0zg=;
 b=bmMbKC+pl7Hs6qOspnV8LEMB9rdaN9IBYAjE/0Ia3/RIZv0V41o0r868JKPU0QN1Hjhdc9AJeq5MYuyoiF6eKubz/FD9/xsSjd/QUk9+aAP5+/xcVDiEH3PhOBxKIUh00VEGvZfNpPIVCs9hvKZ8ZJd4FRdEKCAHTj+bXCKw6oqXXrApmAyiE+R7zQAmmEkTjZbuftUIVaQwNy/DJgN84S/dUI9L2WiTX3pNgsx8b0At95XxHZUDd6Z6NXhQZSGlSA58I15gENbA9Aa8V8/0tiaRzZe9DbJ7LrbyJMSzGxaUGwvVkXw4GwI4SSU+PqoEWJhGgnL7kFc1KPLHUFtXeg==
Received: from PSAPR04MB4454.apcprd04.prod.outlook.com (2603:1096:301:3c::10)
 by SEYPR04MB5836.apcprd04.prod.outlook.com (2603:1096:101:80::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Thu, 13 Apr
 2023 11:32:26 +0000
Received: from PSAPR04MB4454.apcprd04.prod.outlook.com
 ([fe80::26b3:6c71:1a22:433d]) by PSAPR04MB4454.apcprd04.prod.outlook.com
 ([fe80::26b3:6c71:1a22:433d%7]) with mapi id 15.20.6298.030; Thu, 13 Apr 2023
 11:32:25 +0000
From: Sundararaman Rajagopalan
 <Sundararaman.Rajagopalan@tatacommunications.com>
To: "users@dpdk.org" <users@dpdk.org>
Subject: DPDK 20.11 compilation and testing with clang 5.0.0 compiler - reg.
Thread-Topic: DPDK 20.11 compilation and testing with clang 5.0.0 compiler -
 reg.
Thread-Index: AQHZbfsYEBZ2Aps1DE6WG/mFWQnb7A==
Date: Thu, 13 Apr 2023 11:32:25 +0000
Message-ID: <PSAPR04MB445427614FADF31ABDAF3144E5989@PSAPR04MB4454.apcprd04.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
msip_labels: MSIP_Label_5cbf6393-50e2-4904-bc3e-1804619f2b03_Enabled=True;
 MSIP_Label_5cbf6393-50e2-4904-bc3e-1804619f2b03_SiteId=20210462-2c5e-4ec8-b3e2-0be950f292ca;
 MSIP_Label_5cbf6393-50e2-4904-bc3e-1804619f2b03_SetDate=2023-04-13T11:32:25.367Z;
 MSIP_Label_5cbf6393-50e2-4904-bc3e-1804619f2b03_Name=General;
 MSIP_Label_5cbf6393-50e2-4904-bc3e-1804619f2b03_ContentBits=0;
 MSIP_Label_5cbf6393-50e2-4904-bc3e-1804619f2b03_Method=Privileged; 
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=tatacommunications.com;
x-ms-traffictypediagnostic: PSAPR04MB4454:EE_|SEYPR04MB5836:EE_|TYZAPC01FT048:EE_|KL1PR0401MB6610:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ca8a5e5-d8ce-4836-642a-08db3c12c407
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: o7Qu9PqrJQhTvtRLXZZdtsguGnHHJok/032E4v3FjtkmgVMKWStdivIaqUhYKmH4DM3zLLjIQSwYeNWoWvskUnZB4uC4txjC8d+DtbhtGtma3Sg1cEBlMIbYW+9v/ESz7CSFECw8PJIU9kZZ7J8nNtPUN/n/H1CHbMokEIvEaAcqjjHkT/2SP9j/JtoD/9SuueB4zlokgUhkwspG2biPTF5uEMjoRJ/WQZXoDW1tHA1IXK+B3J9+y6AnT9NR8ILAPP4H4EBmbZJWsfsVb3r0gKIbm9qJ53JKsNHfcB8lyEBldSp0YmYfVZg4/GmatNQoliXbB9L3UHeamqY+eTNM6qa5NnvFx/LpGA5e3BxERpCd9uBu+YqQGrYOPEavTfXehNFAUPqHqvrxdhsuudNzwgJXjb42hdke2ra76WPAfUzqV1xI+J5C64B/dXQhivpS0X6F4aIkUGpgBvXbgz34SSrpFm0AAtnmQCEPae0t2ass+hdw2RYOAELza4+HxdnyT3GLDZpxfM5h97P+b4FAAaSzYtv3Qu0Gp9sxvaN1dcryCEPdJZ4n1YUmqlkaKol0DfbLsQQ0ikAe/uQtgS3c5ORw488xWJqB8uaYbTD86a+nDXUqrcmoRFtsKrciiHLL
X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en;
 SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PSAPR04MB4454.apcprd04.prod.outlook.com;
 PTR:; CAT:NONE;
 SFS:(13230028)(4636009)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199021)(71200400001)(5660300002)(8936002)(478600001)(7696005)(64756008)(6916009)(41300700001)(8676002)(52536014)(76116006)(66946007)(66556008)(66476007)(66446008)(316002)(19627405001)(91956017)(9686003)(6506007)(55236004)(186003)(26005)(2906002)(55016003)(38100700002)(122000001)(33656002)(38070700005)(86362001);
 DIR:OUT; SFP:1101; 
Content-Type: multipart/alternative;
 boundary="_000_PSAPR04MB445427614FADF31ABDAF3144E5989PSAPR04MB4454apcp_"
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR04MB5836
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=tatacommunications.com;
X-SHN-DLP-SCAN: success
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: TYZAPC01FT048.eop-APC01.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs: 22f278c9-1ccf-434f-9363-08db3c12c1a6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: YDBDFVVDKhDqFuBbN1l0sH47nWufXdb615qQfsh2ux2evEDPqBRtzGC/fU078njGNrT95llfkYHS6M3hUxWeJpI/rC+RbYr+rfBnXb8SV4vjopJAdkYWrf35fbfNV62SbeaAappgM7ImNDh/OKEJ5BDVj3U11qOzlQ7balNBF72QyXUlJM7ZUR1i6CtEzcythuhtnj3w68dzm/vTxtJxbYyGFKZcxEk98Srgy2nRqRbV+QQY9SvOlMmgAEV3jzzbPmA3Ka3BlCdRKwXCzgg9a3Oc/TEz9ICVphxNYX1fA6SgeneWBSKAOTZrXhYbtlbM0X01pJ2MgMA8OeMF4HD7Dx21bLOW6QTsY2mhY065X8D/RFgFSmg9D6vzE4azSFf+YqDEA+IhseuVXBah2bnziDj9HdtXd51lv7O5jNw7nnfm4wDAGImrAu0Zj8kzrtXjC1qMuHbP7USxPmw4QTAQkcMfAfJaCyIahnx7jcyKcD9GlPLXzhh2rV8NhLOMJ6Rb/bpdhDGZB2StfVx/gE2zZ1y8RPWiMoEUPCaRkBAQUuEPE1xmb05mppMuBtG+Nc4ct5/OlIiLlmum9p2yr6GOrXSvohiYzfo1ZJqWmVPKy4yFh4Hq2YODKEyjVLU2R2i+PR+J9K98/Nlsh3xLQxMzsiqH/plewPu5onHkJADcy0ZAPXWXZpTwKSVOn+z74dn64Nj/3ozWf4N6Jy23lc9VCfl88JgOWLiJdctYg1sPESnrg3O16yQVRTvei2fcb9d/
X-Forefront-Antispam-Report: CIP:52.62.169.21; CTRY:AU; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:sydapipop-haraka-inline00.vpc-a3a96cc4.ase2.shn;
 PTR:send2.mail-inline.syd-pop.i-shn.net; CAT:NONE;
 SFS:(13230028)(4636009)(376002)(396003)(346002)(39860400002)(136003)(451199021)(40470700004)(36840700001)(46966006)(2906002)(19627405001)(8676002)(186003)(52536014)(81166007)(356005)(5660300002)(82740400003)(6916009)(8936002)(41300700001)(70206006)(70586007)(40460700003)(36860700001)(336012)(316002)(47076005)(82310400005)(55016003)(9686003)(26005)(40480700001)(6506007)(478600001)(33656002)(86362001)(7696005);
 DIR:OUT; SFP:1101; 
X-OriginatorOrg: tatacommunications.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2023 11:32:29.4579 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ca8a5e5-d8ce-4836-642a-08db3c12c407
X-MS-Exchange-CrossTenant-Id: 20210462-2c5e-4ec8-b3e2-0be950f292ca
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=20210462-2c5e-4ec8-b3e2-0be950f292ca; Ip=[52.62.169.21];
 Helo=[sydapipop-haraka-inline00.vpc-a3a96cc4.ase2.shn]
X-MS-Exchange-CrossTenant-AuthSource: TYZAPC01FT048.eop-APC01.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR0401MB6610
X-Mailman-Approved-At: Mon, 17 Apr 2023 10:15:39 +0200
X-BeenThere: users@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK usage discussions <users.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/users>,
 <mailto:users-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/users/>
List-Post: <mailto:users@dpdk.org>
List-Help: <mailto:users-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/users>,
 <mailto:users-request@dpdk.org?subject=subscribe>
Errors-To: users-bounces@dpdk.org

--_000_PSAPR04MB445427614FADF31ABDAF3144E5989PSAPR04MB4454apcp_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Team,

We are trying to compile and run dpdk 20.11 pipeline using clang (LLVM 5.0)=
 compiler. We are able to compile and run the pipeline. However, we observe=
d a lot of pkts not executing the acl lookup properly. While debugging, we =
found that a lot of pkts were missed in packets out mask. This aspect was c=
hecked with the rte_table_acl_lookup function in lib/librte_table/rte_table=
_acl.c file.

Here is the function:

static int
rte_table_acl_lookup(
    void *table,
    struct rte_mbuf **pkts,
    uint64_t pkts_mask,
    uint64_t *lookup_hit_mask,
    void **entries)
{
    struct rte_table_acl *acl =3D (struct rte_table_acl *) table;
    const uint8_t *pkts_data[RTE_PORT_IN_BURST_SIZE_MAX];
    uint32_t results[RTE_PORT_IN_BURST_SIZE_MAX];
    uint64_t pkts_out_mask;
    uint32_t n_pkts, i, j;

     __rte_unused uint32_t n_pkts_in =3D __builtin_popcountll(pkts_mask);
    RTE_TABLE_ACL_STATS_PKTS_IN_ADD(acl, n_pkts_in);

     /* Input conversion */
    for (i =3D 0, j =3D 0; i < (uint32_t)(RTE_PORT_IN_BURST_SIZE_MAX -
        __builtin_clzll(pkts_mask)); i++) {
        uint64_t pkt_mask =3D 1LLU << i;

         if (pkt_mask & pkts_mask) {
            pkts_data[j] =3D rte_pktmbuf_mtod(pkts[i], uint8_t *);
            j++;
        }
    }
    n_pkts =3D j;


    /* Low-level ACL table lookup */
    if (acl->ctx !=3D NULL)
        rte_acl_classify(acl->ctx, pkts_data, results, n_pkts, 1);
    else
        n_pkts =3D 0;


    /* Output conversion */
    pkts_out_mask =3D 0;
    for (i =3D 0; i < n_pkts; i++) {
        uint32_t action_table_pos =3D results[i];
        uint32_t pkt_pos =3D __builtin_ctzll(pkts_mask);
        uint64_t pkt_mask =3D 1LLU << pkt_pos;

         pkts_mask &=3D ~pkt_mask;

         if (action_table_pos !=3D 0) {
            pkts_out_mask |=3D pkt_mask;
            entries[pkt_pos] =3D (void *)
&acl->memory[action_table_pos *
                acl->entry_size];
            rte_prefetch0(entries[pkt_pos]);
        }
    }

     *lookup_hit_mask =3D pkts_out_mask;
    RTE_TABLE_ACL_STATS_PKTS_LOOKUP_MISS(acl, n_pkts_in - __builtin_popcoun=
tll(pkts_out_mask));

     return 0;
}

Can you provide some suggestions to avoid this issue and enable acl to run =
without functionality loss?

Thanks and regards,

R. Sundararaman

--_000_PSAPR04MB445427614FADF31ABDAF3144E5989PSAPR04MB4454apcp_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof ContentPasted0">
Hi Team,</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof ContentPasted0">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof ContentPasted0">
We are trying to compile and run dpdk 20.11 pipeline using clang (LLVM 5.0)=
 compiler. We are able to compile and run the pipeline. However, we observe=
d a lot of pkts not executing the acl lookup properly. While debugging, we =
found that a lot of pkts were missed
 in packets out mask. This aspect was checked with the rte_table_acl_lookup=
 function in lib/librte_table/rte_table_acl.c file.
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">Here is the function:</div>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">static int</div>
<div class=3D"ContentPasted0">rte_table_acl_lookup(</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; void *table,</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; struct rte_mbuf **pkts,</d=
iv>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; uint64_t pkts_mask,</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; uint64_t *lookup_hit_mask,=
</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; void **entries)</div>
<div class=3D"ContentPasted0">{</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; struct rte_table_acl *acl =
=3D (struct rte_table_acl *) table;</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; const uint8_t *pkts_data[R=
TE_PORT_IN_BURST_SIZE_MAX];</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; uint32_t results[RTE_PORT_=
IN_BURST_SIZE_MAX];</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; uint64_t pkts_out_mask;</d=
iv>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; uint32_t n_pkts, i, j;</di=
v>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">&nbsp; &nbsp; &nbsp;__rte_unused uint32_t n_p=
kts_in =3D __builtin_popcountll(pkts_mask);</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; RTE_TABLE_ACL_STATS_PKTS_I=
N_ADD(acl, n_pkts_in);</div>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">&nbsp; &nbsp; &nbsp;/* Input conversion */</d=
iv>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; for (i =3D 0, j =3D 0; i &=
lt; (uint32_t)(RTE_PORT_IN_BURST_SIZE_MAX -</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __=
builtin_clzll(pkts_mask)); i++) {</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ui=
nt64_t pkt_mask =3D 1LLU &lt;&lt; i;</div>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (pkt_mas=
k &amp; pkts_mask) {</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; pkts_data[j] =3D rte_pktmbuf_mtod(pkts[i], uint8_t *)=
;</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; j++;</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<=
/div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; }</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; n_pkts =3D j;</div>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">&nbsp;</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; /* Low-level ACL table loo=
kup */</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; if (acl-&gt;ctx !=3D NULL)=
</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rt=
e_acl_classify(acl-&gt;ctx, pkts_data, results, n_pkts, 1);</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; else</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n_=
pkts =3D 0;</div>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">&nbsp;</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; /* Output conversion */</d=
iv>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; pkts_out_mask =3D 0;</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; for (i =3D 0; i &lt; n_pkt=
s; i++) {</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ui=
nt32_t action_table_pos =3D results[i];</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ui=
nt32_t pkt_pos =3D __builtin_ctzll(pkts_mask);</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ui=
nt64_t pkt_mask =3D 1LLU &lt;&lt; pkt_pos;</div>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pkts_mask &=
amp;=3D ~pkt_mask;</div>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (action_=
table_pos !=3D 0) {</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; pkts_out_mask |=3D pkt_mask;</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; entries[pkt_pos] =3D (void *)</div>
<div class=3D"ContentPasted0">&amp;acl-&gt;memory[action_table_pos *</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; acl-&gt;entry_size];</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; rte_prefetch0(entries[pkt_pos]);</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<=
/div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; }</div>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">&nbsp; &nbsp; &nbsp;*lookup_hit_mask =3D pkts=
_out_mask;</div>
<div class=3D"ContentPasted0">&nbsp;&nbsp;&nbsp; RTE_TABLE_ACL_STATS_PKTS_L=
OOKUP_MISS(acl, n_pkts_in - __builtin_popcountll(pkts_out_mask));</div>
<div><br class=3D"ContentPasted0">
</div>
<div class=3D"ContentPasted0">&nbsp; &nbsp; &nbsp;return 0;</div>
<div class=3D"ContentPasted0">}</div>
<div><br class=3D"ContentPasted0">
</div>
Can you provide some suggestions to avoid this issue and enable acl to run =
without functionality loss?<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof ContentPasted0">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof ContentPasted0">
Thanks and regards,</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof ContentPasted0">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof ContentPasted0">
R. Sundararaman</div>
</body>
</html>

--_000_PSAPR04MB445427614FADF31ABDAF3144E5989PSAPR04MB4454apcp_--