bfd/cfm: Check status change before update status to database.
authorAlex Wang <alexw@nicira.com>
Thu, 3 Apr 2014 17:20:44 +0000 (10:20 -0700)
committerAlex Wang <alexw@nicira.com>
Thu, 24 Apr 2014 22:30:55 +0000 (15:30 -0700)
commit88bf179aa3f3fa89822edcd9b882e0f06d39bf08
tree605ab624656c7bf0602f2e90bbb514e0ff7d8912
parent3834bcf2bf9106114bca70264b7a0bdb7351ff80
bfd/cfm: Check status change before update status to database.

This commit adds boolean flag in bfd/cfm module for checking
status change.  If there is no status change, the current
update to OVS database will skip the bfd/cfm session.

In the experiment with 5K bfd sessions, when one session is
flapping at rate of every 0.3 second, this patch reduces the
cpu utilization of the ovs-vswitchd thread from 13 to 6.

Signed-off-by: Alex Wang <alexw@nicira.com>
Acked-by: Joe Stringer <joestringer@nicira.com>
lib/bfd.c
lib/bfd.h
lib/cfm.c
lib/cfm.h
ofproto/ofproto-dpif.c
ofproto/ofproto-provider.h
ofproto/ofproto.c
ofproto/ofproto.h
vswitchd/bridge.c