datapath-protocol: Use Linux kernel types directly.
authorBen Pfaff <blp@nicira.com>
Wed, 5 Oct 2011 17:42:34 +0000 (10:42 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 12 Oct 2011 23:27:09 +0000 (16:27 -0700)
commit9ea0bccc83a84458d934966eae15c78f3ee2bac8
treeecf1a6b0e0667ab14a8d8a8af3ab007114468448
parent09ded0ad489630236210a02f2d315816e558d701
datapath-protocol: Use Linux kernel types directly.

We want datapath-protocol.h to be acceptable as a Linux kernel header, so
it must use Linux kernel types and must not have references to Open vSwitch
symbols or header files.  This commit primarily makes that change to
datapath-protocol.h.

At the same time, at least for now we also want datapath-protocol.h to be
usable on non-Linux platforms, so we need some kind of compatiblity.  Thus,
this commit also introduces a <linux/types.h> header file that defines the
necessary Linux kernel types on non-Linux platforms.

In turn, this requires openvswitch/types.h to use the Linux types directly
for ovs_be<N>; otherwise, sparse complains because now __be<N> and
ovs_be<N> are incompatible from its perspective, so this commit makes that
change too.

I don't have a non-Linux kernel platform readily available, so I only
tested the non-Linux part of the linux/types.h substitute by forcing that
case to be triggered with #if 0.  It worked, except for errors in actual
Linux kernel headers included explicitly from OVS source files, so I think
it's likely to work in practice.

Bug #7559.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
configure.ac
include/automake.mk
include/linux/automake.mk [new file with mode: 0644]
include/linux/types.h [new file with mode: 0644]
include/openvswitch/datapath-protocol.h
include/openvswitch/types.h
lib/dpif-linux.h