US 11,711,318 B1
Packet switches
Ioannis (Giannis) Patronas, Piraeus (GR); Michael Gandelman, Haifa (IL); Liron Mula, Hertzlia (IL); Aviad Levy, Ge'alya (IL); Lion Levi, Yavne (IL); Jose Yallouz, Kibbutz Sha'ar HaAmakim (IL); Paraskevas Bakopoulos, Ilion (GR); and Elad Mentovich, Tel Aviv (IL)
Assigned to Mellanox Technologies Ltd., Yokneam (IL)
Filed by MELLANOX TECHNOLOGIES, LTD., Yokneam (IL)
Filed on Jan. 18, 2022, as Appl. No. 17/648,260.
Claims priority of application No. 20220100024 (GR), filed on Jan. 12, 2022.
Int. Cl. H04L 49/00 (2022.01); H04L 49/101 (2022.01)
CPC H04L 49/3027 (2013.01) [H04L 49/101 (2013.01); H04L 49/3018 (2013.01)] 30 Claims
OG exemplary drawing
 
1. An apparatus comprising:
an ingress port configured to receive at least one packet, the at least one packet comprising data and a header;
a plurality of egress ports in communication with the ingress port, each egress port configured to discharge the at least one packet;
a plurality of egress queues, wherein each egress queue is associated with one of the plurality of egress ports;
a control plane in communication with the ingress port and the plurality of egress queues and configured to receive the header from the ingress port, wherein the control plane is configured to (1) determine a descriptor associated with the at least one packet based on the header, (2) determine a first egress port of the plurality of egress ports from which to discharge the at least one packet, and (3) transmit the descriptor to an egress queue associated with the first egress port;
a descriptor crossbar in communication with the egress queue and the plurality of egress ports configured to transmit the descriptor from the egress queue to a second egress port of the plurality of egress ports; and
a packet crossbar in communication with the ingress port and the plurality of egress ports, wherein the packet crossbar is configured to transmit the at least one packet from the ingress port to the second egress port.
 
6. A method comprising:
receiving at least one packet via an ingress port, the at least one packet comprising data and a header;
determining a first egress port of a plurality of egress ports to which the at least one packet will be transmitted;
determining a descriptor associated with the at least one packet based on the header;
transmitting the descriptor to a first egress queue associated with a first egress port;
transmitting the descriptor through a descriptor crossbar such that the descriptor is routed to a second egress port; and
transmitting the at least one packet through a packet crossbar such that the at least one packet is routed to the second egress port.
 
10. An apparatus comprising:
an ingress port configured to receive at least one packet, the at least one packet comprising data and a header;
a plurality of egress ports in communication with the ingress port, each egress port configured to discharge the at least one packet;
a plurality of egress queues in communication with the plurality of egress ports, wherein each egress queue is associated with one of the plurality of egress ports;
a control plane in communication with the ingress port and the plurality of egress queues, and configured to receive the header from the ingress port, wherein the control plane is configured to (1) determine a plurality of descriptors associated with the at least one packet based on the header, (2) determine a set of egress queues associated with a corresponding set of egress ports from the plurality of egress ports, and (3) transmit a descriptor from the plurality of descriptors to each egress queue in the set of egress queues;
selection circuitry configured to select a first egress port from the set of egress ports; and
a crossbar in communication with the ingress port and the plurality of egress ports, wherein the crossbar is configured to transmit the at least one packet from the ingress port to the first egress port.