linux/drivers/staging/fsl-dpaa2/ethsw/README
<<
>>
Prefs
   1DPAA2 Ethernet Switch driver
   2============================
   3
   4This file provides documentation for the DPAA2 Ethernet Switch driver
   5
   6
   7Contents
   8========
   9        Supported Platforms
  10        Architecture Overview
  11        Creating an Ethernet Switch
  12        Features
  13
  14
  15        Supported Platforms
  16===================
  17This driver provides networking support for Freescale LS2085A, LS2088A
  18DPAA2 SoCs.
  19
  20
  21Architecture Overview
  22=====================
  23The Ethernet Switch in the DPAA2 architecture consists of several hardware
  24resources that provide the functionality. These are allocated and
  25configured via the Management Complex (MC) portals. MC abstracts most of
  26these resources as DPAA2 objects and exposes ABIs through which they can
  27be configured and controlled.
  28
  29For a more detailed description of the DPAA2 architecture and its object
  30abstractions see:
  31        drivers/staging/fsl-mc/README.txt
  32
  33The Ethernet Switch is built on top of a Datapath Switch (DPSW) object.
  34
  35Configuration interface:
  36
  37          ---------------------
  38         | DPAA2 Switch driver |
  39          ---------------------
  40                   .
  41                   .
  42              ----------
  43             | DPSW API |
  44              ----------
  45                   .           software
  46 ================= . ==============
  47                   .           hardware
  48          ---------------------
  49         | MC hardware portals |
  50          ---------------------
  51                   .
  52                   .
  53                 ------
  54                | DPSW |
  55                 ------
  56
  57Driver uses the switch device driver model and exposes each switch port as
  58a network interface, which can be included in a bridge. Traffic switched
  59between ports is offloaded into the hardware. Exposed network interfaces
  60are not used for I/O, they are used just for configuration. This
  61limitation is going to be addressed in the future.
  62
  63The DPSW can have ports connected to DPNIs or to PHYs via DPMACs.
  64
  65
  66 [ethA]     [ethB]     [ethC]     [ethD]     [ethE]     [ethF]
  67    :          :          :          :          :          :
  68    :          :          :          :          :          :
  69[eth drv]  [eth drv]  [                ethsw drv              ]
  70    :          :          :          :          :          :        kernel
  71========================================================================
  72    :          :          :          :          :          :        hardware
  73 [DPNI]      [DPNI]     [============= DPSW =================]
  74    |          |          |          |          |          |
  75    |           ----------           |       [DPMAC]    [DPMAC]
  76     -------------------------------            |          |
  77                                                |          |
  78                                              [PHY]      [PHY]
  79
  80For a more detailed description of the Ethernet switch device driver model
  81see:
  82        Documentation/networking/switchdev.txt
  83
  84Creating an Ethernet Switch
  85===========================
  86A device is created for the switch objects probed on the MC bus. Each DPSW
  87has a number of properties which determine the configuration options and
  88associated hardware resources.
  89
  90A DPSW object (and the other DPAA2 objects needed for a DPAA2 switch) can
  91be added to a container on the MC bus in one of two ways: statically,
  92through a Datapath Layout Binary file (DPL) that is parsed by MC at boot
  93time; or created dynamically at runtime, via the DPAA2 objects APIs.
  94
  95Features
  96========
  97Driver configures DPSW to perform hardware switching offload of
  98unicast/multicast/broadcast (VLAN tagged or untagged) traffic between its
  99ports.
 100
 101It allows configuration of hardware learning, flooding, multicast groups,
 102port VLAN configuration and STP state.
 103
 104Static entries can be added/removed from the FDB.
 105
 106Hardware statistics for each port are provided through ethtool -S option.
 107