Traffic management in a network switching system with remote physical ports
AssigneeMarvell Israel (M.I.S.L) Ltd.
InventorCarmi Arad
Life of this patent
Estimating the term…
Loading patent…
AssigneeMarvell Israel (M.I.S.L) Ltd.
InventorCarmi Arad
Estimating the term…
A switching system includes a port extender device coupled to a central switching device. Packets processed by the central switching device are forwarded to the port extender device and enqueued in ones of a plurality of egress queues in the port extender device for transmission of the packets via the front ports of the port extender device. Respective egress queues in the port extender device have a queue depth that is less than a queue depth of corresponding respective egress queues in the central switching device. A flow control message indicative of congestion in a particular egress queue of the port extender device is generated and transmitted to the central switch device to control transmission of packets from the central switching device to the particular egress queue of the port extender device.
A port extender device, comprising:
A port extender device, comprising:
A method for controlling transmission of packets to a port extender device, comprising:
A method for controlling transmission of packets to a port extender device, comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Buffering arrangements: reactions to storage capacity overflow
Flow control; Congestion control: identifying congestion
For service slots or service orders: queue load conditions, e.g. longest queue first
Peripheral units, e.g. input or output ports: output queuing
About 10 years 8 months of term left · ends 28 Jun 2037 (estimated)
The present disclosure relates generally to network devices such as network switches, bridges, routers, etc., and more particularly, to managing traffic in network devices.
Network devices often employ various flow control mechanisms, for example to reduce or eliminate loss of data units, such as packets, due to congestion at the network devices. Some networking applications require processing and forwarding a high number of data units, such as packets, communication frames, etc. The amount of packet traffic that a network device can handle is limited, in part, by the number of front panel ports, i.e., physical ports via which the network device is connected to other devices or networks. In some such networking application, cascading of network devices is used to increase a number of front ports available to a centralized network device. In such networking applications, it is important to efficiently control flow of packets between the centralized network device and the cascaded network devices.
In an embodiment, a port extender device comprises: a plurality of front ports configured to interface with a network; at least one uplink port for interfacing with a central switch device; a forwarding processor configured to forward packets, received via ones of the front ports, to a central switch device for processing of the packet by the central switch device; a plurality of egress queues for queueing packets processed by the central switch device and to be transmitted via the front ports of the port extender device, respective egress queues, among the plurality of egress queues, having a queue depth that is less than a queue depth of corresponding respective egress queues in the central switching device; and a flow control processor configured to selectively generate a flow control message indicative of congestion in a particular egress queue among the plurality of egress queues of the port extender device; and cause the flow control message to be transmitted to the central switch device to control transmission of packets from the central switching device to the particular egress queue of the port extender device.
FIG. 1 is a block diagram of an example switching system that includes one or more port extender devices and a central switching device, according to an embodiment.
FIG. 2 is a block diagram of an example switching system that includes one or more port extender devices and multiple central switching devices, according to an embodiment.
FIG. 3 is a block diagram of a port extender device used with the system of FIG. 1 or the system of FIG. 2, according to an embodiment.
Embodiments are described herein in the context of flow control in a switching system that includes centralized switching device and port extender devices. It is noted however, in light of the disclosure and teachings herein, that similar methods and apparatus for flow control can be employed in other suitable and devices configured to operate in a computer network. As just an example, channelized flow control over a standard Ethernet link is described below in the context of channelized flow control over a standard. Ethernet link between a centralized switching device and a port extender device. However, similar methods and apparatus for channelized flow control over a standard Ethernet link can be employed in other general network architectures. In general, the described flow control methodologies are not limited to use for flow control between centralized switching devices and port extender devices, but rather may be utilized in other suitable network architectures as well.
In various embodiments described herein, a network switching system includes one or more port extender devices coupled to ports of one or more central switching devices. The one or more port extender devices include front physical ports configured to interface with a computer network, in an embodiment. In an embodiment, a port extender device that includes a plurality of physical front ports is coupled to the central switching device via a number of downlink physical ports of the central switching device that is less than the number of physical front ports of the port extender device. As just an example, a port extender device that includes eight physical front ports is coupled to a central switching device via only one or two downlink physical ports of the central switching device, thereby extending a number of physical front ports available to the central switching device to interface with a computer network, in an embodiment. The one or more port extender devices are relatively passive low cost devices having reduced packet processing and egress buffering capabilities, compared to the central switching device, in an embodiment. For example, the one or more port extender devices generally pass packets received via physical front ports of the port extender devices to the central switching device without processing of the packet, or with minimal processing of the packets, by the port extender device. The central switching device processes packets received from the one or more port extender devices at least to make forwarding decisions for the packets received from the one or more port extender devices to determine one or more physical front ports of the one or more port extender devices via which the packet is to be transmitted. In an embodiment, the central switching device determines a downlink port of the central switching device via which the packet is to be transmitted so that the packet is forwarded to a particular port extender device, and also determines a physical front port or physical front ports of the particular port extender device via which the packet is to be transmitted. In some embodiments, the processing of a packet by the central switching device also includes performing other processing operations such as determining a flow to which the packet corresponds, determining a priority of the flow to which the packet corresponds, determining whether the packet is a unicast packet or a multicast packet, performing packet replication if the packet is a multicast packet, determining whether the packet should be dropped, determining whether the packet should be mirrored for further analysis, etc. In an embodiment, upon completion of processing of a packet by the central switching device, the central switching device provides the processed packet to one or more port extender devices that include the one or more physical front ports via which the packet is to be transmitted, for subsequent transmission of the packet via the one or more determined physical front ports.
In an embodiment, each of the one or more port extender devices maintains egress queues for queuing packets that the port extender device receives from the central switching device for subsequent transmission of the packets from the port extender device. In an embodiment, each of the one or more port extender devices maintains a respective set of egress queues for each front port of the port extender device, with respective egress queues in the set of egress queues corresponding to respective priorities (e.g., supported by the port extender device. In an embodiment, to efficiently manage flow of packets from the central switching device to the one or more port extender devices, the central switching device maintains egress queues to queue processed packets that are destined to the one or more port extender devices but are not yet scheduled to be dequeued from the egress queues and forwarded to ones of the one or more port extender devices, or cannot be immediately forwarded to the ones of the one or more port extender devices for example due to congestion in egress queues in the one or more port extender devices. In an embodiment, the central switching device maintains a number of egress queues that corresponds to the number of egress queues in the one or more port extender devices. Thus, in an embodiment, the number of egress queues maintained by the central switching device generally exceeds the number of physical downlink ports of the central switching device. Maintaining the large number of egress queues at the central switching device essentially creates a large number of virtual channels for transmission of packets from the central switching device to the one or more port extender devices via a relatively smaller number of downlink ports of the central switching device, in an embodiment.