Applied to master. Thank you. Ethan
On Tue, May 28, 2013 at 2:35 PM, Pavithra Ramesh <[email protected]> wrote: > Invoke the function to reconfigure BFD when a port/interface > is deleted. > > Signed-off-by: Pavithra Ramesh <[email protected]> > --- > lib/bfd.c | 5 +++-- > ofproto/ofproto-dpif.c | 2 ++ > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/lib/bfd.c b/lib/bfd.c > index 95dad2d..761c91c 100644 > --- a/lib/bfd.c > +++ b/lib/bfd.c > @@ -229,7 +229,8 @@ bfd_get_status(const struct bfd *bfd, struct smap *smap) > /* Initializes, destroys, or reconfigures the BFD session 'bfd' (named > 'name'), > * according to the database configuration contained in 'cfg'. Takes > ownership > * of 'bfd', which may be NULL. Returns a BFD object which may be used as a > - * handle for the session, or NULL if BFD is not enabled according to 'cfg'. > */ > + * handle for the session, or NULL if BFD is not enabled according to 'cfg'. > + * Also returns NULL if cfg is NULL. */ > struct bfd * > bfd_configure(struct bfd *bfd, const char *name, > const struct smap *cfg) > @@ -246,7 +247,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 c4f7d25..6eaa348 100644 > --- a/ofproto/ofproto-dpif.c > +++ b/ofproto/ofproto-dpif.c > @@ -606,6 +606,7 @@ ofport_dpif_cast(const struct ofport *ofport) > 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_bfd(struct ofport *, const struct smap *); > static int set_cfm(struct ofport *, const struct cfm_settings *); > static void ofport_clear_priorities(struct ofport_dpif *); > static void run_fast_rl(void); > @@ -1869,6 +1870,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.0.4 > > _______________________________________________ > dev mailing list > [email protected] > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
