US 12,348,432 B2
Bandwidth control inside a shared network interface card
Kent Lee, Ladera Ranch, CA (US); and Qiang Wang, Bellevue, WA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on May 23, 2024, as Appl. No. 18/672,857.
Application 18/672,857 is a continuation of application No. 17/698,987, filed on Mar. 18, 2022, granted, now 12,021,757.
Prior Publication US 2024/0314086 A1, Sep. 19, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 47/62 (2022.01); H04L 47/22 (2022.01); H04L 47/25 (2022.01); H04L 47/33 (2022.01)
CPC H04L 47/623 (2013.01) [H04L 47/225 (2013.01); H04L 47/25 (2013.01); H04L 47/33 (2013.01); H04L 47/6225 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for sharing bandwidth on a smart network interface card (smartNIC), the method comprising:
receiving, by one or more processors of the smart network interface card, first traffic for a first process, at least a subset of the first traffic being processed through a first pipeline controlled by a first rate limiter, the first rate limiter limiting the first traffic being processed through the first pipeline based at least in part on a first bandwidth limit associated with the first process;
receiving, by the one or more processors of the smart network interface card, second traffic for a second process, at least a subset of the second traffic being processed through a second pipeline controlled by a second rate limiter, the second rate limiter limiting the second traffic through the second pipeline based at least in part on a second bandwidth limit associated with the second process;
storing, by the one or more processors of the smart network interface card, the first traffic for the first process in a first queue and the second traffic for the second process in a second queue; and
forwarding, by the one or more processors of the smart network interface card, queued traffic from at least one of the first queue or the second queue, a maximum amount of forwarded first process traffic corresponding to the first bandwidth limit less an amount of forwarded second process traffic.