Patent US6016310A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6016310A Expired / Lapsed US ⏱️ 0.0 years remaining

Trunking support in a high performance network device

Assignee: Oracle America Inc
•
Filing: 1997-06-30
•
Granted: 2000-01-18
•
Expires: 2017-06-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for providing trunking support in a network device is provided. According to one aspect of the present invention, a network device includes at least one port that is configured to be included in a trunk. The network device also includes a memory for storing a forwarding database. The forwarding database includes entries containing therein forwarding information for a subset of network addresses. The network device further includes a learning circuit. The learning circuit is coupled to the trunked port and the memory. The learning circuit is configured to modify the forwarding database to reflect an association between the trunked port and a first address contained within a packet received by the trunked port. If the trunk is of a first type, the learning circuit updates the forwarding database based upon a trunk designator corresponding to the trunk; otherwise, the learning circuit updates the forwarding database based upon a port designator corresponding to the trunked port. According to another aspect of the present invention, a packet is received by a network device on one of its input ports. The packet contains therein header information including a destination address. A forwarding database is searched for the destination address. If the destination address is not found in the forwarding database and the output trunk is coupled to a network device of a first type, then load balancing is performed to assure the packet is forwarded to only one port of the output trunk. However, if the output trunk is coupled to a network device of a second type, then the packet is forwarded to all ports of the output trunk.

Inventors

  • 👤 Shimon Muller
  • 👤 Ariel Hendel

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 06:11
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/46; H04L12/4633

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 191 words
A network device comprising: a plurality of ports including a first port configured to receive a packet, at least the first port configured to be associated with at wherein the trunk is a logical channel between the network device and another network device that includes two or more physical network links; a memory for storing a forwarding database, the forwarding database including a plurality of entries containing therein forwarding information for a subset of addresses; and a learning circuit coupled to the first port and the memory configured to modify the forwarding database to reflect an association between the first port and a first address contained within the packet, the learning circuit updating the forwarding database based upon a trunk designator corresponding to the trunk if the trunk is of a first type, the learning circuit updating the forwarding database based upon a port designator corresponding to the first port if the trunk is of a second type. wherein ports associated with trunks of the first type each have the same media access control (MAC) address, and ports associated with trunks of the second type each have a different MAC address.
Claim 2
Dependent Claim 191 words
A network device comprising: a plurality of ports including a first port configured to receive a packet, at least the first port configured to be associated with at wherein the trunk is a logical channel between the network device and another network device that includes two or more physical network links; a memory for storing a forwarding database, the forwarding database including a plurality of entries containing therein forwarding information for a subset of addresses; and a learning circuit coupled to the first port and the memory configured to modify the forwarding database to reflect an association between the first port and a first address contained within the packet, the learning circuit updating the forwarding database based upon a trunk designator corresponding to the trunk if the trunk is of a first type, the learning circuit updating the forwarding database based upon a port designator corresponding to the first port if the trunk is of a second type. wherein ports associated with trunks of the first type each have the same media access control (MAC) address, and ports associated with trunks of the second type each have a different MAC address.
Claim 3
Dependent Claim 60 words
The network device of claim 1, further comprising a filtering circuit coupled to a second port of the plurality of ports and the memory, the filtering circuit configure to receive forwarding information corresponding to a second address contained within a the packet, the filtering circuit further configured to modify the forwarding information based upon a predetermined set of trunking rules.
Claim 4
Dependent Claim 65 words
The network device of claim 1, wherein the filtering circuit comprises: load balancing logic configured to selectively apply load balancing to outbound packets based upon one or more characteristics of the outbound packets and one or more characteristics of an outbound trunk; and trunk filtering logic configured to enforce the predetermined set of trunking rules based upon one or more characteristics of the outbound trunk.
Claim 5
Dependent Claim 26 words
The network device of claim 3, wherein the one or more characteristics of the outbound trunk include a number of ports associated with the outbound trunk.
Claim 6
Dependent Claim 25 words
The network device of claim 3, wherein the one or more characteristics of the outbound trunk include a trunk designator associated with the outbound trunk.
Claim 7
Dependent Claim 65 words
The network device of claim 1, wherein the forwarding database has stored therein a plurality of entries each containing an address field and a designator field, the network device further comprising a search engine coupled to the first port and to the memory, the search engine configured to determine if the address field of an entry of the plurality of entries matches the first address.
Claim 8
Dependent Claim 45 words
The network device of claim 6, wherein the search engine includes a programmable register for each of the plurality of ports, each programmable register having stored therein a trunk designator for identifying a group of two or more ports with which the trunk is associated.
Claim 9
Dependent Claim 32 words
The network device of claim 7, wherein each programmable register contains a type indicator for indicating which of the trunk designator or the port designator should be used for purposes of learning.
Claim 10
Dependent Claim 21 words
The network device of claim 8, wherein the trunk further includes one or more other ports of the plurality of ports.
Claim 11
Dependent Claim 25 words
The network device of claim 7, wherein each programmable register contains a trunk size indicating the number of ports that are associated with the trunk.
Claim 12
Dependent Claim 36 words
The network device of claim 1, wherein each of the plurality of ports is associated with a port designator, and wherein the trunk designator comprises the smallest port designator of all ports included in the trunk.
Claim 13
Dependent Claim 69 words
The network device of claim 1 further including a mask generator for producing a port mask, the port mask including a mask field corresponding to each of the plurality of ports, when the mask field is in a first state the packet may be forwarded to the corresponding port, however when the mask field is in a second state the packet will not be forwarded to the corresponding port.
Claim 14
Dependent Claim 142 words
A network device comprising: a plurality of ports including a first port configured to transmit a packet to a second network device, at least the first port configured to be included in a trunk associated with the second network device, wherein the trunk is a logical channel between the network device and the second network device that includes two or more physical network links; a memory for storing a forwarding database, the forwarding database including a plurality of entries each containing forwarding information for a particular address; and a filtering circuit coupled to the first port and the memory, the filtering circuit configured to receive forwarding information corresponding to a destination address contained within the packet, the filtering circuit further configured to modify the forwarding information based upon a predetermined set of trunking rules and one or more characteristics of the trunk.
Claim 15
Dependent Claim 142 words
A network device comprising: a plurality of ports including a first port configured to transmit a packet to a second network device, at least the first port configured to be included in a trunk associated with the second network device, wherein the trunk is a logical channel between the network device and the second network device that includes two or more physical network links; a memory for storing a forwarding database, the forwarding database including a plurality of entries each containing forwarding information for a particular address; and a filtering circuit coupled to the first port and the memory, the filtering circuit configured to receive forwarding information corresponding to a destination address contained within the packet, the filtering circuit further configured to modify the forwarding information based upon a predetermined set of trunking rules and one or more characteristics of the trunk.
Claim 16
Dependent Claim 43 words
The network device of claim 13, further comprising a search engine coupled to the first port and to the memory, the search engine configured to determine if the forwarding information of an entry of the plurality of entries corresponds to the destination address.
Claim 17
Dependent Claim 128 words
The network device of claim 13, wherein the network device further includes a learning circuit coupled to the plurality of ports and the memory, the learning circuit configured to modify the forwarding database to reflect an association between a second port of the plurality of ports upon which the packet arrived and a source address contained within the packet, the learning circuit updating the forwarding database based upon a trunk designator if the second port is of a first type, the learning circuit updating the forwarding database based upon a port designator if the second port is of a second type, wherein ports of the first type each have the same media access control (MAC) address, and ports of the second type each have a different MAC address.
Claim 18
Dependent Claim 21 words
The network device of claim 13, wherein the trunk further includes one or more other ports of the plurality of ports.
Claim 19
Dependent Claim 51 words
The network device of claim 13, wherein the filtering circuit further comprises load balancing logic configured to selectively apply load balancing to forward the packet to a single port of the plurality of ports based upon one or more characteristics of the packet and one or more characteristics of the trunk.
Claim 20
Dependent Claim 27 words
The network device of claim 17, wherein the one or more characteristics of the packet include whether the packet is a unicast packet or a multicast packet.
Claim 21
Dependent Claim 30 words
The network device of claim 17, wherein the one or more characteristics of the packet include whether the destination address is a known unicast address or an unknown unicast address.
Claim 22
Dependent Claim 23 words
The network device of claim 17, wherein the one or more characteristics of the trunk include a number of ports in the trunk.
Claim 23
Dependent Claim 23 words
The network device of claim 17, wherein the one or more characteristics of the trunk include a trunk designator associated with the trunk.
Claim 24
Dependent Claim 52 words
The network device of claim 17, wherein the one or more characteristics of the trunk include a device mode associated with the trunk indicating whether ports associated with the trunk each have the same media access control (MAC) address or the ports associated with the trunk each have a different MAC address.
Claim 25
Independent Claim 125 words
A method comprising the steps of: receiving a packet on one of a plurality of ports of a network device, the packet containing therein header information including a destination address; searching a forwarding database for the destination address; and if the destination address is not found in the forwarding database, then performing load balancing to assure the packet is forwarded to only one port of a trunk if the trunk is coupled to a network device of a first type, wherein the trunk is a logical channel between the network device and another network device including two or more physical network links, and forwarding the packet to all ports of the trunk if the trunk is coupled to a network device of a second type.
Claim 26
Independent Claim 125 words
A method comprising the steps of: receiving a packet on one of a plurality of ports of a network device, the packet containing therein header information including a destination address; searching a forwarding database for the destination address; and if the destination address is not found in the forwarding database, then performing load balancing to assure the packet is forwarded to only one port of a trunk if the trunk is coupled to a network device of a first type, wherein the trunk is a logical channel between the network device and another network device including two or more physical network links, and forwarding the packet to all ports of the trunk if the trunk is coupled to a network device of a second type.
Claim 27
Dependent Claim 35 words
The method of claim 23, further comprising the step of if the destination address is a multicast address, then performing load balancing to assure the packet is forwarded to only one port of the trunk.
Claim 28
Dependent Claim 80 words
The method of claim 23, further comprising the steps of: if the destination address is a known unicast address, then performing load balancing to determine a single port of the trunk upon which to forward the packet if the trunk is coupled to a network device of the first type, otherwise, if the trunk is coupled to a network device of the second type, forwarding the packet to the port of the plurality of ports associated with the destination address.
Claim 29
Dependent Claim 41 words
The method of claim 25, wherein network devices of the first type have the same media access control (MAC) address on all trunked ports, and wherein network devices of the second type have a different MAC address for each trunked port.
Claim 30
Dependent Claim 41 words
The method of claim 23, wherein network devices of the first type have the same media access control (MAC) address on all trunked ports, and wherein network devices of the second type have a different MAC address for each trunked port.
Claim 31
Dependent Claim 20 words
The method of claim 27 wherein the common trunk designator comprises the smallest port designator of the different port designators.
Claim 32
Independent Claim 181 words
A method for use in a network device, the method comprising the steps of: receiving a packet on a first port of a plurality of trunked ports in a trunk, wherein the trunk is a logical channel between the network device and another network device including two or more physical network links each of the plurality of trunked ports associated with a different port designator and a common trunk designator; searching a forwarding database for a source address contained in the packet; and if the source address is not found in the forwarding database, then learning either the common trunk designator or the different port designator associated with the first port based upon a mode of the first port if the first port is in a first mode, the first port has the same media access control (MAC) address as the other trunked ports of the plurality of trunked ports, and if the first port is in a second mode, the first port has a different MAC address than each of the other trunked ports of the plurality of trunked ports.
Claim 33
Independent Claim 181 words
A method for use in a network device, the method comprising the steps of: receiving a packet on a first port of a plurality of trunked ports in a trunk, wherein the trunk is a logical channel between the network device and another network device including two or more physical network links each of the plurality of trunked ports associated with a different port designator and a common trunk designator; searching a forwarding database for a source address contained in the packet; and if the source address is not found in the forwarding database, then learning either the common trunk designator or the different port designator associated with the first port based upon a mode of the first port if the first port is in a first mode, the first port has the same media access control (MAC) address as the other trunked ports of the plurality of trunked ports, and if the first port is in a second mode, the first port has a different MAC address than each of the other trunked ports of the plurality of trunked ports.
Claim 34
Dependent Claim 104 words
The method of claim 29, wherein the mode of the first port is programmable and wherein the step of learning either the common trunk designator or the different port designator further includes the steps of: if the first port is programmed to be in the first mode, then creating a forwarding database entry containing therein a representation of the trunk designator; otherwise, if the first port is programmed to be in the second mode, then creating a forwarding database entry containing therein a representation of the different port designator associated with the first port; and storing the forwarding database entry in the forwarding database.
Claim 35
Dependent Claim 41 words
The method of claim 29 wherein the source address is associated with either the common trunk designator or the different port designator associated with the first port by performing the step of storing the source address in the forwarding database entry.
Claim 36
Independent Claim 106 words
A method for use in a network device, the method comprising the steps of: receiving a packet on a first port of a plurality of ports of the network device; determining upon which of the plurality of ports to forward the packet by requesting a forwarding decision from a forwarding database; disallowing the packet from being forwarded over a trunk with which the first port is associated if the packet is not part of a Layer 3 protocol unicast route by performing packet filtering, wherein the trunk is a logical channel between the network device and another network device including two or more physical network links.
Claim 37
Independent Claim 106 words
A method for use in a network device, the method comprising the steps of: receiving a packet on a first port of a plurality of ports of the network device; determining upon which of the plurality of ports to forward the packet by requesting a forwarding decision from a forwarding database; disallowing the packet from being forwarded over a trunk with which the first port is associated if the packet is not part of a Layer 3 protocol unicast route by performing packet filtering, wherein the trunk is a logical channel between the network device and another network device including two or more physical network links.
Claim 38
Independent Claim 148 words
A method comprising the steps of: receiving a packet on one of a plurality of ports of a network device, the packet containing therein header information including a destination address; searching a forwarding database for the destination address; and if the destination address is not found in the forwarding database, then performing load balancing to assure the packet is forwarded to only one port of a trunk if the trunk is coupled to a network device of a first type which has the same media access control (MAC) address on all trunked ports, wherein the trunk is a logical channel between the network device and another network device including two or more physical network links; and forwarding the packet to all ports of the trunk if the trunk is coupled to a network device of a second type which has a different MAC address for each trunked port.
Claim 39
Independent Claim 148 words
A method comprising the steps of: receiving a packet on one of a plurality of ports of a network device, the packet containing therein header information including a destination address; searching a forwarding database for the destination address; and if the destination address is not found in the forwarding database, then performing load balancing to assure the packet is forwarded to only one port of a trunk if the trunk is coupled to a network device of a first type which has the same media access control (MAC) address on all trunked ports, wherein the trunk is a logical channel between the network device and another network device including two or more physical network links; and forwarding the packet to all ports of the trunk if the trunk is coupled to a network device of a second type which has a different MAC address for each trunked port.

