Acked-by: Ethan Jackson <et...@nicira.com>
On Wed, Mar 6, 2013 at 2:53 PM, Ben Pfaff <b...@nicira.com> wrote: > Commit 9a9e3786b3a8 (ofproto: Merge all the CFM query functions into one.) > mistakenly interpreted struct ofproto_cfm_status as always being in the > range [0,100]. It can in fact take the value -1 if the health status is > not currently well-defined. > > Signed-off-by: Ben Pfaff <b...@nicira.com> > --- > ofproto/ofproto.h | 9 +++++++-- > vswitchd/bridge.c | 6 +++++- > 2 files changed, 12 insertions(+), 3 deletions(-) > > diff --git a/ofproto/ofproto.h b/ofproto/ofproto.h > index 3ea56df..5960d7b 100644 > --- a/ofproto/ofproto.h > +++ b/ofproto/ofproto.h > @@ -362,8 +362,8 @@ void ofproto_free_ofproto_controller_info(struct shash > *); > > /* CFM status query. */ > struct ofproto_cfm_status { > - enum cfm_fault_reason faults; /* 0 if not faulted. */ > - int health; /* Health status in [0,100] range. */ > + /* 0 if not faulted, otherwise a combination of one or more reasons. > */ > + enum cfm_fault_reason faults; > > /* 0 if the remote CFM endpoint is operationally down, > * 1 if the remote CFM endpoint is operationally up, > @@ -371,6 +371,11 @@ struct ofproto_cfm_status { > * mode. */ > int remote_opstate; > > + /* Ordinarily a "health status" in the range 0...100 inclusive, with 0 > + * being worst and 100 being best, or -1 if the health status is not > + * well-defined. */ > + int health; > + > /* MPIDs of remote maintenance points whose CCMs have been received. > */ > const uint64_t *rmps; > size_t n_rmps; > diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c > index 311753d..f7932c7 100644 > --- a/vswitchd/bridge.c > +++ b/vswitchd/bridge.c > @@ -1779,7 +1779,11 @@ iface_refresh_cfm_stats(struct iface *iface) > ovsrec_interface_set_cfm_remote_mpids(cfg, > (const int64_t > *)status.rmps, > status.n_rmps); > - ovsrec_interface_set_cfm_health(cfg, &cfm_health, 1); > + if (cfm_health >= 0) { > + ovsrec_interface_set_cfm_health(cfg, &cfm_health, 1); > + } else { > + ovsrec_interface_set_cfm_health(cfg, NULL, 0); > + } > } > } > > -- > 1.7.2.5 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev >
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev