Cooperated approach to network packet filtering

US9276875B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9276875-B2
Application numberUS-201013882106-A
CountryUS
Kind codeB2
Filing dateOct 28, 2010
Priority dateOct 28, 2010
Publication dateMar 1, 2016
Grant dateMar 1, 2016

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.

An apparatus, system, method, and machine-readable medium are disclosed. In one embodiment the apparatus is a network interface controller that includes one virtual function owned by a virtual machine present in the computer system. The controller includes a simple filtering agent that is associated with the first virtual function. The agent enforces simple filter rules for received network packets. The simple filter rules are capable of blocking the network packets from reaching the virtual machine. The apparatus also includes another virtual function that is owned by a virtual machine monitor present in the computer system. The controller also includes a side bounce filtering agent to forward the first network packet to the second virtual function if the first packet is blocked by the at least one of the one or more simple filter rules.

First claim

Opening claim text (preview).

The invention claimed is: 1. A network interface apparatus in a computer system, comprising: a first virtual function of a plurality of virtual functions, the first virtual function owned by a first virtual machine present in the computer system; a first simple filtering agent, associated with the first virtual function, to enforce one or more inbound simple filter rules at a first filtering level for a first network packet of a plurality of network packets received from a network, wherein at least one of the one or more inbound simple filter rules blocks the first network packet from reaching the first virtual machine in response to the first network packet failing at least one of the one or more inbound simple filter rules; a second virtual function of the plurality of virtual functions, the second virtual function owned by a virtual machine monitor present in the computer system; and a side bounce filtering agent to forward the first network packet to the second virtual function in response to first network packet being blocked by the at least one of the one or more inbound simple filter rules. 2. The network interface apparatus of claim 1 , further comprising: the second virtual function allowing the first network packet blocked by the first simple filtering agent to enter a virtual Ethernet bridge in the virtual machine monitor, the virtual Ethernet bridge to enforce one or more complex filtering rules at a second filtering level for the first network packet, wherein at least one of the one or more complex filtering rules is capable of verifying the first network packet; and reroute the first network packet through the second virtual function to the first virtual function, in response to the first network packet being verified. 3. The network interface apparatus of claim 1 , further comprising: an arbitrator to route the first network packet from the network to one of the plurality of virtual functions, and to route one or more packets received from at least one of the plurality of virtual functions to the network. 4. The network interface apparatus of claim 1 , further comprising: a third virtual function of the plurality of virtual functions, the third virtual function owned by a second virtual machine present in the computer system. 5. The network interface apparatus of claim 1 , wherein each virtual function of the plurality of virtual functions comprises a queue pair to handle incoming and outgoing network packets of the plurality of network packets. 6. The network interface of claim 1 , further comprising: the first simple filtering agent further operable to enforce one or more outbound simple filter rules at the first filtering level for a second network packet of a plurality of network packets sent to the network, wherein at least one of the one or more outbound simple filter rules blocks the sent network packet from reaching the network in response to the sent network packet failing at least one of the one or more outbound simple filter rules; and the side bounce filtering agent to forward the sent network packet to the second virtual function in response to the sent network packet being blocked by the at least one of the one or more outbound simple filter rules. 7. The network interface apparatus of claim 6 , further comprising: the second virtual function to allow the second network packet blocked by the first simple filtering agent to enter a virtual Ethernet bridge in the virtual machine monitor, the virtual Ethernet bridge to enforce one or more complex filtering rules at a second filtering level for the second network packet, wherein at least one of the one or more complex filtering rules is capable of verifying the second network packet; and reroute the second network packet through the second virtual function to the network, in response to the second network packet being verified. 8. A computer system, comprising: a processor; a system memory; a virtual machine monitor to assign time slices of compute time of the processor, a portion of system memory, and a set of I/O resources to each of a plurality of virtual machines; a first virtual machine of the plurality of virtual machines; and a network interface controller, the network interface controller including: a first virtual function of a plurality of virtual functions, the first virtual function owned by the first virtual machine; a first simple filtering agent, associated with the first virtual function, to enforce one or more inbound simple filter rules at a first filtering level for a first network packet of a plurality of network packets received from a network, wherein at least one of the one or more inbound simple filter rules blocks the first network packet from reaching the first virtual machine in response to the first network packet failing at least one of the one or more inbound simple filter rules; a second virtual function of the plurality of virtual functions, the second virtual function owned by the virtual machine monitor; and a side bounce filtering agent to forward the first network packet to the second virtual function in response to first network packet being blocked by the at least one of the one or more inbound simple filter rules. 9. The system of claim 8 , wherein the second virtual function is further operable to: allow the first network packet blocked by the first simple filtering agent to enter a virtual Ethernet bridge in the virtual machine monitor, the virtual Ethernet bridge to enforce one or more complex filtering rules at a second filtering level for the first network packet, wherein at least one of the one or more complex filtering rules is capable of verifying the first network packet; and reroute the first network packet through the second virtual function to the first virtual function, in response to the first network packet being verified. 10. The system of claim 8 , wherein the network interface controller further comprises: an arbitrator to route the first network packet from the network to one of the plurality of virtual functions, and to route one or more packets received from at least one of the plurality of virtual functions to the network. 11. The system of claim 8 , further comprising: a second virtual machine; wherein the network interface controller further comprises a third virtual function of the plurality of virtual functions, the third virtual function owned by the second virtual machine. 12. The system of claim 8 , wherein each virtual function of the plurality of virtual functions comprises a queue pair to handle incoming and outgoing network packets of the plurality of network packets. 13. The system of claim 8 , further comprising: the first simple filtering agent further operable to enforce one or more outbound simple filter rules at the first filtering level for a second network packet of a plurality of network packets sent to the network, wherein at least one of the one or more outbound simple filter rules blocks the sent network packet from reaching the network in response to the sent network packet failing at least one of the one or more outbound simple filter rules; and the side bounce filtering agent further operable to forward the sent network packet to the second virtual function in response to the sent network packet being blocked by the at least one of the one or more outbound simple filter rules. 14. The system of claim 13 , further comprising: the second virtual function further operable to allow the second network packet blocked by the first simple filtering agent to enter a virtual Ethernet bridge in the virtual machine monitor, the virtual Etherne

Assignees

Inventors

Classifications

  • H04L49/00Primary

    Packet switching elements · CPC title

  • Routing in software-defined topologies, e.g. routing between virtual machines · CPC title

  • Rule management · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

  • Filtering by information in the payload · 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 US9276875B2 cover?
An apparatus, system, method, and machine-readable medium are disclosed. In one embodiment the apparatus is a network interface controller that includes one virtual function owned by a virtual machine present in the computer system. The controller includes a simple filtering agent that is associated with the first virtual function. The agent enforces simple filter rules for received network pac…
Who is the assignee on this patent?
Dong Yaozu, Tian Kun, Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L49/00. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 01 2016 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).