From patchwork Mon Mar 22 20:25:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 406499 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 778E5C433C1 for ; Mon, 22 Mar 2021 20:26:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4772E61998 for ; Mon, 22 Mar 2021 20:26:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231561AbhCVUZ7 (ORCPT ); Mon, 22 Mar 2021 16:25:59 -0400 Received: from mail.kernel.org ([198.145.29.99]:58384 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231130AbhCVUZe (ORCPT ); Mon, 22 Mar 2021 16:25:34 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C4AFD6199F; Mon, 22 Mar 2021 20:25:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1616444734; bh=aHPgc33+AHGNs3q8SDrwa5+LQwCIXf/+56TPt0MJ/qw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TG8Umb9CPriCoGOjfMZVVg9aOCuHwE17NSbIOEHAvU5QIdmSXc8gweQQRvJ0/jY6K 41viHZiQ7HWd86liLhsYjKHUlWvA+1+uNK84tyPh1ZAIJZRO0iisNhSUIQp6Pl6yT/ 8+vs5H6wKVVuy5xBZtEwAZppVMpPcqZmU7XCSOIurKRmrs0fc7LJuppFxm2e5p3kKi p7lk/lWgWsoIYwtF4zpTJy44LrWZiSmrQ+Bokdf/kqsCtmKDdjgP+UX64OFpHHv7GM lsTsbndgBrG1Ttnn4y/ZyPyTWM5sSBSb0Do6KehfgKGPkvm66v1KHeyd+YclGEBj/P C+zwcGvIiXncw== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Alaa Hleihel , Roi Dayan , Saeed Mahameed Subject: [net 2/6] net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP Date: Mon, 22 Mar 2021 13:25:20 -0700 Message-Id: <20210322202524.68886-3-saeed@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210322202524.68886-1-saeed@kernel.org> References: <20210322202524.68886-1-saeed@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Alaa Hleihel Currently, we support hardware offload only for MPLS over UDP. However, rules matching on MPLS parameters are now wrongly offloaded for regular MPLS, without actually taking the parameters into consideration when doing the offload. Fix it by rejecting such unsupported rules. Fixes: 72046a91d134 ("net/mlx5e: Allow to match on mpls parameters") Signed-off-by: Alaa Hleihel Reviewed-by: Roi Dayan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 0cacf46dc950..3359098c51d4 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -2296,6 +2296,16 @@ static int __parse_cls_flower(struct mlx5e_priv *priv, *match_level = MLX5_MATCH_L4; } + /* Currenlty supported only for MPLS over UDP */ + if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_MPLS) && + !netif_is_bareudp(filter_dev)) { + NL_SET_ERR_MSG_MOD(extack, + "Matching on MPLS is supported only for MPLS over UDP"); + netdev_err(priv->netdev, + "Matching on MPLS is supported only for MPLS over UDP\n"); + return -EOPNOTSUPP; + } + return 0; }