Network device that utilizes packet grouping
AssigneeMarvell Israel (M.I.S.L) Ltd.
InventorsJacob Jul Schroder, Rami Zemach
Life of this patent
Estimating the term…
Abstract
A packet group processor of a network device defines groups of packets among packets that are being processed by the network device, each of at least some of the groups of packets defining a respective group of at least two different packets. Each group includes one or more packets to be transmitted via a respective same network interface. A transmit processor makes a single transmit decision that a particular group of at least two packets is to be transmitted via a corresponding network interface, and in response to the single transmit decision, transfers the particular group of at least two packets to the corresponding network interface for transmission.
Claims24
A network device, comprising:
- a plurality of network interfaces configured to couple to a plurality of network links;
- a packet buffer;
- a receive processor configured to store in the packet buffer packets that are received by the network device via the plurality of network interfaces;
- a plurality of first-in-first-out (FIFO) queues;
- a packet processor configured to i) process packets received via the plurality of network interfaces to make forwarding decisions regarding the packets, ii) generate, for each of at least some of the packets received via the plurality of network interfaces, a packet descriptor that includes metadata regarding the packet, and iii) store the packet descriptors in FIFO queues corresponding to network interfaces via which the packets are to be transmitted;
- a packet grouping processor configured to define groups of packets among packets that are being processed by the network device, each of at least some of the groups of packets defining a respective group of at least two different packets, each group including one or more packets to be transmitted via a respective same network interface, the packet grouping processor further configured to, for each group of at least two packets, i) define the group using packet descriptors a) corresponding to the at least two packets and b) stored in a FIFO queue corresponding to a network interface via which the at least two packets are to be transmitted, ii) generate a respective group descriptor for the group, and iii) store the group descriptor in the FIFO queue corresponding to the network interfaces via which the at least two packets are to be transmitted;
- and
- a transmit processor configured to:
- make a single transmit decision that a particular group of at least two packets is to be transmitted via a corresponding network interface at least by dequeuing a group descriptor corresponding to the particular group from a FIFO queue corresponding to the network interface, and
- in response to dequeuing the group descriptor corresponding to the particular group from the FIFO queue corresponding to the network interface, transfer the particular group of at least two packets to the corresponding network interface for transmission.
A method for processing packets at a network device, the method comprising:
- storing in a packet buffer of the network device packets for transmission from the network device via a network interface of the network device;
- generating, for each of at least some of the packets, a packet descriptor that includes metadata regarding the packet,
- storing in a first-in-first-out (FIFO) queue of the network device packet descriptors;
- defining, at the network device, groups of packets among packets being processed by the network device, each of at least some of the groups of packets including at least two packets, the defining of the groups of packets including, for each group of at least two packets, i) defining the group using packet descriptors a) corresponding to the at least two packets and b) stored in the FIFO queue, and ii) generating a respective group descriptor;
- storing in the FIFO queue of the network device the group descriptors;
- making respective single transmit decisions, at the network device, that respective groups of packets in the packet buffer are to be transmitted from the network device via the network interface, including making respective single transmit decisions that respective groups of at least two packets in the packet buffer are to be transmitted from the network device via the network interface, the making of each of at some of the single transmit decisions including dequeuing a respective group descriptor corresponding to the respective group from the FIFO queue;
- and
- for each of at least some of the groups of packets in the packet buffer, transferring, by the network device, the corresponding group of packets to the network interface for transmission in response to dequeuing the corresponding group descriptor from the FIFO queue.
Dependencies are inferred from the claim text.