[ovs-dev] [PATCH 09/10] cfm: Add cfm_wake_time() function.
Alex Wang
alexw at nicira.com
Tue Oct 8 20:30:41 UTC 2013
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 <alexw at 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
More information about the dev
mailing list