Hello OVN Experts, With ovn-k8s, we need to keep the flows always on br-int which needed by running pods on the k8s node. Is there an ongoing project to address this problem? If not, I have one proposal not sure if it is doable. Please share your thoughts. The issue:
In large scale ovn-k8s cluster there are 200K+ Open Flows on br-int on every K8s node. When we restart ovn-controller for upgrade using `ovs-appctl -t ovn-controller exit --restart`, the remaining traffic still works fine since br-int with flows still be Installed. However, when a new ovn-controller starts it will connect OVS IDL and do an engine init run, clearing all OpenFlow flows and install flows based on SB DB. With open flows count above 200K+, it took more than 15 seconds to get all the flows installed br-int bridge again. Proposal solution for the issue: When the ovn-controller gets “exit --start”, it will write a “ovs-cond-seqno” to OVS IDL and store the value to Open vSwitch table in external-ids column. When new ovn-controller starts, it will check if the “ovs-cond-seqno” exists in the Open_vSwitch table, and get the seqno from OVS IDL to decide if it will force a recomputing process? Test log: Check flow cnt on br-int every second: packet_count=0 byte_count=0 flow_count=0 packet_count=0 byte_count=0 flow_count=0 packet_count=0 byte_count=0 flow_count=0 packet_count=0 byte_count=0 flow_count=0 packet_count=0 byte_count=0 flow_count=0 packet_count=0 byte_count=0 flow_count=0 packet_count=0 byte_count=0 flow_count=10322 packet_count=0 byte_count=0 flow_count=34220 packet_count=0 byte_count=0 flow_count=60425 packet_count=0 byte_count=0 flow_count=82506 packet_count=0 byte_count=0 flow_count=106771 packet_count=0 byte_count=0 flow_count=131648 packet_count=2 byte_count=120 flow_count=158303 packet_count=29 byte_count=1693 flow_count=185999 packet_count=188 byte_count=12455 flow_count=212764 -- Winson
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss