[ovs-discuss] If ovs doesn't masking process in flow_tbl_lookup, What are the disadvantages ?

Heung Sik Choi hschoi at os.korea.ac.kr
Thu Jun 8 07:33:54 UTC 2017


I have studied OVS in performance aspect. And, I found out that flow
masking and looking up table have quite overhead.

I read a paper ' “The Design and Implementation of Open vSwitch.” USENIX
NSDI 2015', and discovered that there is why use masking process in the

the paper said "*While the microflow cache works well with most traffic*

*patterns, it suffers serious performance degradation when*

*faced with large numbers of short lived connections. In*

*this case, many packets miss the cache, and must not only*

*cross the kernel-userspace boundary, but also execute a*

*long series of expensive packet classifications.*"

I have thought about it, and I have some questions.

1. If only microflow cache works and there are many short lived
connections, does it make many tuples in table, and does it suffers serious
performance degradation by the many tuples(very many tuple makes context
switching to Userlevel)?

2. I know that OVS uses hash for table index. if only microflow cache and
there are small amount of entries in the table, is it possible to find
entry in O(1) time?

3. In paper, microflow and megaflow use the word 'cache'. However, when I
open the OVS code, it looks like they are in main memory area. doesn't the
'cache' mean hardware cache?

please let me know if you have some insights.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20170608/4cba9bb5/attachment.html>

More information about the discuss mailing list