Methods and systems for line rate packet classifiers for presorting network packets onto ingress queues

US11863467B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11863467-B2
Application numberUS-202217580367-A
CountryUS
Kind codeB2
Filing dateJan 20, 2022
Priority dateJan 20, 2022
Publication dateJan 2, 2024
Grant dateJan 2, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A network appliance can have an input port that can receive network packets at line rate, two or more ingress queues, a line rate classification circuit that can place the network packets on the ingress queues at the line rate, a packet buffer that can store the network packets, and a sub line rate packet processing circuit that can process the network packets that are stored in the packet buffer. The line rate classification circuit can place a network packet on one of the ingress queues based on the network packet's packet contents. A buffer scheduler can select network packets for processing by a sub line rate packet processing circuit based on the priority levels of the ingress queues.

First claim

Opening claim text (preview).

What is claimed is: 1. A network appliance comprising: an input port configured to receive a plurality of network packets at a line rate; a plurality of ingress queues; a line rate classification circuit configured to place the network packets on the ingress queues at the line rate; a packet buffer configured to store the network packets; and a sub line rate packet processing circuit configured to process the network packets that are stored in the packet buffer, wherein the line rate classification circuit is configured to place a network packet that is one of the network packets on an ingress queue that is included in the ingress queues based on a tenant ID that is calculated using a packet header contents of the network packet. 2. The network appliance of claim 1 further including: a dedicated communications circuit configured to pass the network packets from the input port to the line rate classification circuit; and an on-chip communications fabric that the sub line rate packet processing circuit is configured to use to access the network packets that are stored in the packet buffer, wherein the dedicated communications circuit is distinct from the on-chip communications fabric. 3. The network appliance of claim 1 , further including: an ingress queue map configured to map a plurality of tenant IDs to the ingress queues, wherein the line rate classification circuit is configured to use the network packet to calculate the tenant ID, and the network packet is placed on the one of the ingress queues associated with the tenant ID by the ingress queue map. 4. The network appliance of claim 3 , wherein: the ingress queues include a high priority queue and a low priority queue; and the sub line rate packet processing circuit preferably processes the network packets on the high priority queue over the network packets on the low priority queue. 5. The network appliance of claim 4 , wherein: the ingress queue map associates one of the tenant IDs with the high priority queue; and the network appliance is configured to adjust the ingress queue map to move one of the tenant IDs from association with the high priority queue to association with the low priority queue based on a resource consumption statistic associated with the one of the tenant IDs. 6. The network appliance of claim 3 , wherein: the network appliance is configured to adjust the ingress queue map to move one of the tenant IDs from association with one of the ingress queues to association with a different one of the ingress queues. 7. The network appliance of claim 3 , wherein: the network appliance is configured to produce a resource consumption statistic for a tenant that is associated with the tenant ID, and the network appliance is configured to adjust the ingress queue map to move the tenant ID from association with a first one of the ingress queues to association with a second one of the ingress queues based on the resource consumption statistic. 8. The network appliance of claim 7 , wherein: the network appliance is installed in a server running a plurality of workloads for a plurality of tenants that includes the tenant; and the tenant IDs are associated with the tenants. 9. The network appliance of claim 7 , wherein: the network appliance is a top of rack network appliance providing network services to a plurality of servers running a plurality of workloads for a plurality of tenants that includes the tenant; and the tenant IDs are associated with the tenants. 10. The network appliance of claim 7 , wherein: each of the tenant IDs is represented by no more than 12 bits in the ingress queue map. 11. The network appliance of claim 3 , wherein: the line rate classification circuit uses a hash function to produce the tenant ID. 12. The network appliance of claim 11 , wherein: the network appliance is configured to provide a first tenant with a first level of service; the network appliance is configured to provide a second tenant with a second level of service; an identical tenant ID is calculated for the first tenant and the second tenant; and network traffic for the first tenant and for the second tenant is queued to a same one of the ingress queues. 13. The network appliance of claim 1 , wherein: the network appliance is configured to drop packets from the ingress queues when at least one of the ingress queues is full and the network appliance is receiving network traffic faster than the sub line rate packet processing circuit can process the network traffic. 14. A method comprising: receiving a network packet at an input port operating at a line rate; processing the network packet with a line rate classifier circuit that selects an ingress queue that is included in a plurality of ingress queues; placing the network packet on the ingress queue; storing the network packet in a packet buffer as one of a plurality of buffered network packets; and using a sub line rate packet processing circuit to process the network packet after the network packet is stored in the packet buffer, wherein the sub line rate packet processing circuit is configured to process the buffered network packets that are selected from the ingress queues, the line rate classifier circuit and the sub line rate packet processing circuit operate concurrently, and the line rate classifier circuit is configured to process the network packets at the line rate. 15. The method of claim 14 wherein: the network packet is one of a plurality of network packets received by the input port; and the line rate classifier circuit processes every one of the network packets. 16. The method of claim 15 wherein at least one of the network packets is dropped before the one of the network packets is processed by the sub line rate packet processing circuit. 17. The method of claim 14 wherein: the sub line rate packet processing circuit is configured to use an on-chip communications fabric to access the packet buffer; and the line rate classifier circuit receives the network packet from the input port via a dedicated communications circuit that is distinct from the on-chip communications fabric. 18. The method of claim 14 , wherein: an ingress queue map is configured to associate a plurality of tenant IDs with the ingress queues; the line rate classification circuit is configured to use the network packet to calculate a tenant ID that is one of the tenant IDs; and the network packet is placed on the ingress queue that is associated with the tenant ID by the ingress queue map. 19. A network appliance comprising: an input means for receiving a network packet at a line rate; a plurality of ingress queues; a line rate classifier means for processing the network packet to select one of the ingress queues; a packet buffer means for storing the network packet as one of a plurality of buffered network packets; and a sub line rate processing means for processing the network packet after the network packet is stored in the packet buffer means, wherein: the line rate classification means places the network packet on the one of the ingress queues after using the network packet to select the one of the ingress queues; the sub line rate processing means is configured to process the buffered network packets that are selected from the ingress queues; the line rate classifier means and the sub line rate processing means operate concurrently; and the line rate classifier means is configured to process the network packets at the line rate.

Assignees

Inventors

Classifications

  • Input queuing · CPC title

  • Ensuring fulfilment of SLA · CPC title

  • H04L47/32Primary

    by discarding or delaying data units, e.g. packets or frames · CPC title

  • Parsing or analysis of headers · CPC title

  • Address processing for routing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11863467B2 cover?
A network appliance can have an input port that can receive network packets at line rate, two or more ingress queues, a line rate classification circuit that can place the network packets on the ingress queues at the line rate, a packet buffer that can store the network packets, and a sub line rate packet processing circuit that can process the network packets that are stored in the packet buff…
Who is the assignee on this patent?
Pensando Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L49/3018. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 02 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).