This commit adds a new function "cfm_wake_time()" that returns the next wakeup time associated with the "struct cfm".
Signed-off-by: Alex Wang <al...@nicira.com> --- lib/cfm.c | 18 ++++++++++++++++++ lib/cfm.h | 1 + 2 files changed, 19 insertions(+) diff --git a/lib/cfm.c b/lib/cfm.c index e8f86dc..bb61ad5 100644 --- a/lib/cfm.c +++ b/lib/cfm.c @@ -586,6 +586,24 @@ cfm_wait(struct cfm *cfm) OVS_EXCLUDED(mutex) ovs_mutex_unlock(&mutex); } + +/* Returns the next cfm wakeup time. */ +long long int +cfm_wake_time(struct cfm *cfm) OVS_EXCLUDED(mutex) +{ + long long int retval; + + if (!cfm) { + return LLONG_MAX; + } + + ovs_mutex_lock(&mutex); + retval = MIN(cfm->tx_timer.t, cfm->fault_timer.t); + ovs_mutex_unlock(&mutex); + return retval; +} + + /* Configures 'cfm' with settings from 's'. */ bool cfm_configure(struct cfm *cfm, const struct cfm_settings *s) diff --git a/lib/cfm.h b/lib/cfm.h index cff713f..9d1ea4c 100644 --- a/lib/cfm.h +++ b/lib/cfm.h @@ -82,4 +82,5 @@ int cfm_get_opup(const struct cfm *); void cfm_get_remote_mpids(const struct cfm *, uint64_t **rmps, size_t *n_rmps); const char *cfm_fault_reason_to_str(int fault); +long long int cfm_wake_time(struct cfm*); #endif /* cfm.h */ -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev