[ovs-discuss] in-kernel flow table in the datapath

Masoud Moshref Javadi masood.moshref.j at gmail.com
Thu Apr 12 06:38:01 UTC 2012


Is there any parameter to set the size of this queue?

On 4/6/2012 3:22 PM, Jesse Gross wrote:
> On Fri, Apr 6, 2012 at 2:25 PM, Masoud Moshref Javadi
> <masood.moshref.j at gmail.com>  wrote:
>> On 4/6/2012 9:20 AM, Jesse Gross wrote:
>>> On Thu, Apr 5, 2012 at 7:16 PM, Masoud Moshref Javadi
>>> <masood.moshref.j at gmail.com>    wrote:
>>>> I have the following experiment and whenever I check ovs-dpctl
>>>> dump-flows,
>>>> it gives me less than 7k entries:
>>>> There are three machines A,B, and C. B runs openvswitch and connect the
>>>> other two. A and B send 10k packets each second from different flows to
>>>> the
>>>> other node. I don't use TCP so there is no ack.  There should be 20k
>>>> entries
>>>> there after a second but I get at most 7k and the value changes. It seems
>>>> that the facet cache cannot hold enough facets, so it replaces them so
>>>> often. The high cpu usage for ovs-vswitchd process also confirms this
>>>> claim
>>>> that the cache cannot hold all entries.
>>> As I said before, userspace generally tries to keep the number of
>>> flows installed in the kernel to a few thousand to avoid maintenance
>>> overhead.  The contents of the kernel flow cache is an implementation
>>> detail and there's no requirement that it hold everything.  If you
>>> want to try different values you can set flow-eviction-threshold in
>>> the config database.
>>
>> Thank you.
>> Now suppose that because of this maintenance process and the large number of
>> active flows we need to go to the userspace so often and this makes high CPU
>> usage. What will happen to the packets if the machine cannot handle them
>> with 100% CPU. Is there any DropTail queue there?
> There's a queue from kernel to userspace.  If the buffer size is
> exceeded then packets will be dropped.




More information about the discuss mailing list