Thanks Alex. Ethan, do you mind checking this? It is a followup to 76c4290 (cfm: Add ovsdb column "cfm_flap_count".)
On 6 November 2013 10:39, Alex Wang <[email protected]> wrote: > >> After digging in a little further, I think that the only trouble was the >> above issue. With bools backed by ints in C, the other issue I was >> concerned about does not exist. The "old_cfm_fault != cfm->fault" logic >> checks if there has been a change in fault condition, and the existing >> flap check detects the flap transitions correctly. > > > > Exactly, it still compares the enum value rather than boolean value. > > >> >> --- >> lib/cfm.c | 22 ++++++++++++---------- >> 1 file changed, 12 insertions(+), 10 deletions(-) >> >> diff --git a/lib/cfm.c b/lib/cfm.c >> index d256a5f..9c65b34 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) { >> -- >> 1.7.9.5 >> > > LGTM, thx, _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
