• Ilias Apalodimas's avatar
    net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch · 111cf1ab
    Ilias Apalodimas authored
    CPSW switchdev based driver which is operating in dual-emac mode by
    default, thus working as 2 individual network interfaces. The Switch mode
    can be enabled by configuring devlink driver parameter "switch_mode" to 1:
    
    	devlink dev param set platform/48484000.switch \
    	name switch_mode value 1 cmode runtime
    
    This can be done regardless of the state of Port's netdevs - UP/DOWN, but
    Port's netdev devices have to be UP before joining the bridge to avoid
    overwriting of bridge configuration as CPSW switch driver completely
    reloads its configuration when first Port changes its state to UP.
    When the both interfaces joined the bridge - CPSW switch driver will start
    marking packets with offload_fwd_mark flag unless "ale_bypass=0".
    
    All configuration is implemented via switchdev API and notifiers.
    Supported:
     - SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS
     - SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS: BR_MCAST_FLOOD
     - SWITCHDEV_ATTR_ID_PORT_STP_STATE
     - SWITCHDEV_OBJ_ID_PORT_VLAN
     - SWITCHDEV_OBJ_ID_PORT_MDB
     - SWITCHDEV_OBJ_ID_HOST_MDB
    
    Hence CPSW switchdev driver supports:
    - FDB offloading
    - MDB offloading
    - VLAN filtering and offloading
    - STP
    Signed-off-by: default avatarIlias Apalodimas <ilias.apalodimas@linaro.org>
    Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    111cf1ab
cpsw_switchdev.c 14.3 KB