^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) =======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) sja1105 devlink support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) =======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) This document describes the devlink features implemented
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) by the ``sja1105`` device driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) ==========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) .. list-table:: Driver-specific parameters implemented
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) :widths: 5 5 5 85
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) * - Name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - Type
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - Mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) - Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) * - ``best_effort_vlan_filtering``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - Boolean
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) - runtime
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - Allow plain ETH_P_8021Q headers to be used as DSA tags.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Benefits:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - Can terminate untagged traffic over switch net
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) devices even when enslaved to a bridge with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) vlan_filtering=1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - Can terminate VLAN-tagged traffic over switch net
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) devices even when enslaved to a bridge with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) vlan_filtering=1, with some constraints (no more than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 7 non-pvid VLANs per user port).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) - Can do QoS based on VLAN PCP and VLAN membership
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) admission control for autonomously forwarded frames
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) (regardless of whether they can be terminated on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) CPU or not).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) Drawbacks:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) - User cannot use VLANs in range 1024-3071. If the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) switch receives frames with such VIDs, it will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) misinterpret them as DSA tags.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - Switch uses Shared VLAN Learning (FDB lookup uses
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) only DMAC as key).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) - When VLANs span cross-chip topologies, the total
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) number of permitted VLANs may be less than 7 per
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) port, due to a maximum number of 32 VLAN retagging
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) rules per switch.