Documentation/networking/dsa/lan9303.rst

Source file repositories/reference/linux-study-clean/Documentation/networking/dsa/lan9303.rst

File Facts

System
Linux kernel
Corpus path
Documentation/networking/dsa/lan9303.rst
Extension
.rst
Size
1351 bytes
Lines
38
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

==============================
LAN9303 Ethernet switch driver
==============================

The LAN9303 is a three port 10/100 Mbps ethernet switch with integrated phys for
the two external ethernet ports. The third port is an RMII/MII interface to a
host conduit network interface (e.g. fixed link).


Driver details
==============

The driver is implemented as a DSA driver, see ``Documentation/networking/dsa/dsa.rst``.

See ``Documentation/devicetree/bindings/net/dsa/smsc,lan9303.yaml`` for device tree
binding.

The LAN9303 can be managed both via MDIO and I2C, both supported by this driver.

At startup the driver configures the device to provide two separate network
interfaces (which is the default state of a DSA device). Due to HW limitations,
no HW MAC learning takes place in this mode.

When both user ports are joined to the same bridge, the normal HW MAC learning
is enabled. This means that unicast traffic is forwarded in HW. Broadcast and
multicast is flooded in HW. STP is also supported in this mode. The driver
support fdb/mdb operations as well, meaning IGMP snooping is supported.

If one of the user ports leave the bridge, the ports goes back to the initial
separated operation.


Driver limitations
==================

 - Support for VLAN filtering is not implemented
 - The HW does not support VLAN-specific fdb entries

Annotation

Implementation Notes