From fd0ca62bb10b92ba383f2ee6aa51863273bb38ff Mon Sep 17 00:00:00 2001 From: Ethan Jackson Date: Mon, 9 Jul 2012 15:59:44 -0700 Subject: [PATCH] cfm: Remove sequence fault reason. Commit 2b540ecb (Added handling of previously ignored cfm faults.) made the CFM code trigger a fault when a packet is received with an out of order sequence number. This means that if even one CFM probe is dropped, a fault will be triggered because the next received probe's sequence would be two greater than the last. This is in conflict with the 802.1ag requirement that 3.5 dropped probes triggers fault. Signed-off-by: Ethan Jackson --- lib/cfm.c | 1 - lib/cfm.h | 3 +-- vswitchd/vswitch.xml | 5 ----- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/lib/cfm.c b/lib/cfm.c index 670f0371..b52f97b6 100644 --- a/lib/cfm.c +++ b/lib/cfm.c @@ -633,7 +633,6 @@ cfm_process_heartbeat(struct cfm *cfm, const struct ofpbuf *p) } if (rmp->seq && ccm_seq != (rmp->seq + 1)) { - cfm_fault |= CFM_FAULT_SEQUENCE; VLOG_WARN_RL(&rl, "%s: (mpid %"PRIu64") detected sequence" " numbers which indicate possible connectivity" " problems (previous %"PRIu32") (current %"PRIu32 diff --git a/lib/cfm.h b/lib/cfm.h index 4e421fbd..628d539f 100644 --- a/lib/cfm.h +++ b/lib/cfm.h @@ -33,8 +33,7 @@ struct ofpbuf; CFM_FAULT_REASON(LOOPBACK, loopback) \ CFM_FAULT_REASON(OVERFLOW, overflow) \ CFM_FAULT_REASON(OVERRIDE, override) \ - CFM_FAULT_REASON(INTERVAL, interval) \ - CFM_FAULT_REASON(SEQUENCE, sequence) + CFM_FAULT_REASON(INTERVAL, interval) enum cfm_fault_bit_index { #define CFM_FAULT_REASON(NAME, STR) CFM_FAULT_INDEX_##NAME, diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 15f162a1..688f7157 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -1769,11 +1769,6 @@ frame having an invalid interval. - - Indicates a CFM fault was triggered because the CFM module received - a CCM frame with a sequence number that it was not expecting. - -

Indicates the health of the interface as a percentage of CCM frames -- 2.30.2