From patchwork Fri Dec 15 07:44:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 849038 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="A6G5T383"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yyjB61QyQz9s03 for ; Fri, 15 Dec 2017 18:44:29 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755012AbdLOHo0 (ORCPT ); Fri, 15 Dec 2017 02:44:26 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:34335 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754996AbdLOHoX (ORCPT ); Fri, 15 Dec 2017 02:44:23 -0500 Received: by mail-wm0-f68.google.com with SMTP id y82so29392943wmg.1 for ; Thu, 14 Dec 2017 23:44:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=QfyLQcf3fvPzNIz1aThGvfOxdnnqZYY4TvsWQqZyGe8=; b=A6G5T383LnGwX+0rJjNVeBNR+JXBjxYawfm3WyjRZtdLrOQmO9l0n6qQozSZcFrLC/ hJiDg/A1Doaa7tih/EL+onPyZYu8puURorX6ULUker0VXcfnF25LQuJZoTJLqQLp3Ule CcsKEPyqUMTUKq4SyCShfAzA4mlC2Dx3QqauZ0WnFG96g4lSKigbYS5Y5Tg4pKlSRngk Vp0dUjqYm5LEj1iWyWBzvNjP3akR4eOftRensZ9UxE4zZfQc+NPlpY9IFYpHGBvRovK9 FTXTL2HMhOkSeVLHe1qTEp7oWOWpQXyewCqdYjh/tYZrHv1emccECbCgKIF3WcseHt2X dGGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=QfyLQcf3fvPzNIz1aThGvfOxdnnqZYY4TvsWQqZyGe8=; b=NBJnmCZvhWRMn+hb0GV7HQcsSc/Z7paCjb/ru3c2KtnJIjsHFybq64Sxfx3knCbauP hOaPwsuuXyb7yiZCxFVadrZ1MqeeCg2q5S7hdnQCWLLdJusiO1t4nIvu9sQ0SyEcCNz3 Z8K4+apAeCcXlzTgzXdzR2w3xXkeBSfPEqgwWWBN/cX6OPTGIToeb9JKgdRyGbf5YmcB NUx85NH/F0Q4VN2t9l6+hZmEi/jpgqkMasLQfH9vetY9MYcdkZve8PKz47yqCi5DDfyt duORooPLsQBCHtzvbF9jkHHZLMOykctvrWE4F1PFaiJW6dJkRU2jabS/32XvlNwsMU/T l7Xg== X-Gm-Message-State: AKGB3mIwf9MK889b7K5mCYLChFvd9KQIxMieIA7MBA8ErsCDc6sV8g0W ZWFoym4jr0axW2VB4TrcLpFGjg0U X-Google-Smtp-Source: ACJfBoscBbAHE79a9mns3eGG+wMnrvUHZXrLT27OzthpIGcJFytE9+R629Hsp3ikO+cRcV4EBdDppg== X-Received: by 10.28.54.23 with SMTP id d23mr4694759wma.160.1513323862419; Thu, 14 Dec 2017 23:44:22 -0800 (PST) Received: from localhost (f190.dkm.cz. [62.24.70.190]) by smtp.gmail.com with ESMTPSA id 186sm6260342wmm.47.2017.12.14.23.44.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 14 Dec 2017 23:44:22 -0800 (PST) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, yuvalm@mellanox.com, idosch@mellanox.com, mlxsw@mellanox.com Subject: [patch net] mlxsw: spectrum: Disable MAC learning for ovs port Date: Fri, 15 Dec 2017 08:44:21 +0100 Message-Id: <20171215074421.2776-1-jiri@resnulli.us> X-Mailer: git-send-email 2.9.5 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Yuval Mintz Learning is currently enabled for ports which are OVS slaves - even though OVS doesn't need this indication. Since we're not associating a fid with the port, HW would continuously notify driver of learned [& aged] MACs which would be logged as errors. Fixes: 2b94e58df58c ("mlxsw: spectrum: Allow ports to work under OVS master") Signed-off-by: Yuval Mintz Reviewed-by: Ido Schimmel Signed-off-by: Jiri Pirko --- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c index 2d0897b..9bd8d28 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -4300,6 +4300,7 @@ static int mlxsw_sp_port_stp_set(struct mlxsw_sp_port *mlxsw_sp_port, static int mlxsw_sp_port_ovs_join(struct mlxsw_sp_port *mlxsw_sp_port) { + u16 vid = 1; int err; err = mlxsw_sp_port_vp_mode_set(mlxsw_sp_port, true); @@ -4312,8 +4313,19 @@ static int mlxsw_sp_port_ovs_join(struct mlxsw_sp_port *mlxsw_sp_port) true, false); if (err) goto err_port_vlan_set; + + for (; vid <= VLAN_N_VID - 1; vid++) { + err = mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, + vid, false); + if (err) + goto err_vid_learning_set; + } + return 0; +err_vid_learning_set: + for (vid--; vid >= 1; vid--) + mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, true); err_port_vlan_set: mlxsw_sp_port_stp_set(mlxsw_sp_port, false); err_port_stp_set: @@ -4323,6 +4335,12 @@ static int mlxsw_sp_port_ovs_join(struct mlxsw_sp_port *mlxsw_sp_port) static void mlxsw_sp_port_ovs_leave(struct mlxsw_sp_port *mlxsw_sp_port) { + u16 vid; + + for (vid = VLAN_N_VID - 1; vid >= 1; vid--) + mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, + vid, true); + mlxsw_sp_port_vlan_set(mlxsw_sp_port, 2, VLAN_N_VID - 1, false, false); mlxsw_sp_port_stp_set(mlxsw_sp_port, false);