References Cited (Backward Citations)

US4539637A Cited
US4627052A Cited
US4652874A Cited
US4641302A Cited
US4935869A Cited
US4737953A Cited
US4850042A Cited
US4807111A Cited
US4811337A Cited
US4899333A Cited
US4922503A Cited
US4933938A Cited
US5220562A Cited
US5130977A Cited
US5278830A Cited
US5163046A Cited
US5159685A Cited
US5210746A Cited
US5301333A Cited
US5309437A Cited
US5231633A Cited
US5150358A Cited
US5481540A Cited
US5251205A Cited
US5353412A Cited
US5490260A Cited
US5293379A Cited
US5420862A Cited
US5500860A Cited
US5392432A Cited
US5623489A Cited
US5875464A Cited
US5461624A Cited
US5313454A Cited
US5343471A Cited
US5432907A Cited
US5742760A Cited
US5720032A Cited
US5457681A Cited
US5517488A Cited
US5425028A Cited
US5291482A Cited
US5490252A Cited
US5410540A Cited
US5649109A Cited
US5404538A Cited
US5425026A Cited
US5410722A Cited
US5459714A Cited
US5365514A Cited
US5485578A Cited
US5386413A Cited
US5477537A Cited
US5402415A Cited
US5455820A Cited
US5426736A Cited
US5396602A Cited
US5553067A Cited
US5394402A Cited
US5450399A Cited
US5555405A Cited
US5515376A Cited
US5610905A Cited
US5473607A Cited
US5422838A Cited
US5485455A Cited
US5790546A Cited
US5570365A Cited
US5535202A Cited
US5761435A Cited
US5509123A Cited
US5459717A Cited
US5493564A Cited
US5602841A Cited
US5572522A Cited
US5557610A Cited
US5592476A Cited
US5689518A Cited
US5606669A Cited
US5461611A Cited
US5617421A Cited
US5583981A Cited
US5600641A Cited
US5615340A Cited
US5751967A Cited
US5640605A Cited
US5619500A Cited
US5594727A Cited
US5490139A Cited
US5675741A Cited
US5784573A Cited
US5931980A Cited
US5726977A Cited
US5550816A Cited
US5566170A Cited
US5563878A Cited
US5734651A Cited
US5745048A Cited
US5706472A Cited
US5561666A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-01-17 2003-07-19 2004-01-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-01-17 2007-07-19 2008-01-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-01-17 2011-07-19 2012-01-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag