Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp6238933iob; Tue, 10 May 2022 13:40:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJws0b7e2iiCX5DzDeSuq7tDbD+/IOL4tmqIAeT+EKtTddv87I2GuxsE1rkuCP8eVBSIOSVJ X-Received: by 2002:a05:6402:1cc1:b0:413:2b12:fc49 with SMTP id ds1-20020a0564021cc100b004132b12fc49mr24773636edb.118.1652215219986; Tue, 10 May 2022 13:40:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652215219; cv=none; d=google.com; s=arc-20160816; b=grKM8Y1g+uXXcDWTMJn70RinYLzJN+ma+k1bzQC9h7a+bMX0eB3DULipVGQH5N7sM7 e3RSL4LYA1K5SPBTNJIAZnlKzrH0ZxjmPMjZ9d6hBfny1Zles78IjjsaY6JevjBbaknx K/zSUU/VgZFgR0FIdgafHf036BxuEztQarxkSDNbvA3/6mc23eZ1Xo0aHKaRkYfGagRB 4il1N38aterp6/8Tv1N9m9f+pbJDjl3TrVep31PW01ZvC50Xh3wm+hgQOp8uWN9erryL 47KW25scWT8As+XZxN1TsIPcI/GsGpgpewYlmGeKkHIix3ABRcJgJkrcgcwlE77A9Txf /9UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=bNSEltjZpi2SxqsAn89mI3KJwgLzCMPONVdu2ilJ0ms=; b=Bv6Ofrn/y83O62B0+k57cHW9ttjC3ez0gLsqeKD+jOgibEMdGKuGe5j3tTHlTTDoL0 eHosHjs/lB6/r0SCu1DZHxic2gbGR61YRN+4WUrGF2Qdg6bf7pMAQfsJOnT5DbzTZHuX 4ZfWODKggJkQdbAtFr8U60Gxpr7IuOSHCqtAStOw43hf7Cf60LL6rUwPAUTSbWvwxGQc RH53Tp1YTG/zjWphgXB75V0fOnDG9NSpFpv3n+VmXOFMv7HHNNf12HtgFDP9v85CCKI9 xDcMuAI+uk6DUFquQ4slv7ipyByRnqCLq1nKGv4b+H3RF3ON8XXnqQM95A6MkubK0yig R7Ig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="Xx74pf/g"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f8-20020a170906048800b006f40efd4b88si267763eja.812.2022.05.10.13.39.54; Tue, 10 May 2022 13:40:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="Xx74pf/g"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243236AbiEJOEf (ORCPT + 99 others); Tue, 10 May 2022 10:04:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244773AbiEJNmI (ORCPT ); Tue, 10 May 2022 09:42:08 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 301AE6C0F6; Tue, 10 May 2022 06:30:31 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 59E406181B; Tue, 10 May 2022 13:30:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6436CC385A6; Tue, 10 May 2022 13:30:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1652189429; bh=g61op7ZwhDPVP/2KksLP31NrhdNotYN2BThA5StsoMo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Xx74pf/g8WlazmaPNJIKWHGatsAOoqs89VyCIwHYMbaBv+eYLDgLNJxCzUXKqTbCI E3W6o263vw6+kVoJIJEzmTxeqbM+jYqokr6zqmgoZaCaOfkGsD4+I4xDLdQ8c+nA1t EdFfdCZEyKVHs+HH7b5M/r+MDk/qtcBN97JKYW2Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vlad Buslov , Maor Dickman , Saeed Mahameed Subject: [PATCH 5.15 049/135] net/mlx5e: Dont match double-vlan packets if cvlan is not set Date: Tue, 10 May 2022 15:07:11 +0200 Message-Id: <20220510130741.805647965@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220510130740.392653815@linuxfoundation.org> References: <20220510130740.392653815@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Vlad Buslov commit ada09af92e621ab500dd80a16d1d0299a18a1180 upstream. Currently, match VLAN rule also matches packets that have multiple VLAN headers. This behavior is similar to buggy flower classifier behavior that has recently been fixed. Fix the issue by matching on outer_second_cvlan_tag with value 0 which will cause the HW to verify the packet doesn't contain second vlan header. Fixes: 699e96ddf47f ("net/mlx5e: Support offloading tc double vlan headers match") Signed-off-by: Vlad Buslov Reviewed-by: Maor Dickman Signed-off-by: Saeed Mahameed Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -2291,6 +2291,17 @@ static int __parse_cls_flower(struct mlx match.key->vlan_priority); *match_level = MLX5_MATCH_L2; + + if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CVLAN) && + match.mask->vlan_eth_type && + MLX5_CAP_FLOWTABLE_TYPE(priv->mdev, + ft_field_support.outer_second_vid, + fs_type)) { + MLX5_SET(fte_match_set_misc, misc_c, + outer_second_cvlan_tag, 1); + spec->match_criteria_enable |= + MLX5_MATCH_MISC_PARAMETERS; + } } } else if (*match_level != MLX5_MATCH_NONE) { /* cvlan_tag enabled in match criteria and