From: Ben Pfaff Date: Tue, 20 Apr 2010 20:41:53 +0000 (-0700) Subject: in-band: Refresh both local and remote rules even if local rules change. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fba0d699ef5b097b42c49539b9ff4c05c62433ed;p=openvswitch in-band: Refresh both local and remote rules even if local rules change. This code should call refresh_remotes() even if refresh_local() returns true. That is, the normal C short-circuit evaluation of || is not desired here. So always call both. --- diff --git a/ofproto/in-band.c b/ofproto/in-band.c index 85cc034d..444e69d4 100644 --- a/ofproto/in-band.c +++ b/ofproto/in-band.c @@ -692,8 +692,11 @@ void in_band_run(struct in_band *ib) { struct in_band_remote *r; + bool local_change, remote_change; - if (!refresh_local(ib) && !refresh_remotes(ib)) { + local_change = refresh_local(ib); + remote_change = refresh_remotes(ib); + if (!local_change && !remote_change) { /* Nothing changed, nothing to do. */ return; }