High Performance Two Port 10/100 Managed Ethernet Switch with 32-Bit Non-PCI CPU Interface
Datasheet
SMSC LAN9312
75
Revision 1.4 (08-19-08)
DATASHEET
. This function would be used if the snooping port wished to participate
in the IGMP/MLD group without the need to perform special handling in the transmit portion of the
driver software.
Note:
Most forwarding rules are skipped when a packet is snooped. However, a packet is still filtered
if:
The source port is not in the forwarding state (unless Spanning Tree Port State Override is in
effect.
VLAN’s are enabled, the packet is untagged or priority tagged, and the Admit Only VLAN bit
for the ingress port is set.
VLAN’s are enabled and the packet is tagged and had a VID equal to FFFh.
VLAN’s are enabled, Enabled Membership Checking on Ingress is set, Admit Non Member is
cleared, and the source port is not a member of the incoming VLAN.
6.4.9
Port Mirroring
The LAN9312 supports port mirroring where packets received or transmitted on a port or ports can
also be copied onto another “sniffer” port.
Port mirroring is configured using the
Switch Engine Port Mirroring Register (SWE_PORT_MIRROR)
.
Multiple mirrored ports can be defined, but only one sniffer port can be defined.
When receive mirroring is enabled, packets that are forwarded from a port designated as a mirrored
port are also transmitted by the sniffer port. For example, Port 2 is setup to be a mirrored port and
Port 0 is setup to be the sniffer port. If a packet is received on Port 2 with a destination of Port 1, it
is forwarded to both Port 1 and Port 0.
When transmit mirroring is enabled, packets that are forwarded to a port designated as a mirrored port
are also transmitted by the sniffer port. For example, Port 2 is setup to be a mirrored port and Port 0
is setup to be the sniffer port. If a packet is received on Port 1 with a destination of Port 2, it is
forwarded to both Port 2 and Port 0.
Note:
A packet will never be transmitted out of the receiving port. A receive packet is not normally
mirrored if it is filtered. This can optionally be enabled.
6.4.10
Host CPU Port Special Tagging
The
Switch Engine Ingress Port Type Register (SWE_INGRSS_PORT_TYP)
and
Egress Port Type Register (BM_EGRSS_PORT_TYPE)
are used to enable a special VLAN tag that is
used by the host CPU. This special tag is used to specify the port(s) where packets from the CPU
should be sent, and to indicate which port received the packet that was forwarded to the CPU.
6.4.10.1
Packets from the Host CPU
The
Switch Engine Ingress Port Type Register (SWE_INGRSS_PORT_TYP)
configures the switch to
use the special VLAN tag in packets from the host CPU as a destination port indicator. A setting of
11b should be used on the port that is connected to the host CPU (typically Port 0). A setting of 00b
should be used on the normal network ports.
The special VLAN tag is a normal VLAN tag where the VID field is used as the destination port
indicator. If VID bit 3 is zero, then bits 0 and 1 specify the destination port (0, 1, 2) or broadcast (3).
If VID bit 3 is one, then the normal ALR lookup is performed and learning is performed on the source
address. The PRI field from the VLAN tag is used as the packet priority.
Upon egress from the destination port(s), the special tag is removed. If a regular VLAN tag needs to
be sent as part of the packet, then it should be part of the packet data from the host CPU port or set
as an unused bit in the VID field.