staging: fsl-dpaa2/ethsw: Add README
Add a README file describing the driver architecture, components and interfaces. Signed-off-by: Razvan Stefanescu <razvan.stefanescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
282d4df215
commit
da13889821
|
@ -0,0 +1,106 @@
|
||||||
|
DPAA2 Ethernet Switch driver
|
||||||
|
============================
|
||||||
|
|
||||||
|
This file provides documentation for the DPAA2 Ethernet Switch driver
|
||||||
|
|
||||||
|
|
||||||
|
Contents
|
||||||
|
========
|
||||||
|
Supported Platforms
|
||||||
|
Architecture Overview
|
||||||
|
Creating an Ethernet Switch
|
||||||
|
Features
|
||||||
|
|
||||||
|
|
||||||
|
Supported Platforms
|
||||||
|
===================
|
||||||
|
This driver provides networking support for Freescale LS2085A, LS2088A
|
||||||
|
DPAA2 SoCs.
|
||||||
|
|
||||||
|
|
||||||
|
Architecture Overview
|
||||||
|
=====================
|
||||||
|
The Ethernet Switch in the DPAA2 architecture consists of several hardware
|
||||||
|
resources that provide the functionality. These are allocated and
|
||||||
|
configured via the Management Complex (MC) portals. MC abstracts most of
|
||||||
|
these resources as DPAA2 objects and exposes ABIs through which they can
|
||||||
|
be configured and controlled.
|
||||||
|
|
||||||
|
For a more detailed description of the DPAA2 architecture and its object
|
||||||
|
abstractions see:
|
||||||
|
drivers/staging/fsl-mc/README.txt
|
||||||
|
|
||||||
|
The Ethernet Switch is built on top of a Datapath Switch (DPSW) object.
|
||||||
|
|
||||||
|
Configuration interface:
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
| DPAA2 Switch driver |
|
||||||
|
---------------------
|
||||||
|
.
|
||||||
|
.
|
||||||
|
----------
|
||||||
|
| DPSW API |
|
||||||
|
----------
|
||||||
|
. software
|
||||||
|
================= . ==============
|
||||||
|
. hardware
|
||||||
|
---------------------
|
||||||
|
| MC hardware portals |
|
||||||
|
---------------------
|
||||||
|
.
|
||||||
|
.
|
||||||
|
------
|
||||||
|
| DPSW |
|
||||||
|
------
|
||||||
|
|
||||||
|
Driver uses the switch device driver model and exposes each switch port as
|
||||||
|
a network interface, which can be included in a bridge. Traffic switched
|
||||||
|
between ports is offloaded into the hardware. Exposed network interfaces
|
||||||
|
are not used for I/O, they are used just for configuration. This
|
||||||
|
limitation is going to be addressed in the future.
|
||||||
|
|
||||||
|
The DPSW can have ports connected to DPNIs or to PHYs via DPMACs.
|
||||||
|
|
||||||
|
|
||||||
|
[ethA] [ethB] [ethC] [ethD] [ethE] [ethF]
|
||||||
|
: : : : : :
|
||||||
|
: : : : : :
|
||||||
|
[eth drv] [eth drv] [ ethsw drv ]
|
||||||
|
: : : : : : kernel
|
||||||
|
========================================================================
|
||||||
|
: : : : : : hardware
|
||||||
|
[DPNI] [DPNI] [============= DPSW =================]
|
||||||
|
| | | | | |
|
||||||
|
| ---------- | [DPMAC] [DPMAC]
|
||||||
|
------------------------------- | |
|
||||||
|
| |
|
||||||
|
[PHY] [PHY]
|
||||||
|
|
||||||
|
For a more detailed description of the Ethernet switch device driver model
|
||||||
|
see:
|
||||||
|
Documentation/networking/switchdev.txt
|
||||||
|
|
||||||
|
Creating an Ethernet Switch
|
||||||
|
===========================
|
||||||
|
A device is created for the switch objects probed on the MC bus. Each DPSW
|
||||||
|
has a number of properties which determine the configuration options and
|
||||||
|
associated hardware resources.
|
||||||
|
|
||||||
|
A DPSW object (and the other DPAA2 objects needed for a DPAA2 switch) can
|
||||||
|
be added to a container on the MC bus in one of two ways: statically,
|
||||||
|
through a Datapath Layout Binary file (DPL) that is parsed by MC at boot
|
||||||
|
time; or created dynamically at runtime, via the DPAA2 objects APIs.
|
||||||
|
|
||||||
|
Features
|
||||||
|
========
|
||||||
|
Driver configures DPSW to perform hardware switching offload of
|
||||||
|
unicast/multicast/broadcast (VLAN tagged or untagged) traffic between its
|
||||||
|
ports.
|
||||||
|
|
||||||
|
It allows configuration of hardware learning, flooding, multicast groups,
|
||||||
|
port VLAN configuration and STP state.
|
||||||
|
|
||||||
|
Static entries can be added/removed from the FDB.
|
||||||
|
|
||||||
|
Hardware statistics for each port are provided through ethtool -S option.
|
Loading…
Reference in New Issue