-/*
- * Copyright (c) 2010 Nicira Networks.
+/* Copyright (c) 2010, 2011 Nicira Networks.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
struct flow;
struct ofpbuf;
-struct ds;
/* Ethernet destination address of CCM packets. */
static const uint8_t eth_addr_ccm[6] OVS_UNUSED
struct cfm {
/* Configuration Variables. */
uint16_t mpid; /* The MPID of this CFM. */
- uint8_t maid[CCM_MAID_LEN]; /* The MAID of this CFM. */
int interval; /* The requested transmission interval. */
+ const char *name; /* Name of this CFM object. */
/* Statistics. */
- struct hmap remote_mps; /* Expected remote MPs. */
bool fault; /* Indicates connectivity vaults. */
};
-/* Remote MPs represent foreign network entities that are configured to have
- * the same MAID as this CFM instance. */
-struct remote_mp {
- uint16_t mpid; /* The Maintenance Point ID of this 'remote_mp'. */
- struct hmap_node node; /* In 'cfm' 'remote_mps' or 'x_remote_mps'. */
-
- long long recv_time; /* Time the most recent CCM was received. */
- bool fault; /* Indicates a connectivity fault. */
-};
+void cfm_init(void);
struct cfm *cfm_create(void);
void cfm_update_remote_mps(struct cfm *, const uint16_t *mpid, size_t n_mpids);
-const struct remote_mp *cfm_get_remote_mp(const struct cfm *, uint16_t mpid);
-
-bool cfm_generate_maid(const char *md_name, const char *ma_name,
- uint8_t maid[CCM_MAID_LEN]);
-
bool cfm_should_process_flow(const struct flow *);
void cfm_process_heartbeat(struct cfm *, const struct ofpbuf *packet);
-void cfm_dump_ds(const struct cfm *, struct ds *);
-
#endif /* cfm.h */