IP Library Granted Patent US 12,067,415
Granted Patent B1
US 12,067,415 · App. 18/098,180 · Granted Aug 20, 2024

Automatic receive side scaling configuration

Inventors: Luke Coughlan (Galway, IE); Gianni Tedesco (Seoul, KR); Morgan Nally (Galway, IE)
Assignee: Rapid7, Inc.
G06F9/4812G06F9/44505
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,067,415
App. No.
18/098,180
Granted
Aug 20, 2024
Kind
B1
Abstract

Various embodiments include systems and methods pertaining to a network sensor host configured to implement a receive side scaling (RSS) configuration component in a security environment. The RSS configuration component may be used to automatically generate an RSS configuration comprising one or more settings customized for the network sensor host based at least in part on hardware information of the network sensor host. In some embodiments, the RSS configuration may be applied to change settings of a network interface driver of the network sensor host, e.g., to implement RSS and multithreading for network sensor tasks.

Claims (94)

1. A method, comprising:

determining hardware information associated with a computing device that hosts a network sensor, wherein the hardware information comprises:

network interface driver information associated with a network interface of the computing device; and

processor core information associated with one or more processor cores of the computing device;

initiating automatic generation of a receive side scaling (RSS) configuration comprising one or more settings customized for the computing device based at least in part on the hardware information, wherein the one or more settings comprise at least one of:

one or more RSS settings;

one or more multithreading settings; or

one or more interrupt request (IRQ) affinity settings; and

responsive to determining that the RSS configuration has been generated:

initiating application of the RSS configuration, wherein application of the RSS configuration changes, in accordance with the one or more settings of the RSS configuration, settings of the network interface driver.

2. The method of claim 1 , wherein the initiating automatic generation of the RSS configuration comprises:

determining, based at least in part on the network interface driver information, that the network interface driver supports RSS, wherein, responsive to the determining that the network interface driver supports RSS, the one or more settings comprise one or more RSS settings that enable RSS for the network interface.

3. The method of claim 2 , wherein the initiating automatic generation of the RSS configuration further comprises:

determining, based at least in part on the processor core information, that the computing device has a sufficient number of processor cores to satisfy a threshold number of processor cores for implementing multithreading for network sensor tasks, wherein, responsive to the determining that the computing device has the sufficient number of processor cores, the one or more settings comprise the one or more multithreading settings.

4. The method of claim 3 , wherein the initiating automatic generation of the RSS configuration further comprises:

determining the one or more multithreading settings, wherein the determining the one or more multithreading settings comprises:

assigning processor cores to network sensor tasks, wherein the assigning comprises:

assigning a first processor core, of the processor cores, to a first enabled network sensor task; and

assigning a second processor core, of the processor cores, to a second enabled network sensor task.

5. The method of claim 1 , further comprising:

installing an RSS configuration software component on the computing device, wherein, when executed and in response to one or more triggers, the RSS configuration software component causes the computing device to perform operations comprising:

the determining the hardware information; and

the initiating automatic generation of the RSS component.

6. The method of claim 5 , wherein the one or more triggers comprise at least one of:

the network sensor starting; or

the network sensor receiving a configuration change.

7. The method of claim 1 , further comprising:

responsive to determining that a failure has occurred in association with generation or application of the RSS configuration, applying a first fallback RSS configuration, wherein:

the first fallback RSS configuration comprises one or more IRQ affinity settings; and

applying the first fallback RSS configuration comprises configuring the network interface driver to:

implement single threading instead of multithreading; and

set, based on the one or more IRQ affinity settings, one or more IRQ affinities.

8. The method of claim 7 , further comprising:

before initiating application of the RSS configuration or applying the first fallback RSS configuration, capturing initial network interface driver settings; and

responsive to determining that a failure has occurred in association with applying the first fallback RSS configuration, applying a second fallback RSS configuration, wherein applying the second fallback RSS configuration comprises:

configuring the network interface driver to implement the initial network interface driver settings.

9. A system comprising:

a memory storing executable instructions; and

one or more processors that execute the executable instructions to:

determine hardware information associated with a computing device that hosts a network sensor, wherein the hardware information comprises:

network interface driver information associated with a network interface of the computing device; and

processor core information associated with one or more processor cores of the computing device;

automatically generate a receive side scaling (RSS) configuration comprising one or more settings customized for the computing device based at least in part on the hardware information, wherein the one or more settings comprise at least one of:

one or more RSS settings;

one or more multithreading settings; or

one or more interrupt request (IRQ) affinity settings; and

apply the RSS configuration, wherein, to apply the RSS configuration, the one or more processors execute the executable instructions to:

change, in accordance with the one or more settings of the RSS configuration, settings of the network interface driver.

10. The system of claim 9 , wherein the one or more processors further execute the executable instructions to:

install an RSS configuration software component, wherein, when executed on the one or more processors and in response to one or more triggers, the RSS configuration software component causes the one or more processors to perform operations comprising:

the determining the hardware information;

the automatically generating the RSS configuration; and

the applying the RSS configuration.

11. The system of claim 10 , wherein the one or more triggers comprise at least one of:

the network sensor starting; or

the network sensor receiving a configuration change.

12. The system of claim 9 , wherein the hardware information further comprises:

memory information associated with an amount of memory on the computing device.

13. The system of claim 12 , wherein the one or more settings comprise:

RSS settings configured to enable the network interface driver to implement RSS for the network interface; and

multithreading settings configured to enable the network interface driver to implement, at least in part, multithreading for network sensor tasks.

14. The system of claim 9 , wherein:

the network interface driver is a network interface card (NIC) driver associated with a NIC of the computing device; and

to automatically generate the RSS configuration, the one or more processors execute the executable instructions to:

determine, based at least in part on the network interface driver information, whether the NIC driver supports RSS; and

determine, based at least in part on the network interface driver information, whether the NIC driver supports multiple channels.

15. The system of claim 9 , wherein, to automatically generate the RSS configuration, the one or more processors execute the executable instructions to:

determine, based at least in part on the processor core information, that the computing device has a sufficient number of processor cores to satisfy a threshold number of processor cores for implementing multithreading for network sensor tasks; and

determine the one or more multithreading settings, wherein, to determine the one or more multithreading settings, the one or more processors execute the executable instructions to:

assign a first processor core, of the processor cores, to a first enabled network sensor task; and

assign a second processor core, of the processor cores, to a second enabled network sensor task.

16. One or more non-transitory computer-accessible storage media storing executable instructions that, when executed by one or more processors, cause a computer system to:

determine hardware information associated with a computing device that hosts a network sensor, wherein the hardware information comprises:

network interface driver information associated with a network interface of the computing device; and

processor core information associated with processor cores of the computing device; and

automatically generate a receive side scaling (RSS) configuration comprising settings customized for the computing device based at least in part on the hardware information;

wherein application of the RSS configuration changes, in accordance with the settings of the RSS configuration, settings of the network interface driver to implement RSS for the network interface and multithreading for network sensor tasks.

17. The one or more non-transitory computer-accessible storage media of claim 16 , wherein the settings of the RSS configuration comprise:

a mapping of network interface queues to processor cores;

RSS hash values; and

interrupt request (IRQ) affinities.

18. The one or more non-transitory computer-accessible storage media of claim 16 , wherein the executable instructions, when executed by the one or more processors, further cause the computer system to:

install an RSS configuration software component, wherein, when executed on one or more processors and in response to one or more triggers, the RSS configuration software component causes the one or more processors to:

determine the hardware information;

automatically generate the RSS configuration; and

apply the RSS configuration.

19. The one or more non-transitory computer-accessible storage media of claim 18 , wherein the one or more triggers comprise at least one of:

the network sensor starting; or

the network sensor receiving a configuration change.

20. The one or more non-transitory computer-accessible storage media of claim 16 , wherein:

the hardware information further comprises:

memory information associated with an amount of memory on the computing device; and

the executable instructions, when executed by the one or more processors, further cause the computer system to:

automatically generate the RSS configuration based at least in part on the network interface driver information, the processor core information, and the memory information.

Assignments (2)
SECURITY INTEREST Recorded Jun 26, 2025
From: RAPID7, INC.; RAPID7 LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071743/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2023
From: COUGHLAN, LUKE; TEDESCO, GIANNI; NALLY, MORGAN
To: RAPID7, INC.
Reel/Frame 062417/0674 →