From patchwork Fri Jun 5 23:15:18 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrien Mazarguil X-Patchwork-Id: 5234 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id CD1E3C36E; Sat, 6 Jun 2015 01:16:27 +0200 (CEST) Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com [209.85.212.179]) by dpdk.org (Postfix) with ESMTP id 64C70C364 for ; Sat, 6 Jun 2015 01:16:26 +0200 (CEST) Received: by wiga1 with SMTP id a1so34707748wig.0 for ; Fri, 05 Jun 2015 16:16:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=gdwyFPlFIICe1NnUvyzY/AQDXmlO8RVirUMp7Q10ejQ=; b=ghDd4jxIaVVN8xTbDv4h+UKjq588A6N7OOcsk/J/4VdpTQ/SWaDPAhrsx6w+otflkV bdx5yUtqM4aNlMWQ+2DcAG/f7cHT2u6cc4e9m9K+HJ58I7JXS1z/jf38ePThZ576qxB5 EzkB8+A3bJnBKwZ+6qj0wwr2pvJP8A/xKiHrgYNp3/I4nl9ntPc9QQ99T3SBVyri1j7d lumVqskcTBrCN0pQhuxk49ZFwvJjikD1OnqLetLIjUF+Ni5y2jfqni3FZr62IreKkYWF 14YyHg9MSY7jeGEduH/8cH5eBr4YKCzB8O6L4l8pESNmY7hfxXvfVZZgmUMqK2ZVGMUe ajaA== X-Gm-Message-State: ALoCoQllPNmbI+cxiX4ehHpZhX2k+l1Czo8TVGWSqUJ1qRn4FHTn83keyybgZBFTNMOtCUgPoPCX X-Received: by 10.180.109.226 with SMTP id hv2mr987670wib.64.1433546185757; Fri, 05 Jun 2015 16:16:25 -0700 (PDT) Received: from 6wind.com (guy78-3-82-239-227-177.fbx.proxad.net. [82.239.227.177]) by mx.google.com with ESMTPSA id l6sm12577197wjz.4.2015.06.05.16.16.24 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 05 Jun 2015 16:16:25 -0700 (PDT) From: Adrien Mazarguil To: dev@dpdk.org Date: Sat, 6 Jun 2015 01:15:18 +0200 Message-Id: <1433546120-2254-15-git-send-email-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1433546120-2254-1-git-send-email-adrien.mazarguil@6wind.com> References: <1433546120-2254-1-git-send-email-adrien.mazarguil@6wind.com> Subject: [dpdk-dev] [PATCH 14/16] mlx4: remove provision for flow creation failure in DMFS A0 mode X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Or Ami Starting from MLNX_OFED 3.0 FW 2.34.5000 when working with optimized steering mode (-7) QPs can be attached to the port's MAC, therefore no need for the check. Signed-off-by: Or Ami Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index ab53c19..4c0294a 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -310,7 +310,6 @@ struct priv { uint8_t port; /* Physical port number. */ unsigned int started:1; /* Device started, flows enabled. */ unsigned int promisc:1; /* Device in promiscuous mode. */ - unsigned int promisc_ok:1; /* Promiscuous flow is supported. */ unsigned int allmulti:1; /* Device receives all multicast packets. */ unsigned int hw_qpg:1; /* QP groups are supported. */ unsigned int hw_tss:1; /* TSS is supported. */ @@ -2020,25 +2019,6 @@ rxq_mac_addr_add(struct rxq *rxq, unsigned int mac_index) errno = 0; flow = mlx_create_flow(rxq->qp, attr); if (flow == NULL) { - int err = errno; - - /* Flow creation failure is not fatal when in DMFS A0 mode. - * Ignore error if promiscuity is already enabled or can be - * enabled. */ - if (priv->promisc_ok) - return 0; - if ((rxq->promisc_flow != NULL) || - (rxq_promiscuous_enable(rxq) == 0)) { - if (rxq->promisc_flow != NULL) - rxq_promiscuous_disable(rxq); - WARN("cannot configure normal flow;" - " if optimized steering is enabled" - " (options mlx4_core log_num_mgm_entry_size=-7), " - " please check RN and QSG for more information."); - priv->promisc_ok = 1; - return 0; - } - errno = err; /* It's not clear whether errno is always set in this case. */ ERROR("%p: flow configuration failed, errno=%d: %s", (void *)rxq, errno,