Claims
- 1. A method performed by an ingress card, comprising:
receiving a packet comprising a destination identifier; determining an aggregated link associated with the destination identifier, the aggregated link comprising a plurality of egress ports; determining a destination port from the egress ports of the aggregated link; and communicating the packet to the destination port.
- 2. The method of claim 1, wherein:
the ingress card is in a switch; the switch comprises a plurality of egress cards; the ingress card is coupled to the egress cards using a backplane of the switch; and the plurality of egress ports comprises ports of the egress cards.
- 3. The method of claim 1, wherein the aggregated link comprises a virtual address that specifies a plurality of physical links coupled to the egress ports.
- 4. The method of claim 1, wherein the step of determining a destination port comprises determining the destination port according to a load-balancing algorithm that distributes traffic among the egress ports of the aggregated link.
- 5. The method of claim 1, wherein:
the method is performed by an ingress card in an Ethernet switch; and the aggregated link is identified by a medium access controller (MAC) address.
- 6. A method performed by an ingress card, comprising:
receiving a packet; determining a plurality of egress links for the packet; for each egress link, determining whether the egress link is an aggregated link comprising a plurality of egress ports or a non-aggregated link comprising a single egress port; for each aggregated link:
determining a destination port from the egress ports; and communicating the packet to the destination port; and for each non-aggregated link, communicating the packet to the single egress port of the non-aggregated link.
- 7. The method of claim 6, wherein the step of determining the plurality of egress links comprises:
determining that the packet is a multicast packet; determining a multicast group for the packet, the multicast group comprising a plurality of destinations; and for each destination, determining an egress link associated with the destination.
- 8. The method of claim 6, wherein the step of determining the plurality of egress links comprises:
determining a plurality of available egress links; excluding the available egress link associated with a source of the packet; and determining that the remaining available egress links comprise the plurality of egress links.
- 9. The method of claim 8, further comprising:
receiving an acknowledgement from the destination of the packet; determining a source link of the acknowledgement; and storing destination information that associates the destination with the source link.
- 10. The method of claim 6, wherein the step of determining a destination port for each aggregated link comprises determining the destination port according to a load-balancing algorithm that distributes traffic among the egress ports of the aggregated link.
- 11. The method of claim 6, wherein:
the method is performed by an ingress card in an Ethernet switch; and each egress link is identified by a medium access controller (MAC) address.
- 12. An ingress card, comprising:
an interface operable to receive a packet; a memory operable to store:
destination information comprising a plurality of destination identifiers, each destination identifier associated with a link; and port information for a plurality of links, the port information identifying one or more egress ports for each link; and a processor operable to:
determine one or more destinations for the packet; for each destination, determine an associated link; for each associated link that is aggregated, determine a destination port; and communicate the packet to each destination port using the interface.
- 13. The ingress card of claim 12, further comprising a switch, the switch further comprising a plurality of egress cards, the egress cards further comprising the plurality of egress ports.
- 14. The ingress card of claim 13, wherein:
each link comprises one or more physical links; and each egress port is coupled to one of the physical links.
- 15. Logic embodied in a computer readable medium operable to perform the steps of:
receiving a packet comprising a destination identifier; determining an aggregated link associated with the destination identifier, the aggregated link comprising a plurality of egress ports; determining a destination port from the egress ports of the aggregated link; and communicating the packet to the destination port.
- 16. The logic of claim 15, wherein:
the ingress card is in a switch; the switch comprises a plurality of egress cards; the ingress card is coupled to the egress cards using a backplane of the switch; and the plurality of egress ports comprises ports of the egress cards.
- 17. The logic of claim 15, wherein the aggregated link comprises a virtual address that specifies a plurality of physical links coupled to the egress ports.
- 18. The logic of claim 15, wherein the step of determining a destination port comprises determining the destination port according to a load-balancing algorithm that distributes traffic among the egress ports of the aggregated link.
- 19. Logic embodied in a computer readable medium operable to perform the steps of:
receiving a packet; determining a plurality of egress links for the packet; for each egress link, determining whether the egress link is an aggregated link comprising a plurality of egress ports or a non-aggregated link comprising a single egress port; for each aggregated link:
determining a destination port from the egress ports; and communicating the packet to the destination port; and for each non-aggregated link, communicating the packet to the single egress port of the non-aggregated link.
- 20. The logic of claim 19, wherein the step of determining the plurality of egress links comprises:
determining that the packet is a multicast packet; determining a multicast group for the packet, the multicast group comprising a plurality of destinations; and for each destination, determining an egress link associated with the destination.
- 21. The logic of claim 19, wherein the step of determining the plurality of egress links comprises:
determining a plurality of available egress links; excluding the available egress link associated with a source of the packet; and determining that the remaining available egress links comprise the plurality of egress links.
- 22. The logic of claim 21, further comprising:
receiving an acknowledgement from the destination of the packet; determining a source link of the acknowledgement; and storing destination information that associates the destination with the source link.
- 23. The logic of claim 19, wherein the step of determining a destination port for each aggregated link comprises determining the destination port according to a load-balancing algorithm that distributes traffic among the egress ports of the aggregated link.
- 24. A method performed by an ingress card, comprising:
receiving a packet comprising a destination identifier; determining whether the destination identifier corresponds to any one of a plurality of learned destinations in destination information stored in a memory; if the destination identifier corresponds to one of the learned destinations:
determining one or more egress link addresses associated with the destination identifier; for each egress link address, determining one or more egress ports associated with the egress link address; for each egress link address associated with more than one egress port, determining a destination port for the packet from the egress ports associated with egress link; and for each egress link address associated with one egress port, determining that the egress port is a destination port for the packet; and for each egress link address, communicating a copy of the packet to the destination port associated with the egress link; and if the destination port does not correspond to one of the learned destinations:
determining one or more available egress links; communicating a copy of the packet to every available egress link except the available egress link from which the packet was received; receiving an acknowledgement from a destination; and updating the destination information in response to the acknowledgement.
- 25. The method of claim 24, wherein:
the method is performed in a switch comprising:
the ingress card; and a plurality of egress cards, each egress card comprising one or more of the egress ports; and each link comprises one or more physical links, each link coupled to one of the egress ports of the switch.
RELATED APPLICATIONS
[0001] This application claims the priority benefit of U.S. patent application Ser. No. 10/061,111 filed Feb. 1, 2002 entitled “Forwarding Packets to Aggregated Links Using Distributed Ingress Card Processing,” which is hereby incorporated by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
10061111 |
Feb 2002 |
US |
Child |
10131886 |
Apr 2002 |
US |