Skip to content

Commit

Permalink
binding: Don't reset expected seqno for interfaces already being inst…
Browse files Browse the repository at this point in the history
…alled.

If an interface is already in 'binding_iface_seqno_map' then that means
that the openflow modifications needed for its functionality have
already been sent to ovs-vswitchd and we're waiting for an openflow
barrier reply.  In such cases, don't reset the expected seqno because
this would delay the notification unnecessarily.

This scenario can be hit at scale, if Southbound DB sends a port
related update before processing the transaction in which ovn-controller
claimed the logical port.

Reported-at: https://bugzilla.redhat.com/1946420
Fixes: 4d3cb42 ("binding: Set Logical_Switch_Port.up when all OVS flows are installed.")
Signed-off-by: Dumitru Ceara <dceara@redhat.com>
Signed-off-by: Numan Siddique <numans@ovn.org>
(cherry picked from commit 9c9b6b1)
  • Loading branch information
dceara authored and numansiddique committed Apr 28, 2021
1 parent 26ad851 commit 4920ba7
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion controller/binding.c
Expand Up @@ -2602,7 +2602,8 @@ binding_seqno_run(struct local_binding_data *lbinding_data)
* Port_Binding 'up' field and the OVS Interface 'external-id'.
*/
struct binding_lport *b_lport = local_binding_get_primary_lport(lb);
if (lb && b_lport && lb->iface) {
if (lb && b_lport && lb->iface
&& !simap_contains(&binding_iface_seqno_map, lb->name)) {
new_ifaces = true;

if (smap_get(&lb->iface->external_ids, OVN_INSTALLED_EXT_ID)) {
Expand Down

0 comments on commit 4920ba7

Please sign in to comment.