From mboxrd@z Thu Jan 1 00:00:00 1970 From: York Sun Date: Tue, 22 Sep 2015 07:59:30 -0700 Subject: [U-Boot] [PATCH v3 00/16] Add more commands for VSC9953 L2 Switch In-Reply-To: <1437745979-14234-1-git-send-email-codrin.ciubotariu@freescale.com> References: <1437745979-14234-1-git-send-email-codrin.ciubotariu@freescale.com> Message-ID: <56016CD2.5010802@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 07/24/2015 06:52 AM, Codrin Ciubotariu wrote: > This patch set adds several features for VSC9953 L2 Switch: > - VLAN configuration; > - port statistics; > - FDB table operations; > - enable/disable HW learning; > - private/shared VLAN learning. > > Also, the parser needed to be changed to allow commands with optional parameters and to allow developers to easily add new commands. This set also creates a parser with generic commands for L2 Ethernet Switche drivers. > > Since new features are added, the default configuration had to be changed to: > - HW learning enabled on all ports; (HW default) > - All ports are in VLAN 1; > - All ports are VLAN aware; > - All ports have POP_COUNT 1; > - All ports have PVID 1; > - All ports have TPID 0x8100; (HW default) > - All ports tag frames classified to all VLANs that are not PVID; > > If the user decides to compile the VSC9953 driver without the support for commands, the above default configuration should be sufficient to make the L2 Switch work in unmanaged mode. > > New supported commands: > - show a port's statistics; > - enable/disable/show learning configuration on a port; > - add/delete a MAC entry in FDB; show the FDB table; > - add/remove a VLAN to/from a port (VLAN members); > - set/show PVID (ingress and egress VLAN tagging) for a port; > - set egress tagging mod for a port; > - configure VID source for egress tag; > - make VLAN learning shared or private; > - enable/disable VLAN ingress filtering on a port. > > Changes for v2: > - removed Change-id field; > - Added the patch that changes the License > at the end of the patch set for an easier > integration; > > Changes for v3: > - added a patch that creates a parser with generic commands for Ethernet switch drivers > - added a patch that adds new functions for working with bitfields; > - added a patch that exports a function that verifies if a string has the format of a MAC address > - added a patch to rename macros from vsc9953.h that started with "CONFIG_" > - added a patch with a bug fix fdone in the Cleanup patch > - all patches declare each variable on a line, without using tabs > - in the parser, the MAC address is no longer remembered dynamically, but statically > - the parser now returns CMD_RET_* macros instead of 1 and 0 > - small code fixes > > Codrin Ciubotariu (16): > drivers/net/vsc9953: Remove 'CONFIG_' from macros' name > drivers/net/vsc9953: Cleanup patch > drivers/net/vsc9953: Fix bug when enabling a port > drivers/net/vsc9953: Fix missing reserved register > include/bitfield: Add new bitfield operations > drivers/net/vsc9953: Add default configuration for VSC9953 L2 Switch > common/cmd_ethsw: Add generic commands for Ethernet Switches > drivers/net/vsc9953: Use the generic Ethernet Switch parser > drivers/net/vsc9953: Add command to show/clear port counters > drivers/net/vsc9953: Add commands to enable/disable HW learning > net/eth.c: Add function to validate a MAC address > drivers/net/vsc9953: Add commands to manipulate the FDB for VSC9953 > drivers/net/vsc9953: Add VLAN commands for VSC9953 > drivers/net/vsc9953: Add command for shared/private VLAN learning > drivers/net/vsc9953: Add commands for VLAN ingress filtering > drivers/net/vsc9953: Add GPL-2.0+ SPDX-License-Identifier > This set with updated patches are applied to fsl-qoriq master, awaiting upstream. [PATCH v4 11/16] common/env_flags.c: Add function to validate a MAC address - function eth_validate_ethaddr_str() has been moved to common/env_flags.c and its header to include/env_flags.h; - patch desription updated; [PATCH v4 12/16] drivers/net/vsc9953: Add commands to manipulate the FDB for VSC9953 - eth_validate_ethaddr_str() is now declared in include/env_flags.h instead of include/net.h so we have to include net.h instead of env_flags.h; York