cfm: Require ccm received in demand mode.
authorAlex Wang <alexw@nicira.com>
Wed, 9 Apr 2014 17:58:54 +0000 (10:58 -0700)
committerAlex Wang <alexw@nicira.com>
Wed, 30 Apr 2014 23:25:09 +0000 (16:25 -0700)
commit5767a79a40599e5e6e70662833b27ffdbdab7e37
tree6266a0dbd00fdbdc77c66e58d57bd78ce4ed5ba5
parent6e9231f70f31317619d43838f54fc6abce3942ac
cfm: Require ccm received in demand mode.

This commit adds a new requirement that cfm session must receive
at least one ccm every 100 * cfm_interval amount of time in demand
mode.  Otherwise, even if the data packets are received on the
monitored interface, the cfm session still reports "[recv]" fault.

Since the datapath flow is not purged when the userspace Open Vswitch
crashes, data packet can still be forwarded through the tunnel and
fool the remote CFM session in demand mode.  Thus, this commit can
prevent the remote CFM session from falsely declaring tunnel liveness
in this situation.

Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
lib/cfm.c
tests/cfm.at
vswitchd/vswitch.xml