+ bool extended; /* Run in extended mode. */
+ bool demand; /* Run in demand mode. */
+ bool opup; /* Operational State. */
+ uint16_t ccm_vlan; /* CCM Vlan tag. Zero if none.
+ CFM_RANDOM_VLAN if random. */
+ uint8_t ccm_pcp; /* CCM Priority. Zero if none. */
+
+ bool check_tnl_key; /* Verify inbound packet key? */
+};
+
+/* CFM status query. */
+struct cfm_status {
+ /* 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,
+ * -1 if we don't know because the remote CFM endpoint is not in extended
+ * mode. */
+ int remote_opstate;
+
+ uint64_t flap_count;
+
+ /* 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;