[ovs-dev] [PATCH 0/9] RFC: rework code base for third-party linking
Ben Pfaff
blp at ovn.org
Fri Feb 26 22:32:10 UTC 2016
On Mon, Feb 22, 2016 at 03:46:50PM -0800, ben at skyportsystems.com wrote:
> From: Ben Warren <ben at 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
More information about the dev
mailing list