@@ -59,10 +59,11 @@
 OCF_RESKEY_pktcnt_timeout_default="5"
 OCF_RESKEY_arping_count_default="1"
 OCF_RESKEY_arping_timeout_default="1"
 OCF_RESKEY_arping_cache_entries_default="5"
 OCF_RESKEY_link_status_only_default="false"
+OCF_RESKEY_dampen_default="10s"
 
 : ${OCF_RESKEY_interface=${OCF_RESKEY_interface_default}}
 : ${OCF_RESKEY_name=${OCF_RESKEY_name_default}}
 : ${OCF_RESKEY_multiplier=${OCF_RESKEY_multiplier_default}}
 : ${OCF_RESKEY_repeat_count=${OCF_RESKEY_repeat_count_default}}
@@ -70,10 +71,11 @@
 : ${OCF_RESKEY_pktcnt_timeout=${OCF_RESKEY_pktcnt_timeout_default}}
 : ${OCF_RESKEY_arping_count=${OCF_RESKEY_arping_count_default}}
 : ${OCF_RESKEY_arping_timeout=${OCF_RESKEY_arping_timeout_default}}
 : ${OCF_RESKEY_arping_cache_entries=${OCF_RESKEY_arping_cache_entries_default}}
 : ${OCF_RESKEY_link_status_only=${OCF_RESKEY_link_status_only_default}}
+: ${OCF_RESKEY_dampen=${OCF_RESKEY_dampen_default}}
 
 #######################################################################
 
 meta_data() {
 	cat <<END
@@ -206,10 +208,18 @@
 </longdesc>
 <shortdesc lang="en">link status check only</shortdesc>
 <content type="boolean" default="${OCF_RESKEY_link_status_only_default}" />
 </parameter>
 
+<parameter name="dampen" reloadable="1">
+<longdesc lang="en">
+The time to wait (dampening) further changes occur
+</longdesc>
+<shortdesc lang="en">Dampening interval</shortdesc>
+<content type="integer" default="10s"/>
+</parameter>
+
 </parameters>
 <actions>
 <action name="start" timeout="60s" />
 <action name="stop" timeout="20s" />
 <action name="status" depth="0" timeout="60s" interval="10s" />
@@ -465,11 +475,15 @@
 END
 }
 
 set_cib_value() {
 	local score=`expr $1 \* $OCF_RESKEY_multiplier`
-	attrd_updater -n $ATTRNAME -v $score
+	if [ "$__OCF_ACTION" = "start" ] ; then
+	    attrd_updater -n $ATTRNAME -B $score -d "$OCF_RESKEY_dampen"
+        else
+	    attrd_updater -n $ATTRNAME -v $score -d "$OCF_RESKEY_dampen"
+	fi
 	local rc=$?
 	case $rc in
 		0) ocf_log debug "attrd_updater: Updated $ATTRNAME = $score" ;;
 		*) ocf_log warn "attrd_updater: Could not update $ATTRNAME = $score: rc=$rc";;
 	esac
@@ -523,11 +537,11 @@
 	exit $attr_rc
 }
 
 if_stop()
 {
-	attrd_updater -D -n $ATTRNAME
+	attrd_updater -D -n $ATTRNAME -d "$OCF_RESKEY_dampen"
 	ha_pseudo_resource $OCF_RESOURCE_INSTANCE stop
 }
 
 if_start()
 {
@@ -545,11 +559,13 @@
 }
 
 
 if_validate() {
 	check_binary $IP2UTIL
-	check_binary arping
+	if [ "OCF_RESKEY_link_status_only_default" = "false" ]; then
+	    check_binary arping
+	fi
 	check_binary bc
 	if_init
 }
 
 case $__OCF_ACTION in
