diff options
author | Vincenzo Maffione <v.maffione@gmail.com> | 2014-02-20 15:40:43 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2014-02-25 11:50:17 +0100 |
commit | 0a985b37272b563b1f8414431c6064eb1aa0c97b (patch) | |
tree | 442a77c617d4354e2f74e3f82c01df79342de376 /configure | |
parent | f6c65bfb93fd90f69a11fd1db1e7b2cebb056b01 (diff) | |
download | qemu-0a985b37272b563b1f8414431c6064eb1aa0c97b.zip qemu-0a985b37272b563b1f8414431c6064eb1aa0c97b.tar.gz qemu-0a985b37272b563b1f8414431c6064eb1aa0c97b.tar.bz2 |
net: Disable netmap backend when not supported
This patch fixes configure so that the netmap backend is not compiled in if the
host doesn't support an API version >= 11. A version upper bound (15) has been
added so that the netmap API can be extended with some minor features without
requiring QEMU code modifications.
Moreover, some changes have been done to net/netmap.c in order to reflect the
current netmap API/ABI (11).
The NETMAP_WITH_LIBS macro makes possible to include some utilities (e.g.
netmap ring macros, D(), RD() and other high level functions) through the netmap
headers. In this way we get rid of the D and RD macro definitions in the QEMU
code, and we open the way for further code simplifications that will be
introduced by future patches.
Signed-off-by: Vincenzo Maffione <v.maffione@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -2215,13 +2215,21 @@ EOF fi ########################################## -# netmap headers probe +# netmap support probe +# Apart from looking for netmap headers, we make sure that the host API version +# supports the netmap backend (>=11). The upper bound (15) is meant to simulate +# a minor/major version number. Minor new features will be marked with values up +# to 15, and if something happens that requires a change to the backend we will +# move above 15, submit the backend fixes and modify this two bounds. if test "$netmap" != "no" ; then cat > $TMPC << EOF #include <inttypes.h> #include <net/if.h> #include <net/netmap.h> #include <net/netmap_user.h> +#if (NETMAP_API < 11) || (NETMAP_API > 15) +#error +#endif int main(void) { return 0; } EOF if compile_prog "" "" ; then |