On Mon, Feb 22, 2016 at 03:46:50PM -0800, b...@skyportsystems.com wrote: > From: Ben Warren <b...@skyportsystems.com> > > This patch set is a first stab at making a 'dev' distribution for OpenVswitch > The goal is to provide shared libraries and header files so that third party > applications can link in OVS rather than always using the command line > utilities. > > Design: > > Nothing too exotic here - some header files have been moved from 'lib' to > 'include/openvswitch'. All header files in 'include' are considered > appropriate for third-party inclusion.
Looking at the patches, I'm a little confused. I assumed that part of the goal here would be to make sure that include/openvswitch was self-contained, that is, headers in it only refer to other headers in it (or to system headers)[*]. A secondary goal is to expose useful functionality. But the first patch that moves ofp-parse.h into include/openvswitch doesn't seem to do this. It doesn't expose useful functionality, as far as I can tell, because there's basically nothing that any client can call without including lots of other headers not in include/openvswitch. For example, I can't use parse_ofp_str(), because that needs struct ofputil_flow_mod from lib/ofp-util.h. I guess it's self-contained in a technical way (since it does delete the unneeded #include of lib/packets.h, which at first I expected to make it not-self-contained). Can you help me understand better? Thanks, Ben. [*] There was one minor violation of this rule. I sent out a fix: http://openvswitch.org/pipermail/dev/2016-February/066869.html _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev