Edge datapath using user space network stack
AssigneeNicira, Inc.
InventorsRonghua Zhang, Yong Wang, Teemu Koponen, Jia Yu, Xinhua Hong
Life of this patent
Estimating the term…
Abstract
A novel design of a gateway that handles traffic in and out of a network by using a datapath daemon is provided. The datapath daemon is a run-to-completion process that performs various data-plane packet-processing operations at the edge of the network. The datapath daemon dispatches packets to other processes or processing threads outside of the daemon by utilizing a user space network stack.
Claims19
A method for configuring a computer to implement a gateway for a network, the method comprising:
- to implement the gateway on the computer:
- operating first and second processing threads for the gateway to execute on first and second processing cores of the computer, each processing thread implementing multiple packet processing stages of one or more network elements implemented by the gateway;
- operating a third processing thread for the gateway to provide a service for at least one of the first and second processing threads, the third processing thread communicating with the first or second processing thread through a network stack of the computer, said network stack performs network protocol processing on packets received by and transmitted from the computer;
- wherein the first and second processing threads are datapath threads, while the third thread is a control plane thread.
A non-transitory machine readable medium storing a program, which when executed by at least one processing unit, configures a computer to implement a gateway for a network, the program comprising sets of instructions for:
- on the computer:
- operating first and second processing threads to execute on first and second processing cores of the computer, each processing thread implementing multiple packet processing stages of one or more network elements;
- operating a third processing thread to provide a service for at least one of the first and second processing threads, the third processing thread communicating with the first or second processing thread through a network stack of the computer, said network stack performs network protocol processing on packets received by and transmitted from the computer;
- wherein the first and second processing threads are datapath threads, while the third thread is a control plane thread.
Dependencies are inferred from the claim text.