From nobody Tue Feb 08 15:14:02 2022 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 00DE419C3A8E; Tue, 8 Feb 2022 15:14:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JtRP73fyGz4dfc; Tue, 8 Feb 2022 15:14:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1644333243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R6KjcqMjP2TWW97u741k9U9lwpcxK5Cxy17QBJ8v+qk=; b=l59HsPBAXMEYPSlnUKcRsHh4jeMqxvmutCe87BkS2h9ZBcQGUsxT1+ruvlGDQf7OFKq2Ql rlqIU6IjoAsmKBBpyuTq/R8Um0sG4HEegkthGXj5z2xUGeJWbCxCwjZYxE3YwvlyaDSSL2 wmdtZ44BioLIjUAWf4yLyDm0+cgfQ+6wCmny9hkisiW1Cs2/YxTwWsxvzcsPBJzeopqD4Y K9n8KZmr0J8w8VxCn3OC9f0Z4UBxfUnyvMQwqk8a5Uaa6azOmtT8s/3t6jMQOj7j8xjkuW V57NC7aL+z8DmPdYrBP9nkxfLVF83fkKshCIZCR47tp0vUcd1VVe5wv6SniYPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E5DF91BA6F; Tue, 8 Feb 2022 15:14:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 218FE2t9020764; Tue, 8 Feb 2022 15:14:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 218FE2WI020763; Tue, 8 Feb 2022 15:14:02 GMT (envelope-from git) Date: Tue, 8 Feb 2022 15:14:02 GMT Message-Id: <202202081514.218FE2WI020763@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Hans Petter Selasky Subject: git: 428331a8bf27 - stable/13 - mlx5en: Force all packets through the indirection table. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: hselasky X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 428331a8bf27862bb702261291cd805c99b4d249 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1644333243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R6KjcqMjP2TWW97u741k9U9lwpcxK5Cxy17QBJ8v+qk=; b=ael1ciGuX4c+3WE8ULp7jEPZx6hRmtjdDeIfpSuDUwNF0WJFpACBF0/OYSEOiTQdbYrJn6 TlxJCX6XApmOXfZExi3+DOF/Qm55j1UBjz42rxFgCO6/0pOwGcjP5fiK/INDMz9GJqqgpG 5WC6oYJmpS6nImIWe0AQ8unaeZ3bxoIgPnWS1wXVd2L2i3stPA7qMSwid9RVWNwjGgNoJR GVDMRCH5etlJSrPW5M+TG9SAfRlWZ338ybTf4YNMUaXHz641rJ7ztVhLlg2ITuKmHOCk5+ R/txX4VDjwl6ttqKxXCL0ZRxpdC1mpT755bw/Ia5YK5E6sAu1Aib8/655gJXOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1644333243; a=rsa-sha256; cv=none; b=sqZen0a0YaZkRDY0zIG+n3VPCTroRwK1svOzBOdsk3PTkByXly00fIVIcnbbj+/tB45XC7 mTlCaXxW4vIXOfeUkxBjJqZFgBVFqYYaaSXruums3N6j18Ga2lzloA8I7p5uK3fZYmB0Vw E2Pr7NUGEP0Qpe6zvNuCLbZiXSaTZuI1/mo7s9MKSSAZh8o9vK7JnJ8wP+YAI041LxMLxK Q2OLMUJDkbemywqDUas6CiGFje65NrmJ3i6e1QCo1nBAHNem3Q5ZSUAaWhx8+QI404lqU/ ABCYBVfxphDEPVciDNUowp/+n4V8XwqbzrZaI5DKwqEyCOMaLZ0BXVVGDlBLiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by hselasky: URL: https://cgit.FreeBSD.org/src/commit/?id=428331a8bf27862bb702261291cd805c99b4d249 commit 428331a8bf27862bb702261291cd805c99b4d249 Author: Hans Petter Selasky AuthorDate: 2022-02-08 15:08:53 +0000 Commit: Hans Petter Selasky CommitDate: 2022-02-08 15:08:53 +0000 mlx5en: Force all packets through the indirection table. All packets must go through the indirection table, RQT, because it is not possible to modify the RQN of the TIR for direct dispatchment after it is created, typically when the link goes up and down. Sponsored by: NVIDIA Networking (cherry picked from commit 06c2bd1872d637da6042da7059eb2800f3cbe4de) --- sys/dev/mlx5/mlx5_en/mlx5_en_main.c | 51 +++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c index 6a7e8ce606af..5d6bb78c4157 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c @@ -2910,37 +2910,32 @@ mlx5e_build_tir_ctx(struct mlx5e_priv *priv, u32 * tirc, int tt, bool inner_vxla if (inner_vxlan) MLX5_SET(tirc, tirc, tunneled_offload_en, 1); - /* setup parameters for hashing TIR type, if any */ - switch (tt) { - case MLX5E_TT_ANY: - MLX5_SET(tirc, tirc, disp_type, - MLX5_TIRC_DISP_TYPE_DIRECT); - MLX5_SET(tirc, tirc, inline_rqn, - priv->channel[0].rq.rqn); - break; - default: - MLX5_SET(tirc, tirc, disp_type, - MLX5_TIRC_DISP_TYPE_INDIRECT); - MLX5_SET(tirc, tirc, indirect_table, - priv->rqtn); - MLX5_SET(tirc, tirc, rx_hash_fn, - MLX5_TIRC_RX_HASH_FN_HASH_TOEPLITZ); - hkey = (__be32 *) MLX5_ADDR_OF(tirc, tirc, rx_hash_toeplitz_key); - - CTASSERT(MLX5_FLD_SZ_BYTES(tirc, rx_hash_toeplitz_key) >= - MLX5E_RSS_KEY_SIZE); + /* + * All packets must go through the indirection table, RQT, + * because it is not possible to modify the RQN of the TIR + * for direct dispatchment after it is created, typically + * when the link goes up and down. + */ + MLX5_SET(tirc, tirc, disp_type, + MLX5_TIRC_DISP_TYPE_INDIRECT); + MLX5_SET(tirc, tirc, indirect_table, + priv->rqtn); + MLX5_SET(tirc, tirc, rx_hash_fn, + MLX5_TIRC_RX_HASH_FN_HASH_TOEPLITZ); + hkey = (__be32 *) MLX5_ADDR_OF(tirc, tirc, rx_hash_toeplitz_key); + + CTASSERT(MLX5_FLD_SZ_BYTES(tirc, rx_hash_toeplitz_key) >= + MLX5E_RSS_KEY_SIZE); #ifdef RSS - /* - * The FreeBSD RSS implementation does currently not - * support symmetric Toeplitz hashes: - */ - MLX5_SET(tirc, tirc, rx_hash_symmetric, 0); + /* + * The FreeBSD RSS implementation does currently not + * support symmetric Toeplitz hashes: + */ + MLX5_SET(tirc, tirc, rx_hash_symmetric, 0); #else - MLX5_SET(tirc, tirc, rx_hash_symmetric, 1); + MLX5_SET(tirc, tirc, rx_hash_symmetric, 1); #endif - mlx5e_get_rss_key(hkey); - break; - } + mlx5e_get_rss_key(hkey); switch (tt) { case MLX5E_TT_IPV4_TCP: