
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.
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.
Codrin Ciubotariu (10): drivers/net/vsc9953: Cleanup patch drivers/net/vsc9953: Fix missing reserved register drivers/net/vsc9953: Add default configuration for VSC9953 L2 Switch drivers/net/vsc9953: Refractor the parser for VSC9953 commands drivers/net/vsc9953: Add command to show/clear port counters drivers/net/vsc9953: Add commands to enable/disable HW learning 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.c | 2816 ++++++++++++++++++++++++++++++++++++++++++++++--- include/vsc9953.h | 265 ++++- 2 files changed, 2946 insertions(+), 135 deletions(-)