From: Joe Stringer Date: Wed, 6 Nov 2013 18:36:17 +0000 (-0800) Subject: cfm: Count flaps when logging is disabled X-Git-Tag: sliver-openvswitch-2.0.90-1~5^2~51 X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=commitdiff_plain;h=fb668e3a13eaa07bbb8bc50cbee1d201051b779c cfm: Count flaps when logging is disabled Previously, the flap count logic for CFM was dependent on the state of the logging facility. This patch ensures flaps are always counted when there is a transition between non-fault and fault (and vice versa). Found by inspection. Signed-off-by: Joe Stringer Signed-off-by: Ben Pfaff --- diff --git a/lib/cfm.c b/lib/cfm.c index d256a5f75..9c65b3489 100644 --- a/lib/cfm.c +++ b/lib/cfm.c @@ -480,16 +480,18 @@ cfm_run(struct cfm *cfm) OVS_EXCLUDED(mutex) cfm->fault |= CFM_FAULT_RECV; } - if (old_cfm_fault != cfm->fault && !VLOG_DROP_INFO(&rl)) { - struct ds ds = DS_EMPTY_INITIALIZER; - - ds_put_cstr(&ds, "from ["); - ds_put_cfm_fault(&ds, old_cfm_fault); - ds_put_cstr(&ds, "] to ["); - ds_put_cfm_fault(&ds, cfm->fault); - ds_put_char(&ds, ']'); - VLOG_INFO("%s: CFM faults changed %s.", cfm->name, ds_cstr(&ds)); - ds_destroy(&ds); + if (old_cfm_fault != cfm->fault) { + if (!VLOG_DROP_INFO(&rl)) { + struct ds ds = DS_EMPTY_INITIALIZER; + + ds_put_cstr(&ds, "from ["); + ds_put_cfm_fault(&ds, old_cfm_fault); + ds_put_cstr(&ds, "] to ["); + ds_put_cfm_fault(&ds, cfm->fault); + ds_put_char(&ds, ']'); + VLOG_INFO("%s: CFM faults changed %s.", cfm->name, ds_cstr(&ds)); + ds_destroy(&ds); + } /* If there is a flap, increments the counter. */ if (old_cfm_fault == false || cfm->fault == false) {