[ovs-dev] [PATCH] BFD: Reconfigure BFD on port deletion

Pavithra Ramesh paramesh at vmware.com
Fri May 24 00:31:09 UTC 2013



Invoke the function to reconfigure BFD when a port/interface
is deleted.

Signed-off-by: Pavithra Ramesh <paramesh at vmware.com>
---
 lib/bfd.c              |    2 +-
 ofproto/ofproto-dpif.c |    2 ++
 2 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/lib/bfd.c b/lib/bfd.c
index 95dad2d..48c0e38 100644
--- a/lib/bfd.c
+++ b/lib/bfd.c
@@ -246,7 +246,7 @@ bfd_configure(struct bfd *bfd, const char *name,
         init = true;
     }
 
-    if (!smap_get_bool(cfg, "enable", false)) {
+    if (!cfg || !smap_get_bool(cfg, "enable", false)) {
         if (bfd) {
             hmap_remove(&all_bfds, &bfd->node);
             free(bfd->name);
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 8e51655..3c337ab 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -597,6 +597,7 @@ static void port_run(struct ofport_dpif *);
 static void port_run_fast(struct ofport_dpif *);
 static void port_wait(struct ofport_dpif *);
 static int set_cfm(struct ofport *, const struct cfm_settings *);
+static int set_bfd(struct ofport *, const struct smap *);
 static void ofport_clear_priorities(struct ofport_dpif *);
 static void run_fast_rl(void);
 
@@ -1859,6 +1860,7 @@ port_destruct(struct ofport *port_)
     ofproto->backer->need_revalidate = REV_RECONFIGURE;
     bundle_remove(port_);
     set_cfm(port_, NULL);
+    set_bfd(port_, NULL);
     if (ofproto->sflow) {
         dpif_sflow_del_port(ofproto->sflow, port->odp_port);
     }
-- 
1.7.5.4



More information about the dev mailing list