Here's an incremental.  Note that I put the news entry under 1.11 as I intend
to backport this.

---
 NEWS      |    3 ++-
 lib/cfm.c |    6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 4cb4499..2fd7cb3 100644
--- a/NEWS
+++ b/NEWS
@@ -5,7 +5,6 @@ post-v1.11.0
         of tunneled packets, for tunnel ports configured with the newly
        added "remote_ip=flow" and "local_ip=flow" options.
 
-
 v1.11.0 - xx xxx xxxx
 ---------------------
     - The "tutorial" directory contains a new tutorial for some advanced
@@ -30,6 +29,8 @@ v1.11.0 - xx xxx xxxx
       pass through. Any users that relied on this automatic firewall hole
       will have to manually configure it. The ovs-ctl(8) manpage documents
       the "enable-protocol" command that can be used as an alternative.
+    - New CFM demand mode which uses data traffic to indicate interface
+      liveness.
 
 v1.10.0 - 01 May 2013
 ---------------------
diff --git a/lib/cfm.c b/lib/cfm.c
index 9df404e..4ef17dc 100644
--- a/lib/cfm.c
+++ b/lib/cfm.c
@@ -309,8 +309,8 @@ cfm_create(const struct netdev *netdev)
     struct cfm *cfm;
 
     cfm = xzalloc(sizeof *cfm);
-    cfm->name = netdev_get_name(netdev);
-    cfm->netdev = netdev;
+    cfm->netdev = netdev_ref(netdev);
+    cfm->name = netdev_get_name(cfm->netdev);
     hmap_init(&cfm->remote_mps);
     cfm_generate_maid(cfm);
     hmap_insert(&all_cfms, &cfm->hmap_node, hash_string(cfm->name, 0));
@@ -551,6 +551,8 @@ cfm_configure(struct cfm *cfm, const struct cfm_settings *s)
             cfm->demand = true;
             cfm->rx_packets = cfm_rx_packets(cfm);
         }
+    } else {
+        cfm->demand = false;
     }
 
     if (interval != cfm->ccm_interval || interval_ms != cfm->ccm_interval_ms) {
-- 
1.7.9.5

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to