[ovs-dev] [PATCH] test-classifier: Include classifier.h instead of classifier.c

Thomas Graf tgraf at noironetworks.com
Thu Oct 23 19:52:36 UTC 2014


On 10/23/14 at 11:38am, Jarno Rajahalme wrote:
> > On Oct 23, 2014, at 8:22 AM, Ben Pfaff <blp at nicira.com> wrote:
> > 
> >> On Thu, Oct 23, 2014 at 12:04:18PM +0200, Thomas Graf wrote:
> >> Exposes the necessary structs and functions in classifier.h to allow
> >> test-classifier.c to use the header and link to the library instead
> >> of including classifier.c directly.
> >> 
> >> Adds VLOG_DECLARE_THIS_MODULE() which allows to extend the namespace
> >> of a vlog module.
> >> 
> >> Also adds an assert to VLOG_DEFINE_MODULE() to catch duplicate
> >> definitions with a proper backtrace.
> >> 
> >> Cc: Scott Mann <smann at noironetworks.com>
> >> Cc: Ben Pfaff <blp at nicira.com>
> >> Cc: Gurucharan Shetty <shettyg at nicira.com>
> >> Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
> > 
> > Jarno, are you OK with this?  It solves a problem building with
> > --enable-shared (which I'd add to the commit message):
> > http://archives.openvswitch.org/pipermail/dev/2014-October/047674.html
> 
> I'd rather not expose the classifier internals in a shared library ABI, even if it is versioned. I'll see if there is another solution. What was the problem?

I think we should differ between public APIs in terms of what we
expose in public headers and internal APIs which are non-static but
only consumable by OVS internal components.

I see the classifier bits belong to the 2nd group.

I would assume for Scott to propose moving parts of the headers to
include/  piece by piece as soon as we have agreed on how to build
the shared library.

We can make * as private and manually expose specific symbols as
public using the symbol map that Scott proposes.



More information about the dev mailing list