Home
last modified time | relevance | path

Searched +full:dsa +full:- +full:tag +full:- +full:protocol (Results 1 – 25 of 33) sorted by relevance

12

/linux/Documentation/networking/dsa/
H A Ddsa.rst5 This document describes the **Distributed Switch Architecture (DSA)** subsystem
22 An Ethernet switch typically comprises multiple front-panel ports and one
23 or more CPU or management ports. The DSA subsystem currently relies on the
27 gateways, or even top-of-rack switches. This host Ethernet controller will
28 be later referred to as "conduit" 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
37 used as controlling and data-flowing endpoints for use by the Linux networking
39 interfaces in DSA terminology and code.
[all …]
H A Dconfiguration.rst1 .. SPDX-License-Identifier: GPL-2.0
4 DSA switch configuration from userspace
7 The DSA switch configuration is not integrated into the main userspace
10 .. _dsa-config-showcases:
13 -----------------------
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 user interface is brought up, the conduit interface is
44 - when the conduit interface is brought down, all DSA user interfaces are
71 * lan1: 192.0.2.1/30 (192.0.2.0 - 192.0.2.3)
[all …]
H A Dsja1105.rst8 The NXP SJA1105 is a family of 10 SPI-managed automotive switches:
10 - SJA1105E: First generation, no TTEthernet
11 - SJA1105T: First generation, TTEthernet
12 - SJA1105P: Second generation, no TTEthernet, no SGMII
13 - SJA1105Q: Second generation, TTEthernet, no SGMII
14 - SJA1105R: Second generation, no TTEthernet, SGMII
15 - SJA1105S: Second generation, TTEthernet, SGMII
16 - SJA1110A: Third generation, TTEthernet, SGMII, integrated 100base-T1 and
17 100base-TX PHYs
18 - SJA1110B: Third generation, TTEthernet, SGMII, 100base-T1, 100base-TX
[all …]
/linux/net/dsa/
H A Dtag_rtl4_a.c1 // SPDX-License-Identifier: GPL-2.0
3 * Handler for Realtek 4 byte DSA switch tags
4 * Currently only supports protocol "A" found in RTL8366RB
7 * This "proprietary tag" header looks like so:
9 * -------------------------------------------------
10 * | MAC DA | MAC SA | 0x8899 | 2 bytes tag | Type |
11 * -------------------------------------------------
13 * The 2 bytes tag form a 16 bit big endian word. The exact
21 #include "tag.h"
28 * 0x1 = Realtek Remote Control protocol (RRCP)
[all …]
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
22 tristate "No-op tag driver"
24 Say Y or M if you want to enable support for switches which don't tag
28 tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
31 the Atheros AR9331 SoC with built-in switch.
38 tristate "Tag driver for Broadcom switches using in-frame headers"
42 Broadcom switches which place the tag after the MAC source address.
45 tristate "Tag driver for Broadcom legacy switches using in-frame headers"
49 Broadcom legacy switches which place the tag after the MAC source
53 tristate "Tag driver for Broadcom switches using prepended headers"
[all …]
H A Dtag.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
9 #include <net/dsa.h>
29 return ops->needed_headroom + ops->needed_tailroom; in dsa_tag_protocol_overhead()
35 struct dsa_port *cpu_dp = dev->dsa_ptr; in dsa_conduit_find_user()
36 struct dsa_switch_tree *dst = cpu_dp->dst; in dsa_conduit_find_user()
39 list_for_each_entry(dp, &dst->ports, list) in dsa_conduit_find_user()
40 if (dp->ds->index == device && dp->index == port && in dsa_conduit_find_user()
41 dp->type == DSA_PORT_TYPE_USER) in dsa_conduit_find_user()
42 return dp->user; in dsa_conduit_find_user()
48 * dsa_software_untag_vlan_aware_bridge: Software untagging for VLAN-aware bridge
[all …]
H A Dtag_dsa.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Regular and Ethertype DSA tagging
4 * Copyright (c) 2008-2009 Marvell Semiconductor
6 * Regular DSA
7 * -----------
10 * the tag between the SA and the ethertype of the original
11 * packet. Tagged frames will instead have their outermost .1Q tag
12 * converted to a DSA tag. It expects the same layout when receiving
17 * .----.----.----.---------
19 * '----'----'----'---------
[all …]
H A Dtag_mtk.c1 // SPDX-License-Identifier: GPL-2.0
3 * Mediatek DSA Tag support
11 #include "tag.h"
30 skb_set_queue_mapping(skb, dp->index); in mtk_tag_xmit()
32 /* Build the special tag after the MAC Source Address. If VLAN header in mtk_tag_xmit()
33 * is present, it's required that VLAN header and special tag is in mtk_tag_xmit()
35 * the both special and VLAN tag at the same time and then look up VLAN in mtk_tag_xmit()
38 switch (skb->protocol) { in mtk_tag_xmit()
53 /* Mark tag attribute on special tag insertion to notify hardware in mtk_tag_xmit()
54 * whether that's a combined special tag with 802.1Q header. in mtk_tag_xmit()
[all …]
H A Dtag_rtl8_4.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2021 Alvin Šipraga <alsi@bang-olufsen.dk>
7 * NOTE: Currently only supports protocol "4" found in the RTL8365MB, hence
10 * This tag has the following format:
13 * |-----------------------------------+-----------------------------------|---
14 * | (16-bit) | ^
16 * |-----------------------------------+-----------------------------------| 8
17 * | (8-bit) | (8-bit) |
18 * | Protocol [0x04] | REASON | b
19 * |-----------------------------------+-----------------------------------| y
[all …]
H A Dconduit.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Copyright (c) 2017 Savoir-faire Linux Inc.
12 #include <net/dsa.h>
15 #include "dsa.h"
17 #include "tag.h"
21 struct dsa_port *cpu_dp = dev->dsa_ptr; in dsa_conduit_get_regs_len()
22 const struct ethtool_ops *ops = cpu_dp->orig_ethtool_ops; in dsa_conduit_get_regs_len()
23 struct dsa_switch *ds = cpu_dp->ds; in dsa_conduit_get_regs_len()
24 int port = cpu_dp->index; in dsa_conduit_get_regs_len()
28 if (ops->get_regs_len) { in dsa_conduit_get_regs_len()
[all …]
H A Dtag.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * DSA tagging protocol handling
5 * Copyright (c) 2008-2009 Marvell Semiconductor
13 #include <net/dsa.h>
16 #include "tag.h"
26 * timestamp when it reads the packet out of the hardware. However in a DSA
27 * switch, the DSA driver owning the interface to which the packet is
33 struct dsa_switch *ds = p->dp->ds; in dsa_skb_defer_rx_timestamp()
36 if (!ds->ops->port_rxtstamp) in dsa_skb_defer_rx_timestamp()
51 return ds->ops->port_rxtstamp(ds, p->dp->index, skb, type); in dsa_skb_defer_rx_timestamp()
[all …]
H A Dtag_sja1105.c1 // SPDX-License-Identifier: GPL-2.0
5 #include <linux/dsa/sja1105.h>
6 #include <linux/dsa/8021q.h>
9 #include "tag.h"
23 /* Trap-to-host format (no trailer present) */
33 /* Meta frame format (for 2-step TX timestamps) */
74 return ds->tagger_dat in sja1105_tagger_private()
[all...]
H A Dswitch.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Copyright (c) 2017 Savoir-faire Linux Inc.
15 #include "dsa.h"
29 if (dp->ageing_time && dp->ageing_time < ageing_time) in dsa_switch_fastest_ageing_time()
30 ageing_time = dp->ageing_time; in dsa_switch_fastest_ageing_time()
38 unsigned int ageing_time = info->ageing_time; in dsa_switch_ageing_time()
40 if (ds->ageing_time_min && ageing_time < ds->ageing_time_min) in dsa_switch_ageing_time()
41 return -ERANGE; in dsa_switch_ageing_time()
43 if (ds->ageing_time_max && ageing_time > ds->ageing_time_max) in dsa_switch_ageing_time()
44 return -ERANGE; in dsa_switch_ageing_time()
[all …]
/linux/Documentation/devicetree/bindings/net/dsa/
H A Ddsa-port.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Generic DSA Switch Port
10 - Andrew Lunn <andrew@lunn.ch>
11 - Florian Fainelli <f.fainelli@gmail.com>
12 - Vladimir Oltean <olteanv@gmail.com>
15 A DSA switch port is a component of a switch that manages one MAC, and can
17 DSA-specific functionality.
[all …]
/linux/include/uapi/linux/
H A Dif_ether.h1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
3 * INET An implementation of the TCP/IP protocol suite for the LINUX
44 * These are the defined Ethernet Protocol ID's.
52 #define ETH_P_IP 0x0800 /* Internet Protocol packet */
58 #define ETH_P_BATMAN 0x4305 /* B.A.T.M.A.N.-Advanced packet [ NOT AN OFFICIALLY REGISTERED ID ] */
76 #define ETH_P_SLOW 0x8809 /* Slow Protocol. See 802.3ad 43B */
77 #define ETH_P_WCCP 0x883E /* Web-cache coordination protocol
78 * defined in draft-wilson-wrec-wccp-v2-00.txt */
85 #define ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport
97 #define ETH_P_LLDP 0x88CC /* Link Layer Discovery Protocol */
[all …]
/linux/arch/arm64/boot/dts/freescale/
H A Dfsl-ls1028a-kontron-sl28.dts1 // SPDX-License-Identifier: GPL-2.0+
3 * Device Tree file for the Kontron SMARC-sAL28 board.
9 /dts-v1/;
10 #include "fsl-ls1028a.dtsi"
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/input/input.h>
16 model = "Kontron SMARC-sAL28";
33 compatible = "gpio-keys";
35 power-button {
[all …]
/linux/Documentation/networking/
H A Dnf_flowtable.rst1 .. SPDX-License-Identifier: GPL-2.0
13 --------
28 n-tuple selectors: layer 2 protocol encapsulation (VLAN and PPPoE), layer 3
51 _________ __________ --------- _____\/_____
53 --> ingress ---> prerouting ---> |decision| | postrouting |--> neigh_xmit
54 \_________/ \__________/ ---------- \____________/ ^
58 __\/___ | | forward |------------ |
59 |-----| | \_________/ |
60 |-----| | 'flow offload' rule |
61 |-----| | adds entry to |
[all …]
/linux/drivers/net/ethernet/marvell/prestera/
H A Dprestera_rxtx.c1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
2 /* Copyright (c) 2019-2020 Marvell International Ltd. All rights reserved */
28 ((le32_to_cpu((desc)->word2) >> 16) & GENMASK(13, 0))
31 ((le32_to_cpu((desc)->word1) & BIT(31)) >> 31)
47 ((le32_to_cpu((desc)->word1) & BIT(31)) >> 31)
116 desc = dma_pool_alloc(sdma->desc_pool, GFP_DMA | GFP_KERNEL, &dma); in prestera_sdma_buf_init()
118 return -ENOMEM; in prestera_sdma_buf_init()
120 buf->buf_dma = DMA_MAPPING_ERROR; in prestera_sdma_buf_init()
121 buf->desc_dma = dma; in prestera_sdma_buf_init()
122 buf->desc = desc; in prestera_sdma_buf_init()
[all …]
/linux/drivers/scsi/sym53c8xx_2/
H A Dsym_hipd.c1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * of PCI-SCSI IO processors.
6 * Copyright (C) 1999-2001 Gerard Roudier <groudier@free.fr>
7 * Copyright (c) 2003-2005 Matthew Wilcox <matthew@wil.cx>
10 * Copyright (C) 1998-2000 Gerard Roudier
13 * a port of the FreeBSD ncr driver to Linux-1.2.13.
17 * Stefan Esser <se@mi.Uni-Koeln.de>
25 *-----------------------------------------------------------------------------
44 static struct sym_ccb *sym_ccb_from_dsa(struct sym_hcb *np, u32 dsa);
55 while (n-- > 0) in sym_printl_hex()
[all …]
/linux/Documentation/arch/x86/
H A Dsva.rst1 .. SPDX-License-Identifier: GPL-2.0
19 application page-faults. For more information please refer to the PCIe
34 Unlike Single Root I/O Virtualization (SR-IOV), Scalable IOV (SIOV) permits
40 ID (PASID), which is a 20-bit number defined by the PCIe SIG.
43 IOMMU to track I/O on a per-PASID granularity in addition to using the PCIe
55 ENQCMD works with non-posted semantics and carries a status back if the
67 A new thread-scoped MSR (IA32_PASID) provides the connection between
69 accesses an SVA-capable device, this MSR is initialized with a newly
70 allocated PASID. The driver for the device calls an IOMMU-specific API
71 that sets up the routing for DMA and page-requests.
[all …]
/linux/drivers/net/dsa/
H A Dmt7530.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Mediatek MT7530 DSA Switch driver
23 #include <net/dsa.h>
81 if (priv->bus) in mt7530_mutex_lock()
82 mutex_lock_nested(&priv->bus->mdio_lock, MDIO_MUTEX_NESTED); in mt7530_mutex_lock()
88 if (priv->bus) in mt7530_mutex_unlock()
89 mutex_unlock(&priv->bus->mdio_lock); in mt7530_mutex_unlock()
95 struct mii_bus *bus = priv->bus; in core_write()
101 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_write()
107 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_write()
[all …]
/linux/drivers/scsi/
H A Dncr53c8xx.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 ** Device driver for the PCI-SCSI NCR538XX controller family.
8 **-----------------------------------------------------------------------------
22 ** Stefan Esser <se@mi.Uni-Koeln.de>
27 **-----------------------------------------------------------------------------
38 ** Support for Fast-20 scsi.
42 ** Support for Fast-40 scsi.
43 ** Support for on-Board RAM.
46 ** Full support for scsi scripts instructions pre-fetching.
57 ** Low PCI traffic for command handling when on-chip RAM is present.
[all …]
/linux/drivers/net/dsa/realtek/
H A Drtl8366rb.c1 // SPDX-License-Identifier: GPL-2.0
9 * Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org>
27 #include "realtek-smi.h"
28 #include "realtek-mdio.h"
47 /* Switch per-port learning disablement register */
123 /* Disables inserting custom tag length/type 0x8899 */
160 * VID such as untagged or priority-tagged frames for respective
163 * a C-tag with VID != 0 for respective port.
363 mib->offset; in rtl8366rb_get_mib_counter()
368 ret = regmap_write(priv->map, addr, 0); /* Write whatever */ in rtl8366rb_get_mib_counter()
[all …]
/linux/drivers/net/ethernet/broadcom/
H A Dbcmsysport.c1 // SPDX-License-Identifier: GPL-2.0-only
15 #include <linux/dsa/brcm.h>
23 #include <net/dsa.h>
35 if (priv->is_lite && off >= RDMA_STATUS) in rdma_readl()
37 return readl_relaxed(priv->base + SYS_PORT_RDMA_OFFSET + off); in rdma_readl()
42 if (priv->is_lite && off >= RDMA_STATUS) in rdma_writel()
44 writel_relaxed(val, priv->base + SYS_PORT_RDMA_OFFSET + off); in rdma_writel()
49 if (!priv->is_lite) { in tdma_control_bit()
59 /* L2-interrupt masking/unmasking helpers, does automatic saving of the applied
60 * mask in a software copy to avoid CPU_MASK_STATUS reads in hot-paths.
[all …]
/linux/drivers/net/ethernet/mscc/
H A Docelot.c1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
7 #include <linux/dsa/ocelot.h>
30 /* Caller must hold &ocelot->mact_lock */
36 /* Caller must hold &ocelot->mact_lock */
48 /* Caller must hold &ocelot->mact_lock */
90 if (mc_ports & BIT(ocelot->num_phys_ports)) in __ocelot_mact_learn()
109 mutex_lock(&ocelot->mact_lock); in ocelot_mact_learn()
111 mutex_unlock(&ocelot->mact_lock); in ocelot_mact_learn()
122 mutex_lock(&ocelot->mact_lock); in ocelot_mact_forget()
133 mutex_unlock(&ocelot->mact_lock); in ocelot_mact_forget()
[all …]

12