From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0089.outbound.protection.outlook.com [104.47.1.89]) by dpdk.org (Postfix) with ESMTP id 758545B2C for ; Tue, 5 Jun 2018 02:12:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gFOUw7Uoha+zAdaoR0neYsilgx9dAe88EHJ71wGUxOA=; b=ybhmMiiZLTaU9cAAxGvZuAjQth+v/7Q3pka+ehigtcQPjoBCWHnHkLjW88f7WhnD8jE6cf1uyYDhGtUMbGNN6txx3qk3wJOpb5aZgFXFYOr3CPPB/S4SoQNRvP5qn/rjycIjK3FUg5xkkHSj0FTUSXm6WX8V7SPTUdJ2Ac8+OTE= Received: from mellanox.com (209.116.155.178) by AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.11; Tue, 5 Jun 2018 00:12:13 +0000 From: Yongseok Koh To: yliu@fridaylinux.org Cc: stable@dpdk.org, shahafs@mellanox.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com, Moti Haimovsky Date: Mon, 4 Jun 2018 17:10:34 -0700 Message-Id: <20180605001129.13184-13-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180605001129.13184-1-yskoh@mellanox.com> References: <20180605001129.13184-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: CO1PR15CA0060.namprd15.prod.outlook.com (2603:10b6:101:1f::28) To AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM5PR0501MB2036; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 3:+ZoasVS9BLM9pmIvy2gUrbdtWouF7NWdvO6r6B3lAmscvkiRVAcXRGaiE7FlCy4XFlMGXflxf9rjqsMyA0yJU4latE87D0Lrt39QVYP11Brkn576PTWJtJ8HJSvD6Iv+HXWQd1FszWCnA+6ynbAeeYyA+iwyWlpYfLy6ajsVFBUMq7d/UOyF8nERLL/fw85+c8wdP5uFpFdLtGeYh+VNlLK3+rH/wbQgHpZ0L9TbE8n7IPeNoFsqn5IMa1u6kqjH; 25:dzngWTdU34PYnB50MXr1BPbvH+bujFH+qYKqTMLXIvYioqxbsTGAip322mrp7jRmavAjQ2uHNtLrdxqbIsUQxSbeC/tFNAeAhvw7tO8QcuypexrlOMLd3fTeITZQlrlIM1Rf8VDnWSHABAy1wFIm87/EW1CD+oa3rUZiIhh5swAal1bf/Bnm2q2MG4ozJZkd3c5zVZ9g4xhwCcMO1h5AAEW45fQP5WOwb3G2pCTi2/WCYBywr/3mMh8CI+er5AkPEjk1c8CkFldvnmDU4YX4kdCqXgAJQ59ge0TqXA6HmqUxT8P0b7RFhDPpLtBpneNX8CrRwjel4lyuLJbuujVkgA==; 31:G04dav+pVtFvBWjK+EeULdlv0cyEbUhQB70Bn82tAWFTlc1GBC2h1O2p+3ZCe8yw4aAAhr+LV4U944gaWY5Z4FjakuSNKNv8Ac2j9jkeIOxtWoTA4PtFztt+gek9pZS3HuWdjZe4p0jONERz59K09c99kWTKGmh5H5Kj2G7yQatUvp4h98Hxftmjjbmz+5HRw7sfNTklSVYC+IX5G2tevYg8Iu+3gppkc6IP+wYDeWo= X-MS-TrafficTypeDiagnostic: AM5PR0501MB2036: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 20:mquR67FUb2P7csOYT4KQvjUq27m/gqr89Mivggy28Z7Ybdy+ZftPpLX/DYbwurAxyVMnLBnyO4Y1hv1+QK9K+jLSTcdW7F2EoQC8COSLMIOkguv4RWkkmrE/Uegwley5rKFP079aMb/x9NwhDvCG9rjaAHbKvugfWcMknAUmPFmh66bq6xQAnruEYNEk2+Br1kytqfzwEhvwYM/hsmLrLAqHw0+bjW48zu6QA/m0GL+7L5VWftCE8kW5OK2vZXPRlSkiJOaf6+bAYYXWXu1avLvZXFm4Nq7SctkbnlL2SXf5eXxj2BYOKRqWlJlBpvXEEN+sO9s7NO46nCKi+E1q02NgXgvz+4/0Ku1KuZKe1Ur8+x70jpKejvYk93iakrbOTXwnUqCxUviBDv6Koaxsu03ocZNxoy02vhdNJslXxgAd/vfBZMXDos8REtpoVkOwjC6lJeEls7vGGmCPsNz9BWKymE+P9Pz40B/qk5T+q2aPJ8MWw1UtiwV1GvdM9U3Y; 4:6FUjzqA5LMOCQGdsP+NX2LJOeFEbhiuxdN/1alK/8zGEJGvlv0Cv84jWRo3gYAU7+mtPNUnh90Cecc+I/cZF/Fk1/1hTx2OJMxsKNEFszF4oK4MCW3Bi6iA/5klzrVS7/6Dmt16Imarwk3dN0POUWyD8o7ha6oJZiOvUIcgKu68D21GhCVE/qYGacG8FiIHnN6bAWJzSQFGl4nmJO9nD5zZ6Y+8+3lN0937eg7gjm+DQnL3EwdrWUvBV53/H5OTLlVJMbRylN7br9PX0IV57Sg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:AM5PR0501MB2036; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2036; X-Forefront-PRVS: 0694C54398 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(366004)(396003)(39860400002)(346002)(376002)(189003)(199004)(43544003)(478600001)(81156014)(76176011)(51416003)(7696005)(956004)(2361001)(50226002)(305945005)(2616005)(50466002)(47776003)(486006)(97736004)(5660300001)(6666003)(2351001)(106356001)(8936002)(186003)(81166006)(52116002)(6116002)(476003)(6916009)(386003)(446003)(11346002)(59450400001)(66066001)(26005)(3846002)(8676002)(16526019)(1076002)(25786009)(21086003)(86362001)(53936002)(107886003)(4326008)(2906002)(316002)(55016002)(36756003)(48376002)(105586002)(69596002)(68736007)(7736002)(16586007)(83323001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2036; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0501MB2036; 23:KddRTfuBbY5GmPsbRWwkXWKe3BLnxmFi77SqkBB?= =?us-ascii?Q?yQC7rjFGdplwMlkn+pNarmR5FbRlOJrX5nnbfIxjppB8KTm+4u2CGeX7SBLY?= =?us-ascii?Q?D56HqO9Y3MG6nLEXyoBSo0iTUtIta/zI4aGTZdjc80Oab+56rZfmjUqqDQWC?= =?us-ascii?Q?3hTjaq8YHWWasGYJ3wQUXKaEHwuStyddRBFk3Rums9UiIoeFyb4VetizrwTV?= =?us-ascii?Q?MJeCFUBcsVKVX2UG3W5WMvkSxYHw3ptwMfHDc+cWn9vkMFXu4700OaOH98v7?= =?us-ascii?Q?AQ0gTIFzzxIyfDRTplMijAcWsc22ONnzjtUpOcV2fl4maRVClPOhcwDODl27?= =?us-ascii?Q?xcdQrj06o2PiCBeLkFqLd0lcnEcf7lbvhvDAHUimegpu8HiWbx0QN/Wvidax?= =?us-ascii?Q?p2m66V/7txQ2ObtQOqJUEl7AAXPnY2WvtWD6TV/V0rCx63bMODix+YTsiLze?= =?us-ascii?Q?cA6p5FH2NzQxyuvsSNrt6VCgsmEaQvO+4eOdmIh2xW3tG36rpRNZp62Fypx9?= =?us-ascii?Q?t4ILbhjSgdk0QItFs2hcJEc8aH8C+w/4f5PEqFx92ictx38mcL0MMt89pOPX?= =?us-ascii?Q?v5Z5iUqXHpgMJcA4J4f52vqOLmIq8K7KHyJiVX0zGV5psiwry+CrFH27Uw1i?= =?us-ascii?Q?6mXffUJGXhQueliUDZ7FqHiZUAs4e+tByK/vZ41qfvHOSFXZuBCvq7/07oL+?= =?us-ascii?Q?nzNWvF3LUrcyOwgqDLSDshjVqwnbL8Uhn8oUYl08kFplvGbXYETJcK/l4D4P?= =?us-ascii?Q?Nqx7rlWhywd37NaqW63pNebCrNXd3+euqLw0O8NY343UvIzrse8+0hhInnw2?= =?us-ascii?Q?rJX/M42obPPfecror5bD4efA/NB0rewt+knq2D9cnQpvD8PUMmFtHmoeWhUi?= =?us-ascii?Q?qgs1SMwrkVPp+tP8XQJplluh19O5qlLX4s8B85qwRIvE3cvyJVgOQhIwCHya?= =?us-ascii?Q?+1+cw9RYp4bNj36lRda9rR9A2bvV/1qy74R3CpJf0kGZJVLP8pI0hZvnvNtP?= =?us-ascii?Q?JaVulbx9FAvxWjpA7XGsGtuLrvIGJWvFVitKhUQo9Mp3ye9fvH9L7hl3efTH?= =?us-ascii?Q?u9fGIEDBI61YnxoPR+AYxSEMIpTS8DB3qSJzcgmo1JE/uDBC61nyUGz4CsdS?= =?us-ascii?Q?2/iQ40erRn0MxQteYTqKFdDyJ6BWzzNCATLkQNNt+45hKCBKhMQhbpgn5rgF?= =?us-ascii?Q?aayraaTQ2AHJ66WS0hz2qbO8+V5GwroAXo1mqngwYOYrdDp22EEoOEuirQPu?= =?us-ascii?Q?4zSAj0TzYoecmYDnu4AmMvp77xWxGqxaVePO3gUIfdL5Ie/tSRe/947IzFfy?= =?us-ascii?Q?3SAkg8pMLV2oSGYhp2VjUtyTHgMmnHYLRp8G+CrywC62LXxsJfdcOXZSfNaM?= =?us-ascii?Q?v7MrB3A=3D=3D?= X-Microsoft-Antispam-Message-Info: uOj5Rq30BhJ9UJcswzRY6viKVP5pZyII8US1RWS3w8G5wmxkM9W1ufh+W8mtsIgiHtnQB+hVSuUcDf0ezFH3cVTgLIlL7MYCtULcT+It1/J+IHC3YohIxiRMVFHYRCDAMurh9D8kTxzCAqlB9zdaF+AIwt+YNgEpcIjThCKQV7U/VZx4pgeHXyO5nx8Jz3xq X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 6:4QRTrTtF3UpSifyzIWJByc0LZsklCl7XdkV7JjxQEcj1FKuyrLlPxlTs+b9Oc5sETtbNu3xFVF/DU4ls5cNNR7px+se+HWSjH5+nBmnykL0/M4r/3VdX8fw0RyAAnl/eaRtMKArIspHOIkO8mOQQ2fSu4hEBgsBp1wg77OIOwCqs4qHrlCYjApeuVGXuVFxutib74hZK6ACh7xzBBmUx+uXcno0RGYLhczgOf4jUXWCZhqK/sTQiKhSK98ExEm7kx1sio8goGmvbYtph4LwVhP6scA47nCji4mrc2IFAQen6TYWrXfREM1CqlyXo23QboLdTSwifswcoS/DJwZFDce+FSIbZMJBC11OB+Ub6z2D6092vuwvw+FCVPNN2gUXmKbvNfwwsp9qf6cL1drQDH0Kh/4a9UaWjHFqWBpv4/89YkIqrukEa62WQAhAo3Os5+8V8k2MVKCoQkkVL954d7A==; 5:DPpKsvYOdElS0jt8yuD28KkO/BVJdrSZwUlexvxVzJIThnyWFxtSOorivmdNLqWW27DMD8hn23vlgkXC391IFUZYdtJhXKvyqzRd+oE/fggB10js8Ic8Gw/n/TLbIUXtptAuGmlQJD5yXOksNBV0EYmeGHCahP5LUBaL9m/lO1A=; 24:PynsvkJO24WmycZEHOPWNXpFRxtq3DSF/h1G9euyvywJ9E3NP8r4ySlGF7Y1ODT2g/rrT4LjRe8xPpsU9SO1ptUsSAa/2DSDJrsyQ/F8fYI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 7:mz3ew8qQvLCcKAn9HjZIblCu9SS6fWYQSrdDKRBPjVf+zB9Scwx3zlyezj3mcu7MDxhWiqFe/9RDTvBcxQ5fBw1N1C7JDdk3eHarV4wJvP7nM+yBnALPyCqT9n8R3jTNvnBD13kj/SldpGzoMmiybwk0mgg2mRTmrhAjXa/gu6OO8PRtEnSzg9GZyxtZR81YQEEPDCciemgrES28qG5FcxrNTgnqkjM4aK99pNV3C/b4CxfJYgNdaiSKw/58ZyDe X-MS-Office365-Filtering-Correlation-Id: 233b265d-e2f5-4ac6-b6d0-08d5ca78fe56 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2018 00:12:13.6649 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 233b265d-e2f5-4ac6-b6d0-08d5ca78fe56 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2036 Subject: [dpdk-stable] [PATCH 12/67] net/mlx4: fix broadcast Rx X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jun 2018 00:12:16 -0000 From: Moti Haimovsky [ upstream commit 643958cf910f9d2b6a22307a331834a93722884d ] This patch fixes the issue of mlx4 not receiving broadcast packets when configured to work promiscuous or allmulticast modes. Fixes: eacaac7bae36 ("net/mlx4: restore promisc and allmulti support") Cc: stable@dpdk.org Signed-off-by: Moti Haimovsky Acked-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4_flow.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c index e81e24dbb..e8ebeebe3 100644 --- a/drivers/net/mlx4/mlx4_flow.c +++ b/drivers/net/mlx4/mlx4_flow.c @@ -1217,9 +1217,12 @@ mlx4_flow_internal_next_vlan(struct priv *priv, uint16_t vlan) * * Various flow rules are created depending on the mode the device is in: * - * 1. Promiscuous: port MAC + catch-all (VLAN filtering is ignored). - * 2. All multicast: port MAC/VLAN + catch-all multicast. - * 3. Otherwise: port MAC/VLAN + broadcast MAC/VLAN. + * 1. Promiscuous: + * port MAC + broadcast + catch-all (VLAN filtering is ignored). + * 2. All multicast: + * port MAC/VLAN + broadcast + catch-all multicast. + * 3. Otherwise: + * port MAC/VLAN + broadcast MAC/VLAN. * * About MAC flow rules: * @@ -1298,9 +1301,6 @@ mlx4_flow_internal(struct priv *priv, struct rte_flow_error *error) !priv->dev->data->promiscuous ? &vlan_spec.tci : NULL; - int broadcast = - !priv->dev->data->promiscuous && - !priv->dev->data->all_multicast; uint16_t vlan = 0; struct rte_flow *flow; unsigned int i; @@ -1334,7 +1334,7 @@ mlx4_flow_internal(struct priv *priv, struct rte_flow_error *error) rule_vlan = NULL; } } - for (i = 0; i != RTE_DIM(priv->mac) + broadcast; ++i) { + for (i = 0; i != RTE_DIM(priv->mac) + 1; ++i) { const struct ether_addr *mac; /* Broadcasts are handled by an extra iteration. */ @@ -1398,7 +1398,7 @@ mlx4_flow_internal(struct priv *priv, struct rte_flow_error *error) goto next_vlan; } /* Take care of promiscuous and all multicast flow rules. */ - if (!broadcast) { + if (priv->dev->data->promiscuous || priv->dev->data->all_multicast) { for (flow = LIST_FIRST(&priv->flows); flow && flow->internal; flow = LIST_NEXT(flow, next)) { -- 2.11.0