From fb668e3a13eaa07bbb8bc50cbee1d201051b779c Mon Sep 17 00:00:00 2001 From: Joe Stringer Date: Wed, 6 Nov 2013 10:36:17 -0800 Subject: [PATCH] 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 --- lib/cfm.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) 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) { -- 2.47.0