On Thu, Oct 04, 2018 at 11:34:44AM -0700, Yifeng Sun wrote: > Or we make the changes to ovsdb-types.h as below so that it can be compiled > by c++ compilers. What do you think?
Those changes are fine with me. > diff --git a/lib/ovsdb-types.h b/lib/ovsdb-types.h > index 368c41617794..b9eb0928df6b 100644 > --- a/lib/ovsdb-types.h > +++ b/lib/ovsdb-types.h > @@ -53,6 +53,27 @@ enum ovsdb_ref_type { > OVSDB_REF_WEAK /* Delete reference if target disappears. > */ > }; > > +struct ovsdb_integer_constraints { > + int64_t min; /* minInteger or INT64_MIN. */ > + int64_t max; /* maxInteger or INT64_MAX. */ > +}; > + > +struct ovsdb_real_constraints { > + double min; /* minReal or -DBL_MAX. */ > + double max; /* minReal or DBL_MAX. */ > +}; > + > +struct ovsdb_string_constraints { > + unsigned int minLen; /* minLength or 0. */ > + unsigned int maxLen; /* maxLength or UINT_MAX. */ > +}; > + > +struct ovsdb_uuid_constraints { > + char *refTableName; /* Name of referenced table, or NULL. */ > + struct ovsdb_table *refTable; /* Referenced table, if available. */ > + enum ovsdb_ref_type refType; /* Reference type. */ > +}; > + > struct ovsdb_base_type { > enum ovsdb_atomic_type type; > > @@ -61,28 +82,11 @@ struct ovsdb_base_type { > struct ovsdb_datum *enum_; > > union { > - struct ovsdb_integer_constraints { > - int64_t min; /* minInteger or INT64_MIN. */ > - int64_t max; /* maxInteger or INT64_MAX. */ > - } integer; > - > - struct ovsdb_real_constraints { > - double min; /* minReal or -DBL_MAX. */ > - double max; /* minReal or DBL_MAX. */ > - } real; > - > + struct ovsdb_integer_constraints integer; > + struct ovsdb_real_constraints real; > /* No constraints for Boolean types. */ > - > - struct ovsdb_string_constraints { > - unsigned int minLen; /* minLength or 0. */ > - unsigned int maxLen; /* maxLength or UINT_MAX. */ > - } string; > - > - struct ovsdb_uuid_constraints { > - char *refTableName; /* Name of referenced table, or NULL. */ > - struct ovsdb_table *refTable; /* Referenced table, if > available. */ > - enum ovsdb_ref_type refType; /* Reference type. */ > - } uuid; > + struct ovsdb_string_constraints string; > + struct ovsdb_uuid_constraints uuid; > }; > }; > > On Thu, Oct 4, 2018 at 9:28 AM Ben Pfaff <b...@ovn.org> wrote: > > > One point of view is that JSON-RPC is a standard protocol and it's not > > OVS's responsibility to implement it for every third-party program. > > > > Another is that we could expose the additional APIs that are needed. > > > > On Wed, Oct 03, 2018 at 07:01:09PM -0700, Yifeng Sun wrote: > > > We need a proper method for external code to send queries to db.sock. > > > The jsonrpc.h does expose more than what is needed. > > > Do you have any better suggestion? > > > > > > Thanks, > > > Yifeng > > > > > > On Wed, Oct 3, 2018 at 6:26 PM Ben Pfaff <b...@ovn.org> wrote: > > > > > > > On Wed, Oct 03, 2018 at 04:07:22PM -0700, Yifeng Sun wrote: > > > > > This patch exposes jsonrpc.h for inclusion in C++, which will be > > > > > used by NSX. > > > > > > > > > > It added [extern "C"] to the header file and fixed other places > > > > > to accommodate this change. > > > > > > > > > > Signed-off-by: Yifeng Sun <pkusunyif...@gmail.com> > > > > > > > > Is this useful by itself? The header file refers to struct stream, > > > > struct pstream, struct reconnect_stats, and struct svec, but these > > > > aren't in public headers. > > > > > > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev