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 A2E4BA0524; Sun, 14 Mar 2021 11:05:38 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3B808160912; Sun, 14 Mar 2021 11:05:38 +0100 (CET) Received: from alexa-out-sd-01.qualcomm.com (alexa-out-sd-01.qualcomm.com [199.106.114.38]) by mails.dpdk.org (Postfix) with ESMTP id 0280522A385 for ; Wed, 10 Mar 2021 18:38:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=qti.qualcomm.com; i=@qti.qualcomm.com; q=dns/txt; s=qcdkim; t=1615397896; x=1646933896; h=from:to:cc:subject:date:message-id:mime-version; bh=/IF4A/nZjqQlwpJkOXeONlYNsjMyKoYLaj68FZh99zA=; b=cv2knsq/cSU0X7iqzR09wOSywHck0+5hA1H/Un+i4CGLmOwehw2QhtgW 1Tol6hfd2ugd3ExoFRorbEPOfN3vWImOhw3BathvuAksdEEtpc71ei5/C NUR9mmrNiEbWvGk8916c/79SduJLcpe9CSmuHEtSU06EYcvPIJK8OtuQO M=; Received: from unknown (HELO ironmsg01-sd.qualcomm.com) ([10.53.140.141]) by alexa-out-sd-01.qualcomm.com with ESMTP; 10 Mar 2021 09:38:15 -0800 X-QCInternal: smtphost Received: from nasanexm03h.na.qualcomm.com ([10.85.0.50]) by ironmsg01-sd.qualcomm.com with ESMTP/TLS/AES256-SHA; 10 Mar 2021 09:38:14 -0800 Received: from nasanexm03h.na.qualcomm.com (10.85.0.50) by nasanexm03h.na.qualcomm.com (10.85.0.50) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 10 Mar 2021 09:38:14 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (199.106.107.6) by nasanexm03h.na.qualcomm.com (10.85.0.50) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 10 Mar 2021 09:38:14 -0800 Received: from CY4PR0201MB3508.namprd02.prod.outlook.com (2603:10b6:910:8a::15) by CY4PR0201MB3570.namprd02.prod.outlook.com (2603:10b6:910:91::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17; Wed, 10 Mar 2021 17:38:12 +0000 Received: from CY4PR0201MB3508.namprd02.prod.outlook.com ([fe80::14f6:c11:8a47:f4e]) by CY4PR0201MB3508.namprd02.prod.outlook.com ([fe80::14f6:c11:8a47:f4e%3]) with mapi id 15.20.3890.038; Wed, 10 Mar 2021 17:38:12 +0000 From: Linfeng Li To: "dev@dpdk.org" CC: "john.griffin@intel.com" , "fiona.trahe@intel.com" , "deepak.k.jain@intel.com" , Steve Rizor , Emil Meng Thread-Topic: Behavior inconsistency in QAT PMD code Thread-Index: AdcV05ABbqh313VRTGmUk1qPpgwehg== Date: Wed, 10 Mar 2021 17:38:11 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=qti.qualcomm.com; x-originating-ip: [98.38.88.17] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 72d94cdd-80be-4823-a985-08d8e3eb4709 x-ms-traffictypediagnostic: CY4PR0201MB3570: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: efSz1Gx+m3bl8LYqYK9jETS35wVLFXt4B+xsDuYU92scMTUKJWBBiSs/lnOJvkkMe1se6zm2BCK4QTlplwNxTNZopbArQ0b6OQEsJDHHKvdUnymvGsyxzBJQccF41HUAf8L1iElWnHrR66oOfufzb8jloxr7o4LMD78Wgte5y3OYEXc5LYRgMz0gHDI+bGr86xUqR4n/0OhW3eQtlWZcCvQpXFz/NchJ6pUGb8DcuNmxTvxe6t4r+Yx8rs95zGGisuljV8avE9xMSolZZ2wdS/eK9XeZpaMkqIGruhdAtHOFprlj+apLD162NvAO43MTrWHdpBN5tzFWtecfKJShkBfwBChz+IfJUiwBSO6EANxZooRLBR8RNDVqn6zLs3RKEUraNQ2J39Cvg438fsus6QXIe5b5LnlJD+s/TXVQ7KhwPiPTOFYID/ZRn4nhktqc+mhRSNd9O8fX5fX/uegkIWaMW2BkC8F6lUQJOi5amZKz5FrMabrJFl4QguVnBy7dTu0bT4CRCAuiQnpcsUzxUH634G/QicUp8rpcu3BByeNkllKYPckkY7X3cH2aWM/ekPZUDd4/uRREIMHDfm4rLeV2RPn2WWub8iSoE+P7eNo= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR0201MB3508.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(396003)(136003)(366004)(39860400002)(376002)(478600001)(86362001)(7696005)(6916009)(2906002)(54906003)(8936002)(316002)(966005)(6506007)(71200400001)(66556008)(64756008)(26005)(66446008)(186003)(55016002)(4326008)(83380400001)(66946007)(66476007)(9326002)(9686003)(5660300002)(33656002)(76116006)(166002)(8676002)(107886003)(52536014); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?pdE7lVLTE0BPfL1Y3T1IAMVaoIzB3ERTeJRFuyF2W3KeZLgeZL7NATg66+fM?= =?us-ascii?Q?5sky2ltgMeIFHnuoX8ogIxdXEfasdudSDumngQ7XQpnhh9D6Rho2stljgtNL?= =?us-ascii?Q?JU0BQUIsc4eIm+FBjme00/RuNSACS0WQefzvLTZBVpnyAEkZssHrjxj/rvOo?= =?us-ascii?Q?rBDY4cLTEo/BJghfs9QYJ9nt5Or6C8paPruzIrsbnKP139LPPAp1ywfecNsM?= =?us-ascii?Q?XwfoZiQFGy//8oVvUpxxIDyuCgOAFUmVz1dYyBsZTzNc7V3Xvqbx1DLMV9J4?= =?us-ascii?Q?GVJc83zFqMnA+P2OhRD6FOy5QMzklC3wSQpNNKL4yPiK8kIma1Q3Pz3absDA?= =?us-ascii?Q?eC/xyYqx3hBglYF7VrLPM+u1Ad8C60iJvhVk4qbzhrp90YxPVagrOdvL4wpZ?= =?us-ascii?Q?hrtZe07D/7vA0lEDgwKjYrM1sqdpzMH3LHNflqDYqr8i+GQB62gbRYBiysH7?= =?us-ascii?Q?DFE/l65cdTt7kIHj5wLUV0dQe+PqDCVB7QaIArOYTsmfA+Ez9g1cyUs2v8KJ?= =?us-ascii?Q?JqaMmgKY8mjxRe0dXnN8R57QzPXAd2hl/+LNGwsQU5UyAwyaQMrj5WoyRRkS?= =?us-ascii?Q?nSiNbIojxcdPrTGu7GrvUbFKLA1XpdUlMR3yyJiCLYl71z7cmJK0hOw+8iMG?= =?us-ascii?Q?OqsSmMOcqv6IDxAAgLAKVLE83luwepPVibTzTL4fLOtE7n6EZM7akY0Jbqj6?= =?us-ascii?Q?HwgXLS2rZX0pPGzuRGyONlevWKddEFxldbKqTYEwKjnS6pNqZtX3BC5O5v8e?= =?us-ascii?Q?RfG4CKiR5FRyPxTK3jYlrpAhKDJP0M6iJdpEdADm8hkK8WkRcnJblY86LCe6?= =?us-ascii?Q?p+aNvw1fCwaugBgyao2bUAHomJvAVwumdgKPJsRTLCDxqzSdiyoIISbJtOxE?= =?us-ascii?Q?MAAAE/v2gF9//aSOQorrT8J0JYQxi9Gcx53yz1m4njuIeVRNnyNR/k/j1q4d?= =?us-ascii?Q?CM67ZMvzH1h8ZWbh5Y+hN3piPGY7uaO7BG2YU6geKf63SkZ0F0o25M/j7e3j?= =?us-ascii?Q?eYm9bEq/lOducUMuzpsgznEHRkd6KERyxQknIryM/kepZr+/FC7YYwuUKDRU?= =?us-ascii?Q?v9g6BmPShv1PHeW52B1ncwomwmOnXnmHiPKZT/eSNhVin0YFcFFbxGRQBWzD?= =?us-ascii?Q?lAp5MxNn71pFWBHVayrI5qyWdE0ALpDW9FvdsIspLzKjAOE0tOA1ic/2FofZ?= =?us-ascii?Q?pwYXOWeJEsA6T8b+vOH+l/vMgg+FTyRHQ4XP+yzny18+E+jMUSXDN5V71fyP?= =?us-ascii?Q?Nz8wbIEtXe/qfgP/Ljd2oV082e+KgHGLY7pencD0r0ay6YgeBebeEuRa/oGK?= =?us-ascii?Q?D/k=3D?= arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nurossuj3kgGxQiqPhGBS2LKpcjDFRopMnBRKc9frAhhcnyrZb5yhzFCln2DZc80LFgiGQIUvDi6oWwKlElC7ah17bHgBXfvcK/gyRpxnJQGoAROJY1VBKmc7Fbfn29EBsBEsrZfWSFNiF+dsZc/xcISUMuc1EPDgiRleQwlwah37mBX24eY8Pfg2qo0YfWSZdDoyp5vq0MF8/D6qqhzaEtHZwHwwmYsO/U792ky3yeL0ibvpdoxu5r+Gsr9cwGSUEJRikUg/vYl+xXmJym7I/Eh7Esm5t2jdKiqjsLgK3LC8Z8gV67utOMRwp0TZcyuXK5UsrWfSZE/Pm/w2jGWQg== 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=RhCZyiHkKEKvWMg+oZ1x2ExlUfr2A4MBqyxYbTSiptw=; b=hGrTaAAaOdkrv12N50Xbnx+Vzwj3t2M0nTveKWihlml31TnsgnnwtOyWXIDRpzlJg5xZs2hgSB0vnDx9Lr4mFTIIBLAO8/XEtfYJeQMfwEj66M06dOIn0KUK92tFwwPq/EVtaXkn0tiAGp3If8f+Wb/tddyX7uadZMpc/xD5XmwNLZGfik5lyZNyrzNv9CLbpGIL28MjaE6CiFRA9Z+NkBlbL80wY30ozwEd/7lh6tzeuqslZKSxOcAmrVI3pjB215PDvNaBl4vIg6uLIhjwib1UR2X4qaHYMB4Q98pL02fGCKlScbtvhPxvFwXIEYKF/hQmKOJOHBUBz2wLVAB00w== arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=qti.qualcomm.com; dmarc=pass action=none header.from=qti.qualcomm.com; dkim=pass header.d=qti.qualcomm.com; arc=none x-ms-exchange-crosstenant-authas: Internal x-ms-exchange-crosstenant-authsource: CY4PR0201MB3508.namprd02.prod.outlook.com x-ms-exchange-crosstenant-network-message-id: 72d94cdd-80be-4823-a985-08d8e3eb4709 x-ms-exchange-crosstenant-originalarrivaltime: 10 Mar 2021 17:38:11.1846 (UTC) x-ms-exchange-crosstenant-fromentityheader: Hosted x-ms-exchange-crosstenant-id: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d x-ms-exchange-crosstenant-mailboxtype: HOSTED x-ms-exchange-crosstenant-userprincipalname: jHkhPgVYtvUxpJMcNuh43V/285hEHywlJlODfTPTw4tC5lPFNe/Kp8T85AdxtQhoovKH2BDK4PoP+B9rQDUpUQ== x-ms-exchange-transport-crosstenantheadersstamped: CY4PR0201MB3570 x-originatororg: qti.qualcomm.com MIME-Version: 1.0 X-Mailman-Approved-At: Sun, 14 Mar 2021 11:05:37 +0100 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [dpdk-dev] Behavior inconsistency in QAT PMD code 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" Hi, We believe we found a behavior inconsistency based of different source mbuf= layout in the QAT PMD code. file link: https://github.com/DPDK/dpdk/blob/main/drivers/crypto/qat/qat_sy= m.c The inconsistent behavior happens when: * symmetric operation * out-of-place operation * encryption * do cipher + not do hash * cipher offset is non-zero inconsistent behavior: * scenario 1: When SGL is disabled; or when SGL is enabled, cipher = offset is smaller than the length of the first segment of the src mbuf chai= n o behavior: In dst mbuf, characters loacted in cipher offset is not copi= ed over from the src mbuf. ||| data_len:2 ||| ---chained---> ||| data_len:66 ||| src mbuf SGL: seg 1: 2 bytes(cipher_offset) seg 2: payload ||| data_len:2 ||| ---chained---> ||| data_len:66 ||| dst mbuf SGL: seg 1: 2 bytes copied over seg 2: ciphered payload * scenario 2: when SGL is enabled, cipher offset is larger than or = equal to the length of the first segment of the src mbuf chain o behavior: In dst mbuf, characters loacted in cipher offset is copied o= ver from the src mbuf. ||| data_len:68 ||| src mbuf LB: src: 2 bytes(cipher_offset) + payload in single mbuf ||| data_len:2 ||| ---chained---> ||| data_len:66 ||| dst mbuf SGL: seg 1: 2 bytes untouched seg 2: ciphered payload Actual packet data: Src mbuf 0xcc 0x33, 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 = 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20= 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 = 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 = 0x41 dst mbuf: in LB, out SGL (scenario 1) 0x00 0x00 0x9c 0xce 0x6e 0x14 0xee 0xe2 0x57 0x74 0xb4 0x71 0x7e 0x8e 0x60 0xe3 0xe9 = 0x76 0x96 0x88 0x55 0x51 0x13 0xda 0x5e 0xfa 0xcf 0xc8 0x34 0xa3 0x6c 0xd5 0xbb = 0xbb 0xd8 0x3a 0x6f 0x9e 0x74 0x42 0xa8 0x46 0xed 0xde 0x2c 0x98 0x83 0x49 0xde= 0x25 0xa8 0x62 0x3a 0xa1 0x84 0x3e 0x00 0x7b 0x0d 0x3e 0x80 0x5f 0x49 0x20 0x6e = 0x08 dst mbuf: in SGL, out SGL (scenario 2) 0xcc 0x33 0x9c 0xce 0x6e 0x14 0xee 0xe2 0x57 0x74 0xb4 0x71 0x7e 0x8e 0x60 0xe3 0xe9 = 0x76 0x96 0x88 0x55 0x51 0x13 0xda 0x5e 0xfa 0xcf 0xc8 0x34 0xa3 0x6c 0xd5 0xbb = 0xbb 0xd8 0x3a 0x6f 0x9e 0x74 0x42 0xa8 0x46 0xed 0xde 0x2c 0x98 0x83 0x49 0xde= 0x25 0xa8 0x62 0x3a 0xa1 0x84 0x3e 0x00 0x7b 0x0d 0x3e 0x80 0x5f 0x49 0x20 0x6e = 0x08 For the actual use case, we have header information preceding the payload a= nd the header should remain unencrypted in the dst mbuf. Therefore, we stro= ngly believe that the second scenario is the desired behavior. There are ca= ses where we do need to execute cipher only (which we can do today via a NU= LL hash). To attest to that claim, we tested this scenario where we enable the authen= tication operation with everything else being the same: * symmetric operation * out-of-place operation * encryption * do cipher + do hash * cipher offset is non-zero * auth offset is zero The content in dst mbuf located in the cipher offset is copied over from sr= c mbuf for both src mbuf layout. Actual packet data: Src mbuf 0xcc 0x33, 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 = 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20= 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 = 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 = 0x41 dst mbuf: Both in SGL, out SGL and in SGL, out SGL (both scenario 1 & 2) 0xcc 0x33 0x9c 0xce 0x6e 0x14 0xee 0xe2 0x57 0x74 0xb4 0x71 0x7e 0x8e 0x60 0xe3 0xe9 = 0x76 0x96 0x88 0x55 0x51 0x13 0xda 0x5e 0xfa 0xcf 0xc8 0x34 0xa3 0x6c 0xd5 0xbb = 0xbb 0xd8 0x3a 0x6f 0x9e 0x74 0x42 0xa8 0x46 0xed 0xde 0x2c 0x98 0x83 0x49 0xde= 0x25 0xa8 0x62 0x3a 0xa1 0x84 0x3e 0x00 0x7b 0x0d 0x3e 0x80 0x5f 0x49 0x20 0x6e = 0x08 0x50 0xa0 0x9f 0x15 Please let us know what your thoughts are about this issue and feel free to= contact us if there are any questions. Linfeng