/linux-5.10/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_tokens 49 The bandwidth tokens represent resources within the DSA 53 What: /sys/bus/dsa/devices/dsa<m>/max_transfer_size [all …]
|
/linux-5.10/Documentation/networking/dsa/ |
D | dsa.rst | 5 This document describes the **Distributed Switch Architecture (DSA)** subsystem 23 or more CPU or management port. 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 will create 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 | 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-5.10/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-5.10/Documentation/devicetree/bindings/net/ |
D | brcm,bcm7445-switch-v4.0.txt | 12 - #address-cells: must be 1, see dsa/dsa.txt 13 - #size-cells: must be 0, see dsa/dsa.txt 17 - dsa,mii-bus: phandle to the MDIO bus controller, see dsa/dsa.txt 18 - dsa,ethernet: phandle to the CPU network interface controller, see dsa/dsa.txt 19 - #address-cells: must be 2, see dsa/dsa.txt 24 described in dsa/dsa.txt. 106 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-5.10/net/dsa/ |
D | tag_dsa.c | 3 * net/dsa/tag_dsa.c - (Non-ethertype) DSA tagging 21 * Convert the outermost 802.1q tag to a DSA tag for tagged in dsa_xmit() 22 * packets, or insert a DSA tag between the addresses and in dsa_xmit() 30 * Construct tagged FROM_CPU DSA tag from 802.1q tag. in dsa_xmit() 51 * Construct untagged FROM_CPU DSA tag. in dsa_xmit() 74 * The ethertype field is part of the DSA header. in dsa_rcv() 95 * Convert the DSA header to an 802.1q header if the 'tagged' in dsa_rcv() 96 * bit in the DSA header is set. If the 'tagged' bit is clear, in dsa_rcv() 97 * delete the DSA header entirely. in dsa_rcv() 105 * DSA uses that bit location for another purpose). in dsa_rcv() [all …]
|
D | tag_edsa.c | 3 * net/dsa/tag_edsa.c - Ethertype DSA tagging 32 * Convert the outermost 802.1q tag to a DSA tag and prepend in edsa_xmit() 33 * a DSA ethertype field is the packet is tagged, or insert in edsa_xmit() 34 * a DSA ethertype plus DSA tag between the addresses and the in edsa_xmit() 45 * Construct tagged FROM_CPU DSA tag from 802.1q tag. in edsa_xmit() 70 * Construct untagged FROM_CPU DSA tag. in edsa_xmit() 141 * If the 'tagged' bit is set, convert the DSA tag to a 802.1q in edsa_rcv() 143 * clear, delete the ethertype and the DSA tag parts. in edsa_rcv() 151 * DSA uses that bit location for another purpose). in edsa_rcv() 159 * Move CFI bit from its place in the DSA header to in edsa_rcv() [all …]
|
D | dsa_priv.h | 3 * net/dsa/dsa_priv.h - Hardware switch handling 14 #include <net/dsa.h> 85 /* DSA port data, such as switch, port index, etc. */ 96 /* dsa.c */ 239 /* The sad part about attempting to untag from DSA is that we in dsa_untag_bridge_pvid() 244 * from the bridge's data path. This is a configuration that DSA in dsa_untag_bridge_pvid()
|
D | Kconfig | 66 tristate "Tag driver for Marvell switches using DSA headers" 69 Marvell switches which use DSA headers. 72 tristate "Tag driver for Marvell switches using EtherType DSA headers" 75 Marvell switches which use EtherType DSA headers.
|
/linux-5.10/drivers/net/ethernet/marvell/prestera/ |
D | prestera_dsa.c | 33 int prestera_dsa_parse(struct prestera_dsa *dsa, const u8 *dsa_buf) in prestera_dsa_parse() argument 61 dsa->vlan.is_tagged = FIELD_GET(PRESTERA_DSA_W0_IS_TAGGED, words[0]); in prestera_dsa_parse() 62 dsa->vlan.cfi_bit = FIELD_GET(PRESTERA_DSA_W1_CFI_BIT, words[1]); in prestera_dsa_parse() 63 dsa->vlan.vpt = FIELD_GET(PRESTERA_DSA_W0_VPT, words[0]); in prestera_dsa_parse() 64 dsa->vlan.vid = FIELD_GET(PRESTERA_DSA_W0_VID, words[0]); in prestera_dsa_parse() 65 dsa->vlan.vid &= ~PRESTERA_DSA_VID; in prestera_dsa_parse() 66 dsa->vlan.vid |= FIELD_PREP(PRESTERA_DSA_VID, field); in prestera_dsa_parse() 70 dsa->hw_dev_num = FIELD_GET(PRESTERA_DSA_W0_DEV_NUM, words[0]); in prestera_dsa_parse() 71 dsa->hw_dev_num |= FIELD_PREP(PRESTERA_DSA_DEV_NUM, field); in prestera_dsa_parse() 73 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" */ 32 int prestera_dsa_parse(struct prestera_dsa *dsa, const u8 *dsa_buf); 33 int prestera_dsa_build(const struct prestera_dsa *dsa, u8 *dsa_buf);
|
D | prestera_rxtx.c | 218 struct prestera_dsa dsa; in prestera_rxtx_process_skb() local 224 /* ethertype field is part of the dsa header */ in prestera_rxtx_process_skb() 225 err = prestera_dsa_parse(&dsa, skb->data - ETH_TLEN); in prestera_rxtx_process_skb() 229 dev_id = dsa.hw_dev_num; in prestera_rxtx_process_skb() 230 hw_port = dsa.port_num; in prestera_rxtx_process_skb() 242 /* remove DSA tag and update checksum */ in prestera_rxtx_process_skb() 252 if (dsa.vlan.is_tagged) { in prestera_rxtx_process_skb() 253 u16 tci = dsa.vlan.vid & VLAN_VID_MASK; in prestera_rxtx_process_skb() 255 tci |= dsa.vlan.vpt << VLAN_PRIO_SHIFT; in prestera_rxtx_process_skb() 256 if (dsa.vlan.cfi_bit) in prestera_rxtx_process_skb() [all …]
|
/linux-5.10/drivers/net/dsa/ |
D | Kconfig | 5 source "drivers/net/dsa/b53/Kconfig" 20 tristate "DSA mock-up Ethernet switch chip support" 25 exercises the DSA APIs. 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"
|
D | dsa_loop_bdinfo.c | 5 #include <net/dsa.h> 17 .name = "DSA mockup driver", 24 .modalias = "dsa-loop",
|
/linux-5.10/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> 28 * in the DSA master port's multicast MAC filter.
|
/linux-5.10/Documentation/devicetree/bindings/net/dsa/ |
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 61 Should be a list of phandles to other switch's DSA port. This
|
D | ocelot.txt | 36 operate as an entire slave DSA chip. NPI functionality (and therefore DSA 42 well, regardless of whether it is configured as the DSA master or not. This is 55 For the rest of the device tree binding definitions, which are standard DSA and 58 Documentation/devicetree/bindings/net/dsa/dsa.txt
|
/linux-5.10/drivers/net/ethernet/aquantia/atlantic/ |
D | aq_ethtool.c | 141 "MACSecTXSC%dSA%d HitDropRedirect", 142 "MACSecTXSC%dSA%d Protected2Pkts", 143 "MACSecTXSC%dSA%d ProtectedPkts", 144 "MACSecTXSC%dSA%d EncryptedPkts", 148 "MACSecRXSC%dSA%d UntaggedHitPkts", 149 "MACSecRXSC%dSA%d CtrlHitDrpRedir", 150 "MACSecRXSC%dSA%d NotUsingSa", 151 "MACSecRXSC%dSA%d UnusedSa", 152 "MACSecRXSC%dSA%d NotValidPkts", 153 "MACSecRXSC%dSA%d InvalidPkts", [all …]
|
/linux-5.10/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-5.10/include/net/ |
D | dsa.h | 3 * include/net/dsa.h - Driver for Distributed Switch Architecture switch chips 20 #include <linux/platform_data/dsa.h> 79 /* Used to determine which traffic should match the DSA filter in 88 * address, in which case the DSA master would drop packets on ingress 97 * DSA layer on top of the DSA CPU/management net_device instance. This is 141 * this dsa switch tree instance. 148 /* List of DSA links composing the routing table */ 243 /* TODO: ideally DSA ports would have a single dp->link_dp member, 314 * @untag_bridge_pvid will force the DSA receive path to pop the bridge's 644 * If the switch needs to account for the DSA tag on the CPU port, this [all …]
|
/linux-5.10/arch/arm64/boot/dts/marvell/ |
D | armada-3720-turris-mox.dts | 282 dsa,member = <0 0>; 386 label = "dsa"; 407 dsa,member = <0 0>; 474 dsa,member = <0 1>; 570 label = "dsa"; 578 label = "dsa"; 599 dsa,member = <0 1>; 655 label = "dsa"; 666 dsa,member = <0 2>; 762 label = "dsa"; [all …]
|
/linux-5.10/Documentation/networking/ |
D | timestamping.rst | 603 3.2.1 DSA (Distributed Switch Architecture) switches 608 a port multiplier with optional forwarding acceleration features. Each DSA 613 When a DSA switch is attached to a host port, PTP synchronization has to 615 jitter between the host port and its PTP partner. For this reason, some DSA 618 measure wire and PHY propagation latencies. Timestamping DSA switches are 620 for the fact that the DSA interfaces are in fact virtual in terms of network 622 interfaces of a DSA switch to share the same PHC. 624 By design, PTP timestamping with a DSA switch does not need any special 626 host port also supports PTP timestamping, DSA will take care of intercepting 630 anybody else except for the DSA switch port must be prevented from doing so. [all …]
|