From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id AC40EA0093;
	Mon,  7 Mar 2022 18:02:11 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 383AC40688;
	Mon,  7 Mar 2022 18:02:11 +0100 (CET)
Received: from inbox.dpdk.org (inbox.dpdk.org [95.142.172.178])
 by mails.dpdk.org (Postfix) with ESMTP id 940A14014E
 for <dev@dpdk.org>; Mon,  7 Mar 2022 18:02:09 +0100 (CET)
Received: by inbox.dpdk.org (Postfix, from userid 33)
 id 683F5A00BE; Mon,  7 Mar 2022 18:02:09 +0100 (CET)
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [Bug 953] Virtio Crypto Test failed
Date: Mon, 07 Mar 2022 17:02:09 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: DPDK
X-Bugzilla-Component: vhost/virtio
X-Bugzilla-Version: unspecified
X-Bugzilla-Keywords: 
X-Bugzilla-Severity: normal
X-Bugzilla-Who: roy.fan.zhang@intel.com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution: 
X-Bugzilla-Priority: Normal
X-Bugzilla-Assigned-To: dev@dpdk.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags: 
X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform
 op_sys bug_status bug_severity priority component assigned_to reporter
 target_milestone
Message-ID: <bug-953-3@http.bugs.dpdk.org/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.dpdk.org/
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All
MIME-Version: 1.0
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

https://bugs.dpdk.org/show_bug.cgi?id=3D953

            Bug ID: 953
           Summary: Virtio Crypto Test failed
           Product: DPDK
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: vhost/virtio
          Assignee: dev@dpdk.org
          Reporter: roy.fan.zhang@intel.com
  Target Milestone: ---

DPDK Virtio Crypto Test always fail.

RTE>>cryptodev_virtio_autotest
 + ------------------------------------------------------- +
 + Test Suite : Crypto VIRTIO Unit Test Suite
CRYPTODEV: elt_size 0 is expanded to 272

 + ------------------------------------------------------- +
SESSION: virtio_crypto_send_command(): Something wrong on backend! status=
=3D1,
session_id=3D0
SESSION: virtio_crypto_sym_configure_session(): create session failed: -1
CRYPTODEV: rte_cryptodev_sym_session_init() line 1744: dev_id 0 failed to
configure session details
  0) TestCase AES-128-CBC Encryption line 458 FAILED: Session creation fail=
ed
SESSION: virtio_crypto_send_command(): Something wrong on backend! status=
=3D1,
session_id=3D0
SESSION: virtio_crypto_sym_configure_session(): create session failed: -1
CRYPTODEV: rte_cryptodev_sym_session_init() line 1744: dev_id 0 failed to
configure session details
  1) TestCase AES-128-CBC Decryption line 458 FAILED: Session creation fail=
ed
SESSION: virtio_crypto_send_command(): Something wrong on backend! status=
=3D1,
session_id=3D0
SESSION: virtio_crypto_sym_configure_session(): create session failed: -1
CRYPTODEV: rte_cryptodev_sym_session_init() line 1744: dev_id 0 failed to
configure session details
  2) TestCase AES-192-CBC Encryption line 458 FAILED: Session creation fail=
ed
Device doesn't support out-of-place scatter-gather in input mbuf. Test Skip=
ped.
  3) TestCase AES-192-CBC Encryption Scater gather SKIPPED
SESSION: virtio_crypto_send_command(): Something wrong on backend! status=
=3D1,
session_id=3D0
SESSION: virtio_crypto_sym_configure_session(): create session failed: -1
CRYPTODEV: rte_cryptodev_sym_session_init() line 1744: dev_id 0 failed to
configure session details
  4) TestCase AES-192-CBC Decryption line 458 FAILED: Session creation fail=
ed
Device doesn't support in-place scatter-gather mbufs. Test Skipped.
  5) TestCase AES-192-CBC Decryption Scatter Gather SKIPPED
SESSION: virtio_crypto_sym_configure_session(): Couldn't get object from
session mempool
CRYPTODEV: rte_cryptodev_sym_session_init() line 1744: dev_id 0 failed to
configure session details
  6) TestCase AES-256-CBC Encryption line 458 FAILED: Session creation fail=
ed
SESSION: virtio_crypto_sym_configure_session(): Couldn't get object from
session mempool
CRYPTODEV: rte_cryptodev_sym_session_init() line 1744: dev_id 0 failed to
configure session details
  7) TestCase AES-256-CBC Decryption line 458 FAILED: Session creation fail=
ed
SESSION: virtio_crypto_sym_configure_session(): Couldn't get object from
session mempool
CRYPTODEV: rte_cryptodev_sym_session_init() line 1744: dev_id 0 failed to
configure session details
  8) TestCase AES-256-CBC OOP Encryption line 458 FAILED: Session creation
failed
SESSION: virtio_crypto_sym_configure_session(): Couldn't get object from
session mempool
CRYPTODEV: rte_cryptodev_sym_session_init() line 1744: dev_id 0 failed to
configure session details
  9) TestCase AES-256-CBC OOP Decryption line 458 FAILED: Session creation
failed

The initial research to the problem is caused by recent change made to vhost
library

Debug info in lib/vhost/vhost_crypto.c:

470             switch (ctx->msg.request.master) {
471             case VHOST_USER_CRYPTO_CREATE_SESS:
472                     vhost_crypto_create_sess(vcrypto,
473                                     &ctx->msg.payload.crypto_session);
474                     ctx->fd_num =3D 0;
475                     ret =3D RTE_VHOST_MSG_RESULT_REPLY;
476                     break;
477             case VHOST_USER_CRYPTO_CLOSE_SESS:
478                     if (vhost_crypto_close_sess(vcrypto,
ctx->msg.payload.u64))
479                             ret =3D RTE_VHOST_MSG_RESULT_ERR;
(gdb) p ctx->msg.request.master
$12 =3D 0
(gdb) p ctx->msg.request
$13 =3D {master =3D 0, slave =3D 0}
(gdb) l
480                     break;
481             default:
482                     ret =3D RTE_VHOST_MSG_RESULT_NOT_HANDLED;
483                     break;
484             }
485
486             return ret;

The code expect the request.master to be 26, but got 0 in the end.
This cause the switch fallen into default case and return not handled.
Looks like this problem is caused by this commit

commit 5e0099dc709e4abce167907e14335d8381f1944e
Author: Christophe Fontaine <cfontain@redhat.com>
Date:   Mon Feb 7 11:21:29 2022 +0100

    vhost: remove payload size limitation

    FDs at the end of the VhostUserMessage structure limits the size
    of the payload. Move them to an other englobing structure, before
    the header & payload of a VhostUserMessage.
    Also removes a reference to fds in the VHUMsg structure defined in
    drivers/net/virtio/virtio_user/vhost_user.c

    Signed-off-by: Christophe Fontaine <cfontain@redhat.com>
    Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
    Reviewed-by: David Marchand <david.marchand@redhat.com>

--=20
You are receiving this mail because:
You are the assignee for the bug.=