US7606230B1 - Link aggregation for routed ports - Google Patents

Link aggregation for routed ports Download PDF

Info

Publication number
US7606230B1
US7606230B1 US10/958,077 US95807704A US7606230B1 US 7606230 B1 US7606230 B1 US 7606230B1 US 95807704 A US95807704 A US 95807704A US 7606230 B1 US7606230 B1 US 7606230B1
Authority
US
United States
Prior art keywords
ports
routing
selected group
interface
routing interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US10/958,077
Inventor
Yuval Cohen
Nafea Bishara
Michael Orr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Marvell Asia Pte Ltd
Original Assignee
Marvell International Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Assigned to RADLAN COMPUTER COMMUNICATIONS, LTD. reassignment RADLAN COMPUTER COMMUNICATIONS, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COHEN, YUVAL
Priority to US10/958,077 priority Critical patent/US7606230B1/en
Application filed by Marvell International Ltd filed Critical Marvell International Ltd
Assigned to MARVELL INTERNATIONAL LTD. reassignment MARVELL INTERNATIONAL LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MARVELL SEMICONDUCTOR, INC.
Assigned to MARVELL SEMICONDUCTOR, INC. reassignment MARVELL SEMICONDUCTOR, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BISHARA, NAFEA, ORR, MICHAEL
Assigned to MARVELL SOFTWARE SOLUTIONS ISRAEL LTD. reassignment MARVELL SOFTWARE SOLUTIONS ISRAEL LTD. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: RADLAN COMPUTER COMMUNICATIONS LTD.
Assigned to MARVELL INTERNATIONAL LTD. reassignment MARVELL INTERNATIONAL LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MARVELL SOFTWARE SOLUTIONS ISRAEL LTD.
Priority to US12/581,512 priority patent/US8085778B1/en
Publication of US7606230B1 publication Critical patent/US7606230B1/en
Application granted granted Critical
Assigned to CAVIUM INTERNATIONAL reassignment CAVIUM INTERNATIONAL ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MARVELL INTERNATIONAL LTD.
Assigned to MARVELL ASIA PTE, LTD. reassignment MARVELL ASIA PTE, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CAVIUM INTERNATIONAL
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the present invention relates generally to network communications. More particularly, the present invention relates to link aggregation in a network device.
  • link aggregation often referred to as “layer-2 trunking” or “trunking.”
  • Link aggregation is a method of combining multiple physical data communication links to form a single logical link, thereby increasing the capacity and availability of the communication channels between network devices such as servers, switches, end stations, and other network-enabled devices. For example, two or more Gigabit Ethernet or Fast Ethernet connections between two network devices can be combined to increase bandwidth capability and to create resilient and redundant links.
  • Link aggregation also provides load balancing, which is especially important for networks where it is difficult to predict the volume of data directed to each network device. Link aggregation distributes processing and communications activity evenly across a network so that no single network device is overwhelmed.
  • the invention features a wireless network apparatus and corresponding method and computer program. It comprises a plurality of ports to transmit and receive data flows comprising packets of data; a memory to store a routing table; a forwarding engine to transfer the packets of data between the ports according to the routing table; and a processor to define a routing interface comprising a selected group of the ports, map a selected media access control (MAC) address to the routing interface, disable link aggregation between the ports in the routing interface, disable bridging between the ports in the routing interface, and modify the routing table to direct each of the data flows having the MAC address as a destination address to one of the ports in the routing interface.
  • MAC media access control
  • the processor modifies the routing table entries for the ports in the routing interface to provide load balancing among the ports in the routing interface.
  • the load balancing is based on Equal Cost Multi-Path Routing Protocol (ECMP).
  • ECMP Equal Cost Multi-Path Routing Protocol
  • the processor allocates a virtual local-area network (VLAN) to the selected group of the ports.
  • VLAN virtual local-area network
  • a multi-layer switch comprises the network device.
  • FIG. 1 shows a multi-layer switch in communication with a server over network links according to a preferred embodiment.
  • FIG. 2 shows a process for the multi-layer switch of FIG. 1 to establish a routed trunk with the server of FIG. 1 according to a preferred embodiment.
  • Embodiments of the present invention employ routing techniques, for example in a multi-layer switch, to implement link aggregation without using conventional layer-2 link aggregation techniques, thereby creating what are referred to herein as “routed trunks.”
  • routed trunks A significant advantage of these routed trunks is that the number of routed trunks a switch can employ is not restricted by any link aggregation limit of the switch. Large numbers of routed trunks are especially useful when communicating with a large number of servers, which often requires a number of trunks that exceeds the link aggregation limit of conventional switches.
  • Network devices employing the routed trunks of the present invention are compatible with existing networks such as the Internet.
  • the techniques disclosed herein are internal to the device employing them, and are transparent to other devices which can, but need not, employ those techniques.
  • embodiments of the present invention have broad applicability.
  • FIG. 1 shows a multi-layer switch 100 in communication with a network device 112 such as a server over network links 102 according to a preferred embodiment.
  • a multi-layer switch is a switch that combines aspects of data link layer switches and network-layer switches, as is well-known in the relevant arts. But although embodiments of the present invention are described with respect to a multi-layer switch, these embodiments are applicable to other sorts of network devices such as routers and the like. In addition, although embodiments of the present invention are described as establishing routed trunks with a server, these embodiments are equally applicable in establishing routed trunks with other sorts of network devices such as network switches and the like.
  • Multi-layer switch 100 comprises a plurality of ports 104 , a forwarding engine 106 , a processor 108 , and a memory 110 .
  • Ports 104 transmit and receive data flows comprising packets of data.
  • a data flow is an ordered set of packets transmitted from one network device to another, as is well-known in the relevant arts.
  • Forwarding engine 106 transfers the packets between ports 104 according to entries in routing tables stored in memory 110 according to techniques well-known in the relevant arts.
  • Processor 108 creates and modifies the routing tables according to other well-known techniques such as learning.
  • FIG. 2 shows a process 200 for multi-layer switch 100 to establish a routed trunk with server 112 according to a preferred embodiment.
  • the group 114 of ports 104 can be selected by the user manually or with the help of some automated process such as the link aggregation control protocol (LACP) documented in the Institute of Electrical and Electronics Engineers (IEEE) standard 802.3ad, which is incorporated by reference herein in its entirety.
  • LACP link aggregation control protocol
  • IEEE Institute of Electrical and Electronics Engineers
  • Processor 108 then defines a routing interface comprising the selected group 114 of ports 104 according to techniques well-known in the relevant arts (step 204 ).
  • the routing interface is defined by allocating a virtual local-area network (VLAN) to the selected group 114 of ports 104 .
  • VLANs are documented in the Institute of Electrical and Electronics Engineers (IEEE) standard 802.3q, which is incorporated by reference herein in its entirety.
  • Processor 108 assigns one of the media access control (MAC) addresses belonging to multi-layer switch 100 to the routing interface (step 206 ).
  • MAC media access control
  • the routed trunks of the present invention provide the benefits and appearance of conventional link aggregation without employing conventional trunking, thereby permitting more trunks that conventional switches allow. Therefore, to prevent multi-layer switch 100 from employing conventional layer-2 trunking, processor 108 disables layer-2 link aggregation between the ports 104 in the routing interface (step 208 ).
  • processor 108 disables bridging between the ports 104 in the routing interface (step 210 ).
  • a data flow is an ordered set of packets transmitted from one network device to another. As long as the order of the packets in each data flow is preserved, a network switch can employ any mechanism for trunking. To ensure that the packet order is preserved, processor 108 modifies the routing table to direct each of the data flows having the routing interface's MAC address as a destination address to one of the ports 104 in the routing interface (step 212 ).
  • Processor 108 optionally modifies the routing table entries in memory 110 for the ports 104 in the routing interface to provide load balancing among the ports 104 in the routing interface.
  • One well-known routing protocol that can be used for load balancing is the Equal Cost Multi-Path Routing Protocol (ECMP), which provides multiple routed paths to an end destination. Again, as long as packet order is preserved within each data flow, any load-balancing technique can be used, while still maintaining compliance with applicable standards such as IEEE standards.
  • ECMP Equal Cost Multi-Path Routing Protocol
  • the routed trunk comprising the links between the selected group 114 of ports 104 and server 112 now performs in the same manner as a conventional trunk.
  • Server 112 need not perform routed trunking, and indeed needs no knowledge of the routed trunking.
  • the routed trunk appears the same as a conventional layer-2 trunk.
  • the techniques described above can be used to establish additional routed trunks to server 112 or to other servers. Because these techniques are implemented using layer-3 mechanisms, the maximum number of trunks that multi-layer switch 100 can provide is limited only by the size of the routing table, which can be very large, rather than by the silicon area of switch 100 , as is the case in conventional layer-2 trunking.
  • the invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
  • Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output.
  • the invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
  • Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language.
  • Suitable processors include, by way of example, both general and special purpose microprocessors.
  • a processor will receive instructions and data from a read-only memory and/or a random access memory.
  • a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks.
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
  • semiconductor memory devices such as EPROM, EEPROM, and flash memory devices
  • magnetic disks such as internal hard disks and removable disks
  • magneto-optical disks magneto-optical disks
  • CD-ROM disks CD-ROM disks

Abstract

A wireless network apparatus and corresponding method and computer program comprises a plurality of ports to transmit and receive data flows comprising packets of data; a memory to store a routing table; a forwarding engine to transfer the packets of data between the ports according to the routing table; and a processor to define a routing interface comprising a selected group of the ports, map a selected media access control (MAC) address to the routing interface, disable link aggregation between the ports in the routing interface, disable bridging between the ports in the routing interface, and modify the routing table to direct each of the data flows having the MAC address as a destination address to one of the ports in the routing interface.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/569,728 entitled “Routed Trunks,” filed May 10, 2004, the disclosure thereof incorporated by reference herein in its entirety.
BACKGROUND
The present invention relates generally to network communications. More particularly, the present invention relates to link aggregation in a network device.
The growing popularity of high-speed data communications has led to an increasing demand for high-bandwidth data channels that exceed the bandwidth of existing communication links. A solution that has enjoyed widespread acceptance is link aggregation, often referred to as “layer-2 trunking” or “trunking.”
Link aggregation is a method of combining multiple physical data communication links to form a single logical link, thereby increasing the capacity and availability of the communication channels between network devices such as servers, switches, end stations, and other network-enabled devices. For example, two or more Gigabit Ethernet or Fast Ethernet connections between two network devices can be combined to increase bandwidth capability and to create resilient and redundant links.
Link aggregation also provides load balancing, which is especially important for networks where it is difficult to predict the volume of data directed to each network device. Link aggregation distributes processing and communications activity evenly across a network so that no single network device is overwhelmed.
Link aggregation is documented in the Institute of Electrical and Electronics Engineers (IEEE) standard 802.3ad, which is incorporated by reference herein in its entirety.
However, conventional network devices employ silicon mechanisms to provide link aggregation, and so are limited in the number of trunks they can provide. Furthermore, many conventional network devices do not permit link aggregation at all.
SUMMARY
In general, in one aspect, the invention features a wireless network apparatus and corresponding method and computer program. It comprises a plurality of ports to transmit and receive data flows comprising packets of data; a memory to store a routing table; a forwarding engine to transfer the packets of data between the ports according to the routing table; and a processor to define a routing interface comprising a selected group of the ports, map a selected media access control (MAC) address to the routing interface, disable link aggregation between the ports in the routing interface, disable bridging between the ports in the routing interface, and modify the routing table to direct each of the data flows having the MAC address as a destination address to one of the ports in the routing interface.
Particular implementations can include one or more of the following features. The processor modifies the routing table entries for the ports in the routing interface to provide load balancing among the ports in the routing interface. The load balancing is based on Equal Cost Multi-Path Routing Protocol (ECMP). To define a routing interface, the processor allocates a virtual local-area network (VLAN) to the selected group of the ports. A multi-layer switch comprises the network device.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
DESCRIPTION OF DRAWINGS
FIG. 1 shows a multi-layer switch in communication with a server over network links according to a preferred embodiment.
FIG. 2 shows a process for the multi-layer switch of FIG. 1 to establish a routed trunk with the server of FIG. 1 according to a preferred embodiment.
The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears.
DETAILED DESCRIPTION
Embodiments of the present invention employ routing techniques, for example in a multi-layer switch, to implement link aggregation without using conventional layer-2 link aggregation techniques, thereby creating what are referred to herein as “routed trunks.” A significant advantage of these routed trunks is that the number of routed trunks a switch can employ is not restricted by any link aggregation limit of the switch. Large numbers of routed trunks are especially useful when communicating with a large number of servers, which often requires a number of trunks that exceeds the link aggregation limit of conventional switches.
Network devices employing the routed trunks of the present invention are compatible with existing networks such as the Internet. The techniques disclosed herein are internal to the device employing them, and are transparent to other devices which can, but need not, employ those techniques. Thus embodiments of the present invention have broad applicability.
FIG. 1 shows a multi-layer switch 100 in communication with a network device 112 such as a server over network links 102 according to a preferred embodiment. A multi-layer switch is a switch that combines aspects of data link layer switches and network-layer switches, as is well-known in the relevant arts. But although embodiments of the present invention are described with respect to a multi-layer switch, these embodiments are applicable to other sorts of network devices such as routers and the like. In addition, although embodiments of the present invention are described as establishing routed trunks with a server, these embodiments are equally applicable in establishing routed trunks with other sorts of network devices such as network switches and the like.
Multi-layer switch 100 comprises a plurality of ports 104, a forwarding engine 106, a processor 108, and a memory 110. Ports 104 transmit and receive data flows comprising packets of data. A data flow is an ordered set of packets transmitted from one network device to another, as is well-known in the relevant arts. Forwarding engine 106 transfers the packets between ports 104 according to entries in routing tables stored in memory 110 according to techniques well-known in the relevant arts. Processor 108 creates and modifies the routing tables according to other well-known techniques such as learning.
FIG. 2 shows a process 200 for multi-layer switch 100 to establish a routed trunk with server 112 according to a preferred embodiment. First a group 114 of the ports 104 that are in communication with server 112 is selected for routed link aggregation (step 202). The group 114 of ports 104 can be selected by the user manually or with the help of some automated process such as the link aggregation control protocol (LACP) documented in the Institute of Electrical and Electronics Engineers (IEEE) standard 802.3ad, which is incorporated by reference herein in its entirety.
Processor 108 then defines a routing interface comprising the selected group 114 of ports 104 according to techniques well-known in the relevant arts (step 204). In some embodiments, the routing interface is defined by allocating a virtual local-area network (VLAN) to the selected group 114 of ports 104. VLANs are documented in the Institute of Electrical and Electronics Engineers (IEEE) standard 802.3q, which is incorporated by reference herein in its entirety.
Processor 108 assigns one of the media access control (MAC) addresses belonging to multi-layer switch 100 to the routing interface (step 206).
As mentioned above, the routed trunks of the present invention provide the benefits and appearance of conventional link aggregation without employing conventional trunking, thereby permitting more trunks that conventional switches allow. Therefore, to prevent multi-layer switch 100 from employing conventional layer-2 trunking, processor 108 disables layer-2 link aggregation between the ports 104 in the routing interface (step 208).
If bridging were enabled between the ports 104 in the selected group 114, traffic received from server 112 by one port 104 in the group 114 could be sent back to server 112 by one or more of the other ports 104 in the group 114. To prevent this problem, processor 108 disables bridging between the ports 104 in the routing interface (step 210).
As mentioned above, a data flow is an ordered set of packets transmitted from one network device to another. As long as the order of the packets in each data flow is preserved, a network switch can employ any mechanism for trunking. To ensure that the packet order is preserved, processor 108 modifies the routing table to direct each of the data flows having the routing interface's MAC address as a destination address to one of the ports 104 in the routing interface (step 212).
Processor 108 optionally modifies the routing table entries in memory 110 for the ports 104 in the routing interface to provide load balancing among the ports 104 in the routing interface. One well-known routing protocol that can be used for load balancing is the Equal Cost Multi-Path Routing Protocol (ECMP), which provides multiple routed paths to an end destination. Again, as long as packet order is preserved within each data flow, any load-balancing technique can be used, while still maintaining compliance with applicable standards such as IEEE standards.
The routed trunk comprising the links between the selected group 114 of ports 104 and server 112 now performs in the same manner as a conventional trunk. Server 112 need not perform routed trunking, and indeed needs no knowledge of the routed trunking. To server 112, the routed trunk appears the same as a conventional layer-2 trunk. The techniques described above can be used to establish additional routed trunks to server 112 or to other servers. Because these techniques are implemented using layer-3 mechanisms, the maximum number of trunks that multi-layer switch 100 can provide is limited only by the size of the routing table, which can be very large, rather than by the silicon area of switch 100, as is the case in conventional layer-2 trunking.
The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.

Claims (21)

1. A network device comprising:
a plurality of ports to transmit and receive data flows comprising packets of data;
a memory to store a routing table;
a forwarding engine to transfer the packets of data between the ports according to the routing table; and
a processor to
define a routing interface comprising a selected group of the ports,
map a selected media access control (MAC) address to the routing interface,
disable link aggregation between the selected group of the ports of the routing interface,
disable bridging between the selected group of the ports of the routing interface without disabling the selected group of the ports, and
modify the routing table to direct each of the data flows having the MAC address as a destination address to one of the selected group of the ports of the routing interface.
2. The network device of claim 1:
wherein the processor modifies the routing table entries for the selected group of the ports of the routing interface to provide load balancing among the selected group of the ports of the routing interface after disabling bridging between the selected group of the ports.
3. The network device of claim 2:
wherein the load balancing is based on Equal Cost Multi-Path Routing Protocol (ECMP).
4. The network device of claim 1, wherein, to define a routing interface, the processor allocates a virtual local-area network (VLAN) to the selected group of the ports.
5. A network device comprising:
a plurality of port means for transmitting and receiving data flows comprising packets of data;
memory means for storing a routing table;
forwarding means for transferring the packets of data between the port means according to the routing table; and
processing means for
defining a routing interface comprising a selected group of the port means,
mapping a selected media access control (MAC) address to the routing interface,
disabling link aggregation between the selected group of the port means of the routing interface,
disabling bridging between the selected group of the port means of the routing interface without disabling the selected group of the port means, and
modifying the routing table to direct each of the data flows having the MAC address as a destination address to one of the selected group of the port means of the routing interface.
6. The network device of claim 5:
wherein the processing means modifies the routing table entries for the port means in the routing interface to provide load balancing among the port means in the routing interface after disabling bridging between the selected group of the port means.
7. The network device of claim 6:
wherein the load balancing is based on Equal Cost Multi-Path Routing Protocol (ECMP).
8. The network device of claim 5, wherein, to define a routing interface, the processing means allocates a virtual local-area network (VLAN) to the selected group of the port means.
9. A method for a network device having a plurality of ports for transmitting and receiving data flows comprising packets of data according to a routing table, the method comprising:
defining a router interface comprising a selected group of the ports;
mapping a Media Access Control (MAC) address to the router interface;
disabling link aggregation between the selected group of the ports of the routing interface;
disabling bridging between the selected group of the ports of the routing interface without disabling the selected group of the ports; and
modifying the routing table to direct each of the data flows having the MAC address as a destination address to one of the selected group of the ports of the routing interface.
10. The method of claim 9, further comprising:
modifying the routing table entries for the selected group of the ports of the routing interface to provide load balancing among the selected group of the ports of the routing interface after disabling bridging between the selected group of the ports.
11. The method of claim 10:
wherein the load balancing is based on Equal Cost Multi-Path Routing Protocol (ECMP).
12. The method of claim 9, wherein defining a routing interface comprises:
allocating a virtual local-area network (VLAN) to the selected group of the ports.
13. A computer readable medium storing a computer program capable of being executed by a computer for a network device having a plurality of ports for transmitting and receiving data flows comprising packets of data according to a routing table, the computer program comprising:
defining a router interface comprising a selected group of the ports;
mapping a Media Access Control (MAC) address to the router interface;
disabling link aggregation between the selected group of the ports of the routing interface;
disabling bridging between the selected group of the ports of the routing interface without disabling the selected group of the ports; and
modifying the routing table to direct each of the data flows having the MAC address as a destination address to one of the selected group of the ports of the routing interface.
14. The computer readable medium of claim 13, further comprising:
modifying the routing table entries for the selected group of the ports of the routing interface to provide load balancing among the selected group of the ports of the routing interface after disabling bridging between the selected group of the ports.
15. The computer readable medium of claim 14:
wherein the load balancing is based on Equal Cost Multi-Path Routing Protocol (ECMP).
16. The computer readable medium of claim 13, wherein defining a routing interface comprises:
allocating a virtual local-area network (VLAN) to the selected group of the ports.
17. A first network device comprising:
X ports within the first network device that transmit and receive data flows comprising packets of data with a second network device that has a media access control (MAC) address;
memory that stores a routing table;
a forwarding engine to transfer the packets of data between the X ports according to the routing table; and
a processor to
define a routing interface comprising Y of the X ports,
map said MAC address to the routing interface,
disable link aggregation between the Y of the X ports of the routing interface,
disable bridging between the Y of the X ports without disabling the Y of the X ports, and
modify the routing table to direct each of the data flows having the MAC address as a destination address to one of the Y of the X ports, where X is an integer greater than 1 and where Y is less than X.
18. The network device of claim 17:
wherein the processor modifies the routing table entries for the Y of the X ports of the routing interface to provide load balancing among the Y of the X ports of the routing interface after disabling bridging between the Y of the X ports.
19. The network device of claim 18:
wherein the load balancing is based on Equal Cost Multi-Path Routing Protocol (ECMP).
20. The network device of claim 17, wherein, to define a routing interface, the processor allocates a virtual local-area network (VLAN) to the selected group of the ports.
21. The network device of claim 17, wherein the processor disables link aggregation between the Y of the X ports without disabling link aggregation between X-Y of the X ports that are not members of the Y of the X ports of the routing interface.
US10/958,077 2004-05-10 2004-10-04 Link aggregation for routed ports Active 2026-06-07 US7606230B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/958,077 US7606230B1 (en) 2004-05-10 2004-10-04 Link aggregation for routed ports
US12/581,512 US8085778B1 (en) 2004-05-10 2009-10-19 Voltage regulator

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56972804P 2004-05-10 2004-05-10
US10/958,077 US7606230B1 (en) 2004-05-10 2004-10-04 Link aggregation for routed ports

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/481,310 Division US7668487B2 (en) 2004-10-04 2009-06-09 Printed circuit board printing system
US12/581,512 Continuation US8085778B1 (en) 2004-05-10 2009-10-19 Voltage regulator

Publications (1)

Publication Number Publication Date
US7606230B1 true US7606230B1 (en) 2009-10-20

Family

ID=41170341

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/958,077 Active 2026-06-07 US7606230B1 (en) 2004-05-10 2004-10-04 Link aggregation for routed ports
US12/581,512 Active 2024-10-21 US8085778B1 (en) 2004-05-10 2009-10-19 Voltage regulator

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/581,512 Active 2024-10-21 US8085778B1 (en) 2004-05-10 2009-10-19 Voltage regulator

Country Status (1)

Country Link
US (2) US7606230B1 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070751A1 (en) * 2008-09-18 2010-03-18 Chee Hoe Chu Preloader
US20100174934A1 (en) * 2009-01-05 2010-07-08 Qun Zhao Hibernation or Suspend Using a Non-Volatile-Memory Device
US20120207154A1 (en) * 2011-02-14 2012-08-16 Brocade Communications Systems, Inc. Port Decommissioning
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US8327056B1 (en) 2007-04-05 2012-12-04 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) * 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US9036629B2 (en) 2012-04-27 2015-05-19 Hewlett-Packard Development Company, L.P. Switch module
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US20160156551A1 (en) * 2014-12-01 2016-06-02 Mellanox Technologies Ltd. Label-based forwarding with enhanced scalability
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations
US9853890B2 (en) 2015-03-23 2017-12-26 Mellanox Technologies, Ltd. Efficient implementation of MPLS tables for multi-level and multi-path scenarios
US9860862B1 (en) 2013-05-21 2018-01-02 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
US10979412B2 (en) 2016-03-08 2021-04-13 Nxp Usa, Inc. Methods and apparatus for secure device authentication
US11438261B2 (en) 2017-11-28 2022-09-06 Cumulus Networks Inc. Methods and systems for flow virtualization and visibility

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058116A (en) 1998-04-15 2000-05-02 3Com Corporation Interconnected trunk cluster arrangement
US6163543A (en) 1997-07-30 2000-12-19 Cisco Technology, Inc. Port aggregation protocol
US6363077B1 (en) 1998-02-13 2002-03-26 Broadcom Corporation Load balancing in link aggregation and trunking
US6385197B1 (en) 1999-07-09 2002-05-07 Allied Telesyn International Corp. Virtual port trunking method and apparatus
US6456962B1 (en) * 1999-06-03 2002-09-24 Fujitsu Network Communications, Inc. Interface to network protocol software to support hardware acceleration of critical functions
US20030002443A1 (en) * 2001-05-24 2003-01-02 International Business Machines Corporation System and method for enhancing the availability of routing systems through equal cost multipath
US20030021283A1 (en) * 2001-07-30 2003-01-30 See Michael E. Distributed network management system using policies
US6553029B1 (en) 1999-07-09 2003-04-22 Pmc-Sierra, Inc. Link aggregation in ethernet frame switches
US6567410B1 (en) * 1996-08-08 2003-05-20 Enterasys Networks, Inc. Assigning multiple parallel bridge numbers to bridges having three or more ports
US6687751B1 (en) 2000-01-28 2004-02-03 3Com Corporation Multi-point link aggregation spoofing
US6850495B1 (en) * 2000-08-31 2005-02-01 Verizon Communications Inc. Methods, apparatus and data structures for segmenting customers using at least a portion of a layer 2 address header or bits in the place of a layer 2 address header
US6857027B1 (en) * 2000-11-14 2005-02-15 3Com Corporation Intelligent network topology and configuration verification using a method of loop detection
US20050041590A1 (en) * 2003-08-22 2005-02-24 Joseph Olakangil Equal-cost source-resolved routing system and method
US20050135357A1 (en) * 2003-12-22 2005-06-23 3Com Corporation Stackable routers employing a routing protocol
US6956824B2 (en) * 2001-06-14 2005-10-18 Tropic Networks Inc. Extension of link aggregation protocols over the network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515376A (en) * 1993-07-19 1996-05-07 Alantec, Inc. Communication apparatus and methods
US6038600A (en) * 1997-07-16 2000-03-14 Hewlett-Packard Company Method and system for automatic detection of bridged and repeated network device connections

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567410B1 (en) * 1996-08-08 2003-05-20 Enterasys Networks, Inc. Assigning multiple parallel bridge numbers to bridges having three or more ports
US6163543A (en) 1997-07-30 2000-12-19 Cisco Technology, Inc. Port aggregation protocol
US6363077B1 (en) 1998-02-13 2002-03-26 Broadcom Corporation Load balancing in link aggregation and trunking
US6614758B2 (en) 1998-02-13 2003-09-02 Broadcom Corp Load balancing in link aggregation and trunking
US6058116A (en) 1998-04-15 2000-05-02 3Com Corporation Interconnected trunk cluster arrangement
US6456962B1 (en) * 1999-06-03 2002-09-24 Fujitsu Network Communications, Inc. Interface to network protocol software to support hardware acceleration of critical functions
US6553029B1 (en) 1999-07-09 2003-04-22 Pmc-Sierra, Inc. Link aggregation in ethernet frame switches
US6385197B1 (en) 1999-07-09 2002-05-07 Allied Telesyn International Corp. Virtual port trunking method and apparatus
US6687751B1 (en) 2000-01-28 2004-02-03 3Com Corporation Multi-point link aggregation spoofing
US6850495B1 (en) * 2000-08-31 2005-02-01 Verizon Communications Inc. Methods, apparatus and data structures for segmenting customers using at least a portion of a layer 2 address header or bits in the place of a layer 2 address header
US6857027B1 (en) * 2000-11-14 2005-02-15 3Com Corporation Intelligent network topology and configuration verification using a method of loop detection
US20030002443A1 (en) * 2001-05-24 2003-01-02 International Business Machines Corporation System and method for enhancing the availability of routing systems through equal cost multipath
US6956824B2 (en) * 2001-06-14 2005-10-18 Tropic Networks Inc. Extension of link aggregation protocols over the network
US20030021283A1 (en) * 2001-07-30 2003-01-30 See Michael E. Distributed network management system using policies
US20050041590A1 (en) * 2003-08-22 2005-02-24 Joseph Olakangil Equal-cost source-resolved routing system and method
US20050135357A1 (en) * 2003-12-22 2005-06-23 3Com Corporation Stackable routers employing a routing protocol

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"802.16 IEEE Standard for Local and Metropolitan Area Networks; Part 16: Air Interface for Fixed Broadband Wireless Access Systems," 802.16 IEEE Standard for Local and Metropolitan Area Networks, Oct. 1, 2004, pp. i-xxxiv and pp. 1-857, IEEE Std 802.16-2004, IEEE, United States.
IEEE Standard 802.20-PD-06, Draft 802.20 Permanent Document, System Requirements for IEEE 802.20 Mobile Broadband Wireless Access Systems-Version 14, Jul. 16, 2004, pp. 1-24.

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327056B1 (en) 2007-04-05 2012-12-04 Marvell International Ltd. Processor management using a buffer
US8843686B1 (en) 2007-04-05 2014-09-23 Marvell International Ltd. Processor management using a buffer
US9253175B1 (en) 2007-04-12 2016-02-02 Marvell International Ltd. Authentication of computing devices using augmented credentials to enable actions-per-group
US8443187B1 (en) * 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US8839016B2 (en) 2007-07-23 2014-09-16 Marvell World Trade Ltd. USB self-idling techniques
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US9769653B1 (en) 2008-08-20 2017-09-19 Marvell International Ltd. Efficient key establishment for wireless networks
US8688968B2 (en) 2008-09-18 2014-04-01 Marvell World Trade Ltd. Preloading an application while an operating system loads
US8296555B2 (en) 2008-09-18 2012-10-23 Marvell World Trade Ltd. Preloader
US20100070751A1 (en) * 2008-09-18 2010-03-18 Chee Hoe Chu Preloader
US9652249B1 (en) 2008-09-18 2017-05-16 Marvell World Trade Ltd. Preloading an application while an operating system loads
US8443211B2 (en) 2009-01-05 2013-05-14 Marvell World Trade Ltd. Hibernation or suspend using a non-volatile-memory device
US20100174934A1 (en) * 2009-01-05 2010-07-08 Qun Zhao Hibernation or Suspend Using a Non-Volatile-Memory Device
US20120207154A1 (en) * 2011-02-14 2012-08-16 Brocade Communications Systems, Inc. Port Decommissioning
US9571423B2 (en) * 2011-02-14 2017-02-14 Brocade Communications Systems, Inc. Port decommissioning
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US10275377B2 (en) 2011-11-15 2019-04-30 Marvell World Trade Ltd. Dynamic boot image streaming
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US9036629B2 (en) 2012-04-27 2015-05-19 Hewlett-Packard Development Company, L.P. Switch module
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9860862B1 (en) 2013-05-21 2018-01-02 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations
US10826822B2 (en) * 2014-12-01 2020-11-03 Mellanox Technologies, Ltd. Label-based forwarding with enhanced scalability
US20160156551A1 (en) * 2014-12-01 2016-06-02 Mellanox Technologies Ltd. Label-based forwarding with enhanced scalability
US9853890B2 (en) 2015-03-23 2017-12-26 Mellanox Technologies, Ltd. Efficient implementation of MPLS tables for multi-level and multi-path scenarios
US10979412B2 (en) 2016-03-08 2021-04-13 Nxp Usa, Inc. Methods and apparatus for secure device authentication
US11438261B2 (en) 2017-11-28 2022-09-06 Cumulus Networks Inc. Methods and systems for flow virtualization and visibility

Also Published As

Publication number Publication date
US8085778B1 (en) 2011-12-27

Similar Documents

Publication Publication Date Title
US8085778B1 (en) Voltage regulator
US20220075673A1 (en) Routing Optimizations In A Network Computing Environment
US9246810B2 (en) Hash-based load balancing with per-hop seeding
US7359383B2 (en) Load balancing with mesh tagging
JP4768191B2 (en) Link aggregation
JP4076586B2 (en) Systems and methods for multilayer network elements
US7606161B2 (en) Distributing information across equal-cost paths in a network
EP3949293A1 (en) Slice-based routing
US20050220123A1 (en) Apparatus and method for multi-protocol route redistribution in a massively parallel router
US8644328B2 (en) Methods for intelligent NIC bonding and load-balancing
US10673744B2 (en) Methods, systems, and computer readable media for advanced distribution in a link aggregation group
US20120263187A1 (en) Two-Layer Switch Apparatus Avoiding First Layer Inter-Switch Traffic In Steering Packets Through The Apparatus
CN110061915B (en) Method and system for virtual link aggregation across multiple fabric switches
US6765914B1 (en) Generic switch architecture to support flexible subnets across layer-3 devices
US7277386B1 (en) Distribution of label switched packets
CN103166874A (en) Message forwarding method and device
US10547547B1 (en) Uniform route distribution for a forwarding table
US20150138986A1 (en) Load balancing in a link aggregation
JP2018515051A (en) Multicast data packet forwarding
US20120230194A1 (en) Hash-Based Load Balancing in Large Multi-Hop Networks with Randomized Seed Selection
US20230396549A1 (en) Load sharing method and apparatus, and chip
US10826822B2 (en) Label-based forwarding with enhanced scalability
WO2017084228A1 (en) Method for managing traffic item in software-defined networking
CN108337168B (en) OpenFlow group table selection method of flow cluster exchange routing mechanism
US9008091B1 (en) Methods, systems, and computer readable media for improved multicast scaling through policy based redirection

Legal Events

Date Code Title Description
AS Assignment

Owner name: MARVELL INTERNATIONAL LTD., BERMUDA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARVELL SEMICONDUCTOR, INC.;REEL/FRAME:015884/0737

Effective date: 20041004

Owner name: MARVELL SEMICONDUCTOR, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ORR, MICHAEL;BISHARA, NAFEA;REEL/FRAME:015884/0668

Effective date: 20040930

Owner name: RADLAN COMPUTER COMMUNICATIONS, LTD., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COHEN, YUVAL;REEL/FRAME:015888/0620

Effective date: 20041004

AS Assignment

Owner name: MARVELL INTERNATIONAL LTD., BERMUDA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARVELL SOFTWARE SOLUTIONS ISRAEL LTD.;REEL/FRAME:022989/0240

Effective date: 20080618

Owner name: MARVELL SOFTWARE SOLUTIONS ISRAEL LTD., ISRAEL

Free format text: CHANGE OF NAME;ASSIGNOR:RADLAN COMPUTER COMMUNICATIONS LTD.;REEL/FRAME:022989/0179

Effective date: 20070321

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: CAVIUM INTERNATIONAL, CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARVELL INTERNATIONAL LTD.;REEL/FRAME:052918/0001

Effective date: 20191231

AS Assignment

Owner name: MARVELL ASIA PTE, LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CAVIUM INTERNATIONAL;REEL/FRAME:053475/0001

Effective date: 20191231

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12