TNETX4090
ThunderSWITCH II
9-PORT 100-/1000-MBIT/S ETHERNET
SWITCH
SPWS044E – DECEMBER 1997 – REVISED AUGUST 1999
54
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
removal of source port
Normally, the IALE does not route a frame to a port on which it was received. The port routing code is examined
to see if the source port is included. If so, the port routing code is modified to remove the source port.
If the bit in RingPorts corresponding to the port that received the frame is set, the port routing code is not modified
to remove the source port. This is required for connecting the port to other like switches in a ring topology.
If the source port is a member of a trunk (see
Trunking
), then all the other ports that are members of the same
trunk also are removed from the port routing code.
port mirroring
It is possible to copy (or mirror) all frames that are received by and transmitted from a port to another designated
port, using the mirror port register.
It also is possible to mirror frames destined for a particular MAC address by using the copy-uplink feature. When
a frame specifies the destination address with the copy-uplink feature enabled, frames are copied to the
specified port.
copy-to-uplink (cuplink)
If destination address is a unicast and the cuplink bit of its address record has been set to a 1 (via a DIO add),
and when a frame specifies that destination, a copy of the frame is sent to the port specified in the UplinkPort
register.
port trunking/load sharing
Trunking allows two or more ports to be connected in parallel between switches to increase the bandwidth
between those devices. The trunking algorithm determines on which of these ports a frame is transmitted, so
that the load is spread evenly across these ports.
The TNETX4090 supports a maximum of four trunk groups for the 10-/100-Mbit ports. The port members of a
trunk group are software configurable via the DIO interface. Trunk-port determination is the final step in the IALE
frame-routing algorithm. Once the destination port(s) for a frame have been determined, the port routing code
is examined to see if any of the destination port(s) are members of a trunk. If so, the trunking algorithm is applied
to select the port within the trunk that transmits the frame – it may or may not be the one currently in the port
routing code. To determine the destination port within a trunk, bits 3–1 of the source and destination address
are XORed to produce a map index. This map index is used to index to a group of eight internal registers to
determine the destination port (for details see the
TNETX4090 Programmer’s Reference Guide
, literature
number SPAU003). Port trunking uses the destination/source address pairs to route the traffic to balance the
load more evenly across the trunked ports. Since the same destination/source address pair always uses the
same port to route the traffic, this also makes it much easier to debug network problems.
Load sharing is similar to trunking , but with two slight differences. It uses the trunking algorithm only once when
the destination address is unknown. Once the destination address has been learned, it uses the port routing
code associated with the destination address.
If the destination is unknown, the map index is derived from only the source address. If a server is
communicating with a large number of different clients, then, since the source address is the same, it is possible
to have very poor traffic distribution.
If the destination address is found in the IALE records when it is looked up, the port routing code is not
adjusted by the load-sharing algorithm.
The 3-bit map index is determined only from the source address, as follows:
– Bits 47–32 are XORed to produce the most significant bit of the map index.
– Bits 31–16 are XORed to produce the middle of the map index.
– Bits 15–0 are XORed to produce the least significant bit of the map index.