[ovs-discuss] Some issues about datapath and userspace.

Jesse Gross jesse at nicira.com
Wed May 29 23:49:36 UTC 2013


On Tue, May 28, 2013 at 11:38 AM, zuo <zuoqy at 163.com> wrote:
>   Hi,
> Recently I read the code of OpenvSwitch (version 1.9) to learn how packet is
> processed in datapath and userspace. However, there are some issues that I
> didn’t understand clearly. Can anybody help me?
> (1)    When the first packet of a flow comes to the datapath, the datapath
> transmit it to the userspace using netlink. Does the datapath buffer the
> packet? Or it is just buffered in userspace?

There's no buffering in the kernel.

> (2)    As the comment of facet introduces, facet is exact-match flow in
> userspace and subfacet is also exact-match flow in datapath, Can anybody
> take an example for that one facet has more than one subfacet?

If the kernel's definition of a flow is more precise than userspace's.

> (3)    When the packet comes to the userspace, it is transmited to the
> controller. However, as my comprehension, before the flow_mod message comes
> from the controller, it will create a facet in userspace and corresponding
> subfacet action in SF_fast_path of datapath, so what is the action of the
> SF_fast_path flow entry? Is it to the userspace or directly to the
> controller?

Userspace makes all connections to the controller, the kernel never
sends packets directly.

> (4)    It seems that datapath flow entry is 5 seconds time-out, then how
> soon is the facet time_out? Where can I find the code of time_out?

Facets timeout when all subfacets have been removed.

> (5)    I found that every time it could handle 50(max_batch) upcalls every
> time? When the traffic in production network is huge, isn’t it small?

This just allows other things a chance to run.



More information about the discuss mailing list