On 05/07/2018 01:41 PM, [email protected] wrote:
What would you recommend as a controller, also would adding rules using a
controller be faster than "ovs-ofctl"? My application continuously add and
delete flows based on the traffic patterns, and it works fine if there is no
traffic flowing through the OVS, but as soon as I turn on the 40 G links,
the time to apply the rules starting hitting several seconds sometimes up to
100s. It keeps increasing as the existing number of flows increase.
Wouldn't it be better to run some sort of analysis to determine at what
point your flow insertions start to fall behind? Are you setting up
many short lived flows? Do you have jumbo flows? Or some mixture?
Then figure out how many flows adjustments you need from testing.
Linux should be able to handle 10G. 40G, without a bunch of tuning and
analysis and distribution, could be challenging. And depends upon what
stuff is being off-loaded, and what is calculated locally.
At that point, you have choices:
Ryu: python based controller with an established support base, but might
be slow for your needs
Some Java based engines: compiled and used by some bigger boys
Come C++ engines: fast code, and maybe fast insertions (c++ and java
would send messages which might bypass some of the ovs-ofctl parsing)
Some people diddle with certain functions directly (see past archives
for several mentions)
Or maybe use P4 or eBPF to handle your packet handling?
Can an SDN controller solve this issue? Or is it an inherent OVS limitation
where it takes more time to add rules if more packets are going to the OF
classifier?
--
Raymond Burkholder
[email protected]
https://blog.raymond.burkholder.net
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss