From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752893AbdJMSSx (ORCPT ); Fri, 13 Oct 2017 14:18:53 -0400 Received: from mail.savoirfairelinux.com ([208.88.110.44]:46502 "EHLO mail.savoirfairelinux.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751835AbdJMSSw (ORCPT ); Fri, 13 Oct 2017 14:18:52 -0400 From: Vivien Didelot To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel@savoirfairelinux.com, "David S. Miller" , Florian Fainelli , Andrew Lunn , David Laight , Vivien Didelot Subject: [PATCH net-next v3 0/5] net: dsa: remove .set_addr Date: Fri, 13 Oct 2017 14:18:04 -0400 Message-Id: <20171013181809.14627-1-vivien.didelot@savoirfairelinux.com> X-Mailer: git-send-email 2.14.2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org An Ethernet switch may support having a MAC address, which can be used as the switch's source address in transmitted full-duplex Pause frames. If a DSA switch supports the related .set_addr operation, the DSA core sets the master's MAC address on the switch. This won't make sense anymore in a multi-CPU ports system, because there won't be a unique master device assigned to a switch tree. Moreover this operation is confusing because it makes the user think that it could be used to program the switch with the MAC address of the CPU/management port such that MAC address learning can be disabled on said port, but in fact, that's not how it is currently used. To fix this, assign a random MAC address at setup time in the mv88e6060 and mv88e6xxx drivers before removing .set_addr completely from DSA. Changes in v3: - include fix for mv88e6060 switch MAC address setter. Changes in v2: - remove .set_addr implementation from drivers and use a random MAC. Vivien Didelot (5): net: dsa: mv88e6xxx: setup random mac address net: dsa: mv88e6060: fix switch MAC address net: dsa: mv88e6060: setup random mac address net: dsa: dsa_loop: remove .set_addr net: dsa: remove .set_addr drivers/net/dsa/dsa_loop.c | 8 -------- drivers/net/dsa/mv88e6060.c | 37 ++++++++++++++++++++++++++----------- drivers/net/dsa/mv88e6xxx/chip.c | 33 +++++++++++++++++---------------- include/net/dsa.h | 1 - net/dsa/dsa2.c | 6 ------ net/dsa/legacy.c | 6 ------ 6 files changed, 43 insertions(+), 48 deletions(-) -- 2.14.2