Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus
First Claim
1. A local area network (LAN) device, comprising:
- a plurality of local area network interface ports each including one receiver (11-14), one transmitter (15-18) and one triplet processor (25-28);
a high-speed data bus (24) to which individual ones of the plurality of local area network interface ports are connected; and
a switch engine (34) connected to the high-speed data bus (24) and including a packet buffer controller (40), a high-speed data bus controller (42) and a content-addressable memory manager (44);
wherein each said triplet processor (25-28) provides for the reading of a destination address in packets received from a corresponding one of said local area network interface ports and provides for cut-through transmission wherein packets are received from other ones of said local area network interface ports over the high-speed data bus (24) while such packets are still being received from the other ones of the network interface ports.
1 Assignment
0 Petitions
Accused Products
Abstract
A one-chip local area network (LAN) device comprises more than one local area network interface ports each including one receiver (11-14), one transmitter (15-18) and one triplet processor (25-28), a high-speed data bus (24) to which individual ones of the plurality of local area network interface ports are connected, and a switch engine (34) connected to the high-speed data bus (24) and including a packet buffer controller (40), a high-speed data bus controller (42) and content-addressable memory manager (44). Each triplet processor (25-28), provides for the reading of a destination address in packets received from a corresponding one of the local area network interface ports and simultaneously provides for the cut-through transmission of packets received from other ones of the local area network interface ports that transfer the packets over the high-speed data bus (24).
223 Citations
13 Claims
-
1. A local area network (LAN) device, comprising:
-
a plurality of local area network interface ports each including one receiver (11-14), one transmitter (15-18) and one triplet processor (25-28); a high-speed data bus (24) to which individual ones of the plurality of local area network interface ports are connected; and a switch engine (34) connected to the high-speed data bus (24) and including a packet buffer controller (40), a high-speed data bus controller (42) and a content-addressable memory manager (44); wherein each said triplet processor (25-28) provides for the reading of a destination address in packets received from a corresponding one of said local area network interface ports and provides for cut-through transmission wherein packets are received from other ones of said local area network interface ports over the high-speed data bus (24) while such packets are still being received from the other ones of the network interface ports. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system (10) for communicating data packets between a plurality of local area network (LAN) segments connected to a multiport LAN device, comprising:
-
first triplet processor means (25) for inputting a first packet from a first client on a first LAN segment connected to a first port, wherein said first packet includes a first header that identifies a network source address corresponding to said first client and a network destination address corresponding to a second client on a second LAN segment connected to a second port; means for interrupting a switch engine (34) to transfer said first header to a packet buffer controller (40) and a content-addressable memory (44,
38) while said first packet is still being received but after said first header is completely received by said first port;content-addressable memory means (44,
38) for associating said network destination address with said second port;means (24,
40) for assigning a first starting address in a circular packet buffer memory (36) and for transferring the whole of said first packet from said first port to said packet buffer memory as well as to said second port;transmitter means (18) for transmitting said first packet from said second port if said second port was not otherwise busy; means (25) for constructing a first triplet data structure (90) comprising representations of said first port (92), said second port (94), and said first starting address (96) and for placing a copy of said first triplet data structure (90) in front of said first packet in said packet buffer memory (36); means (25,
24) for sending said first triplet data structure to a second triplet processor (28) in said second port;means (28) for fetching said first packet from said packet buffer memory if said first packet had not already cut-through and had been sent; means (28) for comparing said copy of said first triplet data structure in front of said first packet to said first triplet structure received by said second triplet processor; and means (18) for transmitting said first packet from said second port if said triplet data structures match and said first packet had not already been sent.
-
-
9. A method for communicating data packets between a plurality of local area network (LAN) segments connected to a multiport LAN device, the method comprising:
-
inputting a first packet from a first client on a first LAN segment connected to a first port, wherein said first packet includes a first header that identifies a network source address corresponding to said first client and a network destination address corresponding to a second client on a second LAN segment connected to a second port; interrupting a switch engine with a first triplet processor to transfer said first header to a packet buffer controller and a content-addressable memory while said first packet is still being received but after said first header is completely received by said first port; associating in said content-addressable memory said network destination address with said second port; assigning a first starting address in a circular packet buffer memory and transferring the whole of said first packet from said first port to said packet buffer memory as well as to said second port; transmitting said first packet from said second port if said second port was not otherwise busy; constructing a first triplet data structure comprising representations of said first port, said second port, and said first starting address and placing a copy of said first triplet data structure in front of said first packet in said packet buffer memory; sending said first triplet data structure to a second triplet processor in said second port; if said first packet had not already cut-through and had been sent, then fetching said first packet from said packet buffer memory with said second triplet processor and comparing said copy of said first triplet data structure in front of said first packet to said first triplet structure received by said second triplet processor in the previous step; and transmitting said first packet from said second port if said triplet data structures match and said first packet had not already been sent.
-
-
10. A method of communicating data packets between a plurality local area network (LAN) segments connected to a multi-port LAN device, the method comprising steps of:
-
receiving a packet into a first port from a segment of the LAN associated with the first port, the packet having a destination address; looking-up the destination address in a table for identifying a second port for the packet; loading the packet into a memory device; and determining whether the second port is available to receive the packet and, if the second port is available to receive the packet, performing a cut-through operation wherein the packet is received into the second port simultaneously with the step of loading the packet into the memory device, and if the second port is not available to receive the packet, performing a store-and-forward operation wherein the packet is received into the second port from the memory device after the second port is available to receive the packet. - View Dependent Claims (11)
-
-
12. A local area network (LAN) device, comprising:
-
a communication bus (24); a look-up table (38) coupled to the communication bus (24); a packet buffer (36) coupled to the communication bus (24); a first port coupled to the communication bus (24), wherein the first port receives a header for a packet, the packet header having a source node address and a destination node address, wherein the first port initiates a look-up in the look-up table (38) after receiving the header for the packet and wherein the first port loads the packet into the packet buffer (36) after initiating the look-up; and a second port coupled to the communication bus (24) for transmitting the packet to a segment of the local area network associated with the second port, wherein the second port is identified by the look-up, and wherein if the second port is available to receive the packet, a cut-through is performed wherein the second port receives the packet directly from the first port via the communication bus (24) simultaneously with the loading of the packet into the packet buffer (36), and if the destination port does not receive the packet directly from the first port, a store-and-forward is performed wherein the destination port receives the packet from the packet buffer (36) after the second port is available to receive the packet. - View Dependent Claims (13)
-
Specification