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.rst 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