Hmm, that sounds like a good idea, yes.
On Wed, Oct 26, 2011 at 11:42:57AM -0700, Ethan Jackson wrote: > As an aside. This particular issue has bitten us several times. Does > it make sense in the future to push the check for synthetic ifaces > into the idl? > > Ethan > > On Wed, Oct 26, 2011 at 11:42, Ethan Jackson <[email protected]> wrote: > > This can cause ovs-vswitchd to crash. > > > > Bug #8007. > > Reported-by: Krishna Miriyala <[email protected]> > > --- > > ?vswitchd/bridge.c | ? 13 +++++++++++++ > > ?1 files changed, 13 insertions(+), 0 deletions(-) > > > > diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c > > index 3a19235..09696d5 100644 > > --- a/vswitchd/bridge.c > > +++ b/vswitchd/bridge.c > > @@ -184,6 +184,7 @@ static struct lacp_settings *port_configure_lacp(struct > > port *, > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct lacp_settings *); > > ?static void port_configure_bond(struct port *, struct bond_settings *, > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? uint32_t *bond_stable_ids); > > +static bool port_is_synthetic(const struct port *); > > > > ?static void bridge_configure_mirrors(struct bridge *); > > ?static struct mirror *mirror_create(struct bridge *, > > @@ -1600,6 +1601,10 @@ port_refresh_stp_status(struct port *port) > > ? ? char *keys[4], *values[4]; > > ? ? size_t i; > > > > + ? ?if (port_is_synthetic(port)) { > > + ? ? ? ?return; > > + ? ?} > > + > > ? ? /* STP doesn't currently support bonds. */ > > ? ? if (!list_is_singleton(&port->ifaces)) { > > ? ? ? ? ovsrec_port_set_status(port->cfg, NULL, NULL, 0); > > @@ -2697,6 +2702,14 @@ port_configure_bond(struct port *port, struct > > bond_settings *s, > > ? ? ? ? netdev_set_miimon_interval(iface->netdev, miimon_interval); > > ? ? } > > ?} > > + > > +/* Returns true if 'port' is synthetic, that is, if we constructed it > > locally > > + * instead of obtaining it from the database. */ > > +static bool > > +port_is_synthetic(const struct port *port) > > +{ > > + ? ?return ovsdb_idl_row_is_synthetic(&port->cfg->header_); > > +} > > > > ?/* Interface functions. */ > > > > -- > > 1.7.7 > > > > > _______________________________________________ > dev mailing list > [email protected] > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
