The Linux Kernel
5.8.0
  • The Linux kernel user’s and administrator’s guide
  • Kernel Build System
  • The Linux kernel firmware guide
  • Open Firmware and Device Tree
  • The Linux kernel user-space API guide
  • Working with the kernel development community
  • Development tools for the kernel
  • How to write kernel documentation
  • Kernel Hacking Guides
  • Linux Tracing Technologies
  • Kernel Maintainer Handbook
  • fault-injection
  • Kernel Livepatching
  • The Linux driver implementer’s API guide
  • Core API Documentation
  • locking
  • Accounting
  • Block
  • cdrom
  • Linux CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
  • Integrated Drive Electronics (IDE)
  • Frame Buffer
  • fpga
  • Human Interface Devices (HID)
  • I2C/SMBus Subsystem
  • Industrial I/O
  • ISDN
  • InfiniBand
  • LEDs
  • NetLabel
  • Linux Networking Documentation
    • netdev FAQ
    • AF_XDP
    • Bare UDP Tunnelling Module Documentation
    • batman-adv
    • SocketCAN - Controller Area Network
    • The UCAN Protocol
    • Vendor Device Drivers
    • Distributed Switch Architecture
    • Linux Devlink Documentation
      • Interface documentation
      • Driver-specific documentation
        • bnxt devlink support
        • ionic devlink support
        • ice devlink support
        • mlx4 devlink support
        • mlx5 devlink support
        • mlxsw devlink support
        • mv88e6xxx devlink support
        • netdevsim devlink support
        • nfp devlink support
        • sja1105 devlink support
        • qed devlink support
        • ti-cpsw-switch devlink support
    • CAIF
    • Netlink interface for ethtool
    • IEEE 802.15.4 Developer’s Guide
    • J1939 Documentation
    • Linux Networking and Network Devices APIs
    • Z8530 Programming Guide
    • MSG_ZEROCOPY
    • FAILOVER
    • Net DIM - Generic Network Dynamic Interrupt Moderation
    • NET_FAILOVER
    • Page Pool API
    • PHY Abstraction Layer
    • phylink
    • IP-Aliasing
    • Ethernet Bridging
    • SNMP counter
    • Checksum Offloads
    • Segmentation Offloads
    • Scaling in the Linux Networking Stack
    • Kernel TLS
    • Kernel TLS offload
    • Linux NFC subsystem
    • Netdev private dataroom for 6lowpan interfaces
    • 6pack Protocol
    • Altera Triple-Speed Ethernet MAC driver
    • ARCnet Hardware
    • ARCnet
    • ATM
    • AX.25
    • Linux Drivers for Baycom Modems
    • Linux Ethernet Bonding Driver HOWTO
    • cdc_mbim - Driver for CDC MBIM Mobile Broadband modems
    • The COPS LocalTalk Linux driver (cops.c)
    • ATM cxacru device driver
    • DCCP protocol
    • DCTCP (DataCenter TCP)
    • Linux DECnet Networking Layer Information
    • Notes on the DEC FDDIcontroller 700 (DEFZA-xx) driver
    • DNS Resolver Module
    • Softnet Driver Issues
    • EQL Driver: Serial IP Load Balancing HOWTO
    • LC-trie implementation notes
    • Linux Socket Filtering aka Berkeley Packet Filter (BPF)
    • FORE Systems PCA-200E/SBA-200E ATM NIC driver
    • Frame Relay (FR)
    • Generic HDLC layer
    • Generic Netlink
    • Generic networking statistics for netlink users
    • The Linux kernel GTP tunneling module
    • Linux Kernel Driver for Huawei Intelligent NIC(HiNIC) family
    • Identifier Locator Addressing (ILA)
    • AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation
    • IP dynamic address hack-port v0.03
    • ATM (i)Chip IA Linux Driver Source
    • IPsec
    • IP Sysctl
    • IPv6
    • IPVLAN Driver HOWTO
    • IPvs-sysctl
    • Kernel Connection Multiplexor
    • L2TP
    • The Linux LAPB Module Interface
    • LTPC Driver
    • How to use packet injection with mac80211
    • MPLS Sysfs variables
    • HOWTO for multiqueue network device support
    • Netconsole
    • Netdev features mess and how to get out from it alive
    • Network Devices, the Kernel, and You!
    • Netfilter Sysfs variables
    • NETIF Msg Level
    • Netfilter Conntrack Sysfs variables
    • Netfilter’s flowtable infrastructure
    • Open vSwitch datapath developer documentation
    • Operational States
    • Packet MMAP
    • Linux Phonet protocol family
    • HOWTO for the linux packet generator
    • PLIP: The Parallel Line Internet Protocol Device
    • PPP Generic Driver and Channel Interface
    • The proc/net/tcp and proc/net/tcp6 variables
    • How to use radiotap headers
    • Raylink wireless LAN card
    • Overview
    • RDS Architecture
    • Socket Interface
    • RDMA for RDS
    • Congestion Notifications
    • RDS Protocol
    • RDS Transport Layer
    • RDS Kernel Structures
    • Connection management
    • The send path
    • The recv path
    • Multipath RDS (mprds)
    • Linux wireless regulatory documentation
    • RxRPC Network Protocol
    • SOCKET OPTIONS
    • SECURITY
    • EXAMPLE CLIENT USAGE
    • Linux Kernel SCTP
    • LSM/SeLinux secid
    • Seg6 Sysfs variables
    • SysKonnect driver - SKFP
    • Stream Parser (strparser)
    • Ethernet switch device driver model (switchdev)
    • TC Actions - Environmental Rules
    • Thin-streams and TCP
    • Team
    • Timestamping
    • Transparent proxy support
    • Universal TUN/TAP device driver
    • The UDP-Lite protocol (RFC 3828)
    • Virtual Routing and Forwarding (VRF)
    • Virtual eXtensible Local Area Networking documentation
    • Packet Layer to Device Driver
    • Device Driver to Packet Layer
    • Linux X.25 Project
    • XFRM device - offloading the IPsec computations
    • XFRM proc - /proc/net/xfrm_* files
    • XFRM
    • XFRM Syscall
    • SCC.C - Linux driver for Z8530 based HDLC cards for AX.25
  • pcmcia
  • Power Management
  • TCM Virtual Device
  • timers
  • Serial Peripheral Interface (SPI)
  • 1-Wire Subsystem
  • Linux Watchdog Support
  • Linux Virtualization Support
  • The Linux Input Documentation
  • Linux Hardware Monitoring
  • Linux GPU Driver Developer’s Guide
  • Security Documentation
  • Linux Sound Subsystem Documentation
  • Linux Kernel Crypto API
  • Filesystems in the Linux kernel
  • Linux Memory Management Documentation
  • BPF Documentation
  • USB support
  • Linux PCI Bus Subsystem
  • Linux SCSI Subsystem
  • Assorted Miscellaneous Devices Documentation
  • Linux Scheduler
  • MHI
  • Assembler Annotations
  • ARM Architecture
  • ARM64 Architecture
  • IA-64 Architecture
  • m68k Architecture
  • MIPS-specific Documentation
  • Linux on the Nios II architecture
  • OpenRISC Architecture
  • PA-RISC Architecture
  • powerpc
  • RISC-V architecture
  • s390 Architecture
  • SuperH Interfaces Guide
  • Sparc Architecture
  • x86-specific Documentation
  • Xtensa Architecture
  • ext4 Data Structures and Algorithms
  • Translations
The Linux Kernel
  • Docs »
  • Linux Networking Documentation »
  • Linux Devlink Documentation »
  • sja1105 devlink support
  • View page source

sja1105 devlink support¶

This document describes the devlink features implemented by the sja1105 device driver.

Parameters¶

Driver-specific parameters implemented¶
Name Type Mode Description
best_effort_vlan_filtering Boolean runtime

Allow plain ETH_P_8021Q headers to be used as DSA tags.

Benefits:

  • Can terminate untagged traffic over switch net devices even when enslaved to a bridge with vlan_filtering=1.
  • Can terminate VLAN-tagged traffic over switch net devices even when enslaved to a bridge with vlan_filtering=1, with some constraints (no more than 7 non-pvid VLANs per user port).
  • Can do QoS based on VLAN PCP and VLAN membership admission control for autonomously forwarded frames (regardless of whether they can be terminated on the CPU or not).

Drawbacks:

  • User cannot use VLANs in range 1024-3071. If the switch receives frames with such VIDs, it will misinterpret them as DSA tags.
  • Switch uses Shared VLAN Learning (FDB lookup uses only DMAC as key).
  • When VLANs span cross-chip topologies, the total number of permitted VLANs may be less than 7 per port, due to a maximum number of 32 VLAN retagging rules per switch.
Next Previous

© Copyright The kernel development community

Built with Sphinx using a theme provided by Read the Docs.