Extending Berkeley packet filter semantics for hardware offloads
AssigneeIntel Corporation
InventorsEliezer Tamir, Johannes Berg, Andrew Cunningham, Peter Waskiewicz, Jr., Andrey Chilikin
Life of this patent
Estimating the term…
Abstract
Examples include registering a device driver with an operating system, including registering available hardware offloads. The operating system receives a call to a hardware offload, inserts a binary filter representing the hardware offload into a hardware component and causes the execution of the binary filter by the hardware component when the hardware offload is available, and executes the binary filter in software when the hardware offload is not available.
Claims25
At least one non-transient machine-readable medium storing instructions for execution by at least one machine, the at least one machine being associated with packet processing offload circuitry for use in association with at least one host computer, the at least one host computer to execute, when the at least one host computer is in operation, an operating system having a kernel space, the instructions when executed by the at least one machine resulting in the at least one machine being configured for use in performance of operations comprising:
- programming, at least in part, the packet processing offload circuitry to implement packet filter rules;
- wherein:
- the packet filter rules comprise at least one action to be applied to at least one incoming packet;
- when the at least one host computer is in the operation, after registration of at least one device driver of network interface controller circuitry that comprises the packet processing offload circuitry:
- the packet filter rules are to be associated with the packet processing offload circuitry via at least one callback function call;
- and
- the programming, at least in part of the packet processing offload circuitry is to be implemented, at least in part, by the at least one device driver of the network interface controller circuitry via function parameter data code associated, at least in part, with callback function code associated with the at least one device driver of the network interface controller circuitry.
A method implemented using packet processing offload circuitry for use in association with at least one host computer, the at least one host computer to execute, when the at least one host computer is in operation, an operating system having a kernel space, the method comprising:
- programming, at least in part, the packet processing offload circuitry to implement packet filter rules;
- wherein:
- the packet filter rules comprise at least one action to be applied to at least one incoming packet;
- when the at least one host computer is in the operation, after registration of at least one device driver of network interface controller circuitry that comprises the packet processing offload circuitry:
- the packet filter rules are to be associated with the packet processing offload circuitry via at least one callback function call;
- and
- the programming, at least in part of the packet processing offload circuitry is to be implemented, at least in part, by the at least one device driver of the network interface controller circuitry via function parameter data code associated, at least in part, with callback function code associated with the at least one device driver of the network interface controller circuitry.
Packet processing offload circuitry for use in association with at least one host computer and at least one device driver of network interface controller circuitry that comprises the packet processing offload circuitry, the at least one host computer to execute, when the at least one host computer is in operation, an operating system having a kernel space, the packet processing offload circuitry comprising:
- processing circuitry;
- and
- storage to store instructions for being executed by the processing circuitry, the instructions, when executed by the processing circuitry resulting in the packet processing offload circuitry being configurable to permit performance of operations comprising:
- programming, at least in part, of the packet processing offload circuitry to implement packet filter rules;
- wherein:
- the packet filter rules comprise at least one action to be applied to at least one incoming packet;
- when the at least one host computer is in the operation, after registration of the at least one device driver of the network interface controller circuitry that comprises the packet processing offload circuitry:
- the packet filter rules are to be associated with the packet processing offload circuitry via at least one callback function call;
- and
- the programming, at least in part of the packet processing offload circuitry is to be implemented, at least in part, by the at least one device driver of the network interface controller circuitry via function parameter data code associated, at least in part, with callback function code associated with the at least one device driver of the network interface controller circuitry.
At least one host computer for use with packet processing offload circuitry in association with at least one device driver of network interface controller circuitry that comprises the packet processing offload circuitry, the at least one host computer to execute, when the at least one host computer is in operation, an operating system having a kernel space, the at least one host computer comprising:
- processor circuitry;
- storage storing instructions that, when executed by the processor circuitry, result in the processor circuitry being configured to perform operations comprising:
- executing, at least in part, the at least one device driver of the network interface controller circuitry the at least one device driver of the network interface controller circuitry being to program, at least in part, the packet processing offload circuitry to implement packet filter rules;
- wherein:
- the packet filter rules comprise at least one action to be applied to at least one incoming packet;
- when the at least one host computer is in the operation, after registration of the at least one device driver of the network interface controller circuitry that comprises the packet processing offload circuitry:
- the packet filter rules are to be associated with the packet processing offload circuitry via at least one callback function call;
- and
- the programming, at least in part of the packet processing offload circuitry is to be implemented, at least in part, by the at least one device driver of the network interface controller circuitry via function parameter data code associated, at least in part, with callback function code associated with the at least one device driver of the network interface controller circuitry.
Distributed computing system for use in providing at least one service via an Internet network, the distributed computing system comprising:
- at least one host computer for use with packet processing offload circuitry in association with at least one device driver of network interface controller circuitry that comprises the packet processing offload circuitry, the at least one host computer to execute, when the at least one host computer is in operation, an operating system having a kernel space, the at least one host computer comprising:
- processor circuitry;
- storage storing instructions that, when executed by the processor circuitry, result in the processor circuitry being configured to perform operations comprising:
- executing, at least in part, the at least one device driver of the network interface controller circuitry, the at least one device driver of the network interface controller circuitry being to program, at least in part, the packet processing offload circuitry to implement packet filter rules;
- wherein:
- the packet filter rules comprise at least one action to be applied to at least one incoming packet;
- when the at least one host computer is in the operation, after registration of the at least one device driver of the network interface controller circuitry that comprises the packet processing offload circuitry:
- the packet filter rules are to be associated with the packet processing offload circuitry via at least one callback function call;
- and
- the programming, at least in part of the packet processing offload circuitry is to be implemented, at least in part, by the at least one device driver of the network interface controller circuitry via function parameter data code associated, at least in part, with callback function code associated with the at least one device driver of the network interface controller circuitry.
Dependencies are inferred from the claim text.