Thank you for providing the requested information. 
I found that "subfacet->slow_path_reason == 0" indicates packets is processed 
by fast path, so in this case the packet is directly forwarded by the kernel. 
If it is in slow-path such as "slow_controller", the packets will all be 
forwarded to userspace without buffering in kernel.  Do I understand correctly?
Another question. I learned that flow miss to the controller will be buffered 
in the userspace. If I send the entire packet to the controller (not just the 
128 bytes of pakcet header), is it still buffered in userspace? Could I avoid 
for that?


--
At 2013-05-30 07:49:36,"Jesse Gross" <je...@nicira.com> wrote:
>On Tue, May 28, 2013 at 11:38 AM, zuo <zu...@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.
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to