Thanks, I applied these to master.
On Wed, Mar 06, 2013 at 04:16:30PM -0800, Ethan Jackson wrote: > 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