/Linux-v6.1/Documentation/ABI/stable/ |
D | sysfs-driver-dma-idxd | 1 What: /sys/bus/dsa/devices/dsa<m>/version 7 What: /sys/bus/dsa/devices/dsa<m>/cdev_major 14 What: /sys/bus/dsa/devices/dsa<m>/errors 20 What: /sys/bus/dsa/devices/dsa<m>/max_batch_size 26 What: /sys/bus/dsa/devices/dsa<m>/max_work_queues_size 32 What: /sys/bus/dsa/devices/dsa<m>/max_engines 38 What: /sys/bus/dsa/devices/dsa<m>/max_groups 44 What: /sys/bus/dsa/devices/dsa<m>/max_read_buffers 49 The read buffers represent resources within the DSA 51 support operations. See DSA spec v1.2 9.2.4 Total Read Buffers. [all …]
|
/Linux-v6.1/Documentation/networking/dsa/ |
D | dsa.rst | 5 This document describes the **Distributed Switch Architecture (DSA)** subsystem 23 or more CPU or management ports. The DSA subsystem currently relies on the 28 be later referred to as "master" and "cpu" in DSA terminology and code. 30 The D in DSA stands for Distributed, because the subsystem has been designed 33 ports are referred to as "dsa" ports in DSA terminology and code. A collection 36 For each front-panel port, DSA creates specialized network devices which are 39 interfaces in DSA terminology and code. 41 The ideal case for using DSA is when an Ethernet switch supports a "switch tag" 54 Note that DSA does not currently create network interfaces for the "cpu" and 55 "dsa" ports because: [all …]
|
D | configuration.rst | 4 DSA switch configuration from userspace 7 The DSA switch configuration is not integrated into the main userspace 15 To configure a DSA switch a couple of commands need to be executed. In this 32 Through DSA every port of a switch is handled like a normal linux Ethernet 42 - when a DSA slave interface is brought up, the master interface is 44 - when the master interface is brought down, all DSA slave interfaces are 88 DSA switches. These switches are capable to tag incoming and outgoing traffic 302 The existing DSA switches do not have the necessary hardware support to keep 308 Up until kernel v4.14, DSA only supported user space management of bridge FDB 319 Due to a bug, the bridge bypass FDB implementation provided by DSA did not [all …]
|
D | bcm_sf2.rst | 41 The driver is located in ``drivers/net/dsa/bcm_sf2.c`` and is implemented as a DSA 42 driver; see ``Documentation/networking/dsa/dsa.rst`` for details on the subsystem 49 ``net/dsa/tag_brcm.c``. 51 Overall, the SF2 driver is a fairly regular DSA driver; there are a few 57 The DSA platform device driver is probed using a specific compatible string 58 provided in ``net/dsa/dsa.c``. The reason for that is because the DSA subsystem gets 59 registered as a platform device driver currently. DSA will provide the needed 70 Broadcom switches connected to a SF2 require the use of the DSA slave MDIO bus 74 "double" programming. Using DSA, and setting ``ds->phys_mii_mask`` accordingly, we
|
D | b53.rst | 16 The driver is located in ``drivers/net/dsa/b53/`` and is implemented as a 17 DSA driver; see ``Documentation/networking/dsa/dsa.rst`` for details on the 24 ``net/dsa/tag_brcm.c``. 30 configuration described in the :ref:`dsa-config-showcases`. 36 DSA driver and will work like all DSA drivers which supports tagging. 38 See :ref:`dsa-tagged-configuration`. 48 The configuration slightly differ from the :ref:`dsa-vlan-configuration`. 54 In difference to the configuration described in :ref:`dsa-vlan-configuration`
|
D | lan9303.rst | 13 The driver is implemented as a DSA driver, see ``Documentation/networking/dsa/dsa.rst``. 15 See ``Documentation/devicetree/bindings/net/dsa/lan9303.txt`` for device tree 21 interfaces (which is the default state of a DSA device). Due to HW limitations,
|
/Linux-v6.1/scripts/coccinelle/api/debugfs/ |
D | debugfs_simple_attr.cocci | 18 @dsa@ 28 identifier dsa.dsa_fops; 35 identifier dsa.dsa_fops; 36 expression dsa.dsa_get, dsa.dsa_set, dsa.dsa_fmt; 43 identifier dsa.dsa_fops; 49 identifier dsa.dsa_fops; 50 expression dsa.dsa_get, dsa.dsa_set, dsa.dsa_fmt; 57 fops << dsa.dsa_fops; 58 p << dsa.p; 64 fops << dsa.dsa_fops; [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/net/ |
D | brcm,bcm7445-switch-v4.0.txt | 3 See dsa/brcm,bcm7445-switch-v4.0.yaml for the documentation. 7 - dsa,mii-bus: phandle to the MDIO bus controller, see dsa/dsa.txt 8 - dsa,ethernet: phandle to the CPU network interface controller, see dsa/dsa.txt 9 - #address-cells: must be 2, see dsa/dsa.txt 11 Example using the old DSA DeviceTree binding:
|
D | hisilicon-hns-dsaf.txt | 1 Hisilicon DSA Fabric device controller 7 - mode: dsa fabric mode string. only support one of dsaf modes like these: 12 - interrupts: should contain the DSA Fabric and rcb interrupt. 21 The fourth region is dsa fabric base register and size. It is not required for 58 dsaf0: dsa@c7000000 {
|
/Linux-v6.1/drivers/net/ethernet/marvell/prestera/ |
D | prestera_dsa.c | 34 int prestera_dsa_parse(struct prestera_dsa *dsa, const u8 *dsa_buf) in prestera_dsa_parse() argument 62 dsa->vlan.is_tagged = FIELD_GET(PRESTERA_DSA_W0_IS_TAGGED, words[0]); in prestera_dsa_parse() 63 dsa->vlan.cfi_bit = FIELD_GET(PRESTERA_DSA_W1_CFI_BIT, words[1]); in prestera_dsa_parse() 64 dsa->vlan.vpt = FIELD_GET(PRESTERA_DSA_W0_VPT, words[0]); in prestera_dsa_parse() 65 dsa->vlan.vid = FIELD_GET(PRESTERA_DSA_W0_VID, words[0]); in prestera_dsa_parse() 66 dsa->vlan.vid &= ~PRESTERA_DSA_VID; in prestera_dsa_parse() 67 dsa->vlan.vid |= FIELD_PREP(PRESTERA_DSA_VID, field); in prestera_dsa_parse() 71 dsa->hw_dev_num = FIELD_GET(PRESTERA_DSA_W0_DEV_NUM, words[0]); in prestera_dsa_parse() 72 dsa->hw_dev_num |= FIELD_PREP(PRESTERA_DSA_DEV_NUM, field); in prestera_dsa_parse() 74 dsa->port_num = (FIELD_GET(PRESTERA_DSA_W0_PORT_NUM, words[0]) << 0) | in prestera_dsa_parse() [all …]
|
D | prestera_dsa.h | 12 /* DSA command is "To CPU" */ 15 /* DSA command is "From CPU" */ 33 int prestera_dsa_parse(struct prestera_dsa *dsa, const u8 *dsa_buf); 34 int prestera_dsa_build(const struct prestera_dsa *dsa, u8 *dsa_buf);
|
D | prestera_rxtx.c | 219 struct prestera_dsa dsa; in prestera_rxtx_process_skb() local 226 /* ethertype field is part of the dsa header */ in prestera_rxtx_process_skb() 227 err = prestera_dsa_parse(&dsa, skb->data - ETH_TLEN); in prestera_rxtx_process_skb() 231 dev_id = dsa.hw_dev_num; in prestera_rxtx_process_skb() 232 hw_port = dsa.port_num; in prestera_rxtx_process_skb() 244 /* remove DSA tag and update checksum */ in prestera_rxtx_process_skb() 254 if (dsa.vlan.is_tagged) { in prestera_rxtx_process_skb() 255 u16 tci = dsa.vlan.vid & VLAN_VID_MASK; in prestera_rxtx_process_skb() 257 tci |= dsa.vlan.vpt << VLAN_PRIO_SHIFT; in prestera_rxtx_process_skb() 258 if (dsa.vlan.cfi_bit) in prestera_rxtx_process_skb() [all …]
|
/Linux-v6.1/drivers/net/dsa/ |
D | Kconfig | 5 source "drivers/net/dsa/b53/Kconfig" 20 tristate "DSA mock-up Ethernet switch chip support" 24 exercises the DSA APIs. 26 source "drivers/net/dsa/hirschmann/Kconfig" 51 source "drivers/net/dsa/microchip/Kconfig" 53 source "drivers/net/dsa/mv88e6xxx/Kconfig" 55 source "drivers/net/dsa/ocelot/Kconfig" 57 source "drivers/net/dsa/qca/Kconfig" 59 source "drivers/net/dsa/sja1105/Kconfig" 61 source "drivers/net/dsa/xrs700x/Kconfig" [all …]
|
D | dsa_loop_bdinfo.c | 5 #include <net/dsa.h> 17 .name = "DSA mockup driver", 24 .modalias = "dsa-loop",
|
/Linux-v6.1/net/dsa/ |
D | tag_dsa.c | 3 * Regular and Ethertype DSA tagging 6 * Regular DSA 12 * converted to a DSA tag. It expects the same layout when receiving 26 * Pd: | DA | SA | DSA | ET | Payload ... 36 * Ethertype DSA 38 * Uses the exact same tag format as regular DSA, but also includes a 43 * | DA | SA | 0xdada | 0x0000 | DSA | ET | Payload ... 48 #include <linux/dsa/mv88e6xxx.h> 58 * enum dsa_cmd - DSA Command 81 * receiving DSA/CPU port. [all …]
|
D | dsa_priv.h | 3 * net/dsa/dsa_priv.h - Hardware switch handling 15 #include <net/dsa.h> 159 /* DSA port data, such as switch, port index, etc. */ 170 /* dsa.c */ 386 /* The sad part about attempting to untag from DSA is that we in dsa_untag_bridge_pvid() 391 * from the bridge's data path. This is a configuration that DSA in dsa_untag_bridge_pvid() 404 /* For switches without hardware support for DSA tagging to be able 461 /* Helper for removing DSA header tags from packets in the RX path. 468 * | Destination MAC | Source MAC | DSA header | EType | 487 /* Helper for creating space for DSA header tags in TX path packets. [all …]
|
D | dsa2.c | 3 * net/dsa/dsa2.c - Hardware switch handling, binding version 2 30 * dsa_tree_notify - Execute code for all switches in a DSA switch tree. 36 * each member DSA switch. The other alternative of traversing the tree is only 50 * dsa_broadcast - Notify all DSA trees in the system. 59 * between trees is asynchronous and not all DSA trees might have probed. 101 * driver can then return -EOPNOTSUPP back to DSA, which will in dsa_lag_map() 413 pr_err("DSA: tree %d has no CPU port\n", dst->index); in dsa_tree_setup_default_cpu() 428 /* Perform initial assignment of CPU ports to user ports and DSA links in the 575 "skipping link registration for DSA port %d\n", in dsa_port_setup() 1135 pr_err("DSA: tree %d already setup! Disjoint trees?\n", in dsa_tree_setup() [all …]
|
/Linux-v6.1/Documentation/ABI/testing/ |
D | sysfs-bus-event_source-devices-dsa | 1 What: /sys/bus/event_source/devices/dsa*/format 7 perf_event_attr.config1 for the IDXD DSA pmu. (See also 13 IDXD DSA Spec for possible attribute values):: 24 What: /sys/bus/event_source/devices/dsa*/cpumask 29 IDXD DSA pmu is bound for access to all dsa pmu
|
D | sysfs-class-net-dsa | 1 What: /sys/class/net/<iface>/dsa/tagging 7 tagging protocol used by the DSA network devices that are 10 attached DSA switches, if this operation is supported by the 11 driver. Changing the tagging protocol must be done with the DSA
|
/Linux-v6.1/Documentation/devicetree/bindings/net/dsa/ |
D | dsa-port.yaml | 4 $id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml# 32 Should be a list of phandles to other switch's DSA port. This 46 dsa-tag-protocol: 52 - dsa 79 # CPU and DSA ports must have phylink-compatible link descriptions
|
D | dsa.yaml | 4 $id: http://devicetree.org/schemas/net/dsa/dsa.yaml# 25 dsa,member: 29 A two element list indicates which DSA cluster, and position within the 49 $ref: dsa-port.yaml#
|
/Linux-v6.1/include/linux/dsa/ |
D | sja1105.h | 5 /* Included by drivers/net/dsa/sja1105/sja1105.h and net/dsa/tag_sja1105.c */ 12 #include <linux/dsa/8021q.h> 13 #include <net/dsa.h> 31 * in the DSA master port's multicast MAC filter.
|
/Linux-v6.1/drivers/net/ethernet/hisilicon/hns/ |
D | hns_dsaf_main.c | 210 * @dsaf_dev: dsa fabric id 219 * @dsaf_dev: dsa fabric id 231 * @dsaf_dev: dsa fabric id 288 * @dsaf_dev: dsa fabric id 306 * @dsaf_dev: dsa fabric id 326 * @dsaf_dev: dsa fabric id 345 * @dsaf_dev: dsa fabric id 390 * @dsaf_dev: dsa fabric id 559 * @dsaf_dev: dsa fabric id 602 * @dsaf_dev: dsa fabric id [all …]
|
/Linux-v6.1/include/net/ |
D | dsa.h | 3 * include/net/dsa.h - Driver for Distributed Switch Architecture switch chips 20 #include <linux/platform_data/dsa.h> 104 * address, in which case the DSA master would drop packets on ingress 112 * DSA layer on top of the DSA CPU/management net_device instance. This is 166 * this dsa switch tree instance. 170 /* List of DSA links composing the routing table */ 196 /* DSA LAG IDs are one-based, dst->lags is zero-based */ in dsa_lag_by_id() 292 /* Managed by DSA on user ports and by drivers on CPU and DSA ports */ 329 * These are only valid on CPU ports and DSA links. 335 /* List of VLANs that CPU and DSA ports are members of. */ [all …]
|
/Linux-v6.1/drivers/net/ethernet/aquantia/atlantic/ |
D | aq_ethtool.c | 151 "MACSecTXSC%dSA%d HitDropRedirect", 152 "MACSecTXSC%dSA%d Protected2Pkts", 153 "MACSecTXSC%dSA%d ProtectedPkts", 154 "MACSecTXSC%dSA%d EncryptedPkts", 158 "MACSecRXSC%dSA%d UntaggedHitPkts", 159 "MACSecRXSC%dSA%d CtrlHitDrpRedir", 160 "MACSecRXSC%dSA%d NotUsingSa", 161 "MACSecRXSC%dSA%d UnusedSa", 162 "MACSecRXSC%dSA%d NotValidPkts", 163 "MACSecRXSC%dSA%d InvalidPkts", [all …]
|