All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Qemu-devel] net: Adding netmap network backend
@ 2014-02-12 18:01 Michael Tokarev
  2014-02-14  9:52 ` Stefan Hajnoczi
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Tokarev @ 2014-02-12 18:01 UTC (permalink / raw)
  To: Vincenzo Maffione; +Cc: qemu-devel, Stefan Hajnoczi

After this patch, qemu fails to build on freebsd with the following
error message:

net/netmap.c: In function 'netmap_receive_iov':
net/netmap.c:307: error: 'NS_MOREFRAG' undeclared (first use in this function)
net/netmap.c:307: error: (Each undeclared identifier is reported only once
net/netmap.c:307: error: for each function it appears in.)
net/netmap.c: In function 'netmap_send':
net/netmap.c:356: error: 'NS_MOREFRAG' undeclared (first use in this function)
gmake: *** [net/netmap.o] Error 1

I didn't enable netmap support by default, configure enabled it
automatically.

Freebsd has /usr/include/net/netmap.h and netmap_user.h out of the box.
I've no idea what is inside and how compatible it is with whatever
qemu expects.

I had to explicitly use --disable-netmap for qemu to build on freebsd.

This is FreeBSD 9.1-RELEASE, FWIW.

Thanks,

/mjt

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] net: Adding netmap network backend
  2014-02-12 18:01 [Qemu-devel] net: Adding netmap network backend Michael Tokarev
@ 2014-02-14  9:52 ` Stefan Hajnoczi
  2014-02-14 10:20   ` Vincenzo Maffione
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Hajnoczi @ 2014-02-14  9:52 UTC (permalink / raw)
  To: Michael Tokarev; +Cc: qemu-devel, Vincenzo Maffione

On Wed, Feb 12, 2014 at 10:01:01PM +0400, Michael Tokarev wrote:
> After this patch, qemu fails to build on freebsd with the following
> error message:
> 
> net/netmap.c: In function 'netmap_receive_iov':
> net/netmap.c:307: error: 'NS_MOREFRAG' undeclared (first use in this function)
> net/netmap.c:307: error: (Each undeclared identifier is reported only once
> net/netmap.c:307: error: for each function it appears in.)
> net/netmap.c: In function 'netmap_send':
> net/netmap.c:356: error: 'NS_MOREFRAG' undeclared (first use in this function)
> gmake: *** [net/netmap.o] Error 1
> 
> I didn't enable netmap support by default, configure enabled it
> automatically.
> 
> Freebsd has /usr/include/net/netmap.h and netmap_user.h out of the box.
> I've no idea what is inside and how compatible it is with whatever
> qemu expects.
> 
> I had to explicitly use --disable-netmap for qemu to build on freebsd.
> 
> This is FreeBSD 9.1-RELEASE, FWIW.

Vincenzo: Do you need to add a ./configure check so NS_MOREFRAG is only
used when the host kernel supports it?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] net: Adding netmap network backend
  2014-02-14  9:52 ` Stefan Hajnoczi
@ 2014-02-14 10:20   ` Vincenzo Maffione
  2014-02-14 10:24     ` Luigi Rizzo
  0 siblings, 1 reply; 7+ messages in thread
From: Vincenzo Maffione @ 2014-02-14 10:20 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Luigi Rizzo, Michael Tokarev, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1772 bytes --]

Yes, for sure we need to do a check.

However, this would involve - I think - some non-trivial modifications to
net/netmap.c, because without NS_MOREFRAG you cannot split a packet over
more "netmap slots/descriptors" (both tx and rx side)

Therefore I would ask (manly Luigi, since netmap is in-tree in FreeBSD):
Wouldn't it be better to force --disable-netmap when we realize that
NETMAP_API (version number for the netmap API) is less than the value
required by QEMU? This can be done in ./configure. In this way we keep the
QEMU code cleaner.

Thanks,
  Vincenzo


2014-02-14 10:52 GMT+01:00 Stefan Hajnoczi <stefanha@redhat.com>:

> On Wed, Feb 12, 2014 at 10:01:01PM +0400, Michael Tokarev wrote:
> > After this patch, qemu fails to build on freebsd with the following
> > error message:
> >
> > net/netmap.c: In function 'netmap_receive_iov':
> > net/netmap.c:307: error: 'NS_MOREFRAG' undeclared (first use in this
> function)
> > net/netmap.c:307: error: (Each undeclared identifier is reported only
> once
> > net/netmap.c:307: error: for each function it appears in.)
> > net/netmap.c: In function 'netmap_send':
> > net/netmap.c:356: error: 'NS_MOREFRAG' undeclared (first use in this
> function)
> > gmake: *** [net/netmap.o] Error 1
> >
> > I didn't enable netmap support by default, configure enabled it
> > automatically.
> >
> > Freebsd has /usr/include/net/netmap.h and netmap_user.h out of the box.
> > I've no idea what is inside and how compatible it is with whatever
> > qemu expects.
> >
> > I had to explicitly use --disable-netmap for qemu to build on freebsd.
> >
> > This is FreeBSD 9.1-RELEASE, FWIW.
>
> Vincenzo: Do you need to add a ./configure check so NS_MOREFRAG is only
> used when the host kernel supports it?
>



-- 
Vincenzo Maffione

[-- Attachment #2: Type: text/html, Size: 2393 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] net: Adding netmap network backend
  2014-02-14 10:20   ` Vincenzo Maffione
@ 2014-02-14 10:24     ` Luigi Rizzo
  2014-02-14 13:41       ` Vincenzo Maffione
  0 siblings, 1 reply; 7+ messages in thread
From: Luigi Rizzo @ 2014-02-14 10:24 UTC (permalink / raw)
  To: Vincenzo Maffione; +Cc: Michael Tokarev, qemu-devel, Stefan Hajnoczi

[-- Attachment #1: Type: text/plain, Size: 713 bytes --]

On Fri, Feb 14, 2014 at 2:20 AM, Vincenzo Maffione <v.maffione@gmail.com>wrote:

> Yes, for sure we need to do a check.
>
> However, this would involve - I think - some non-trivial modifications to
> net/netmap.c, because without NS_MOREFRAG you cannot split a packet over
> more "netmap slots/descriptors" (both tx and rx side)
>
> Therefore I would ask (manly Luigi, since netmap is in-tree in FreeBSD):
> Wouldn't it be better to force --disable-netmap when we realize that
> NETMAP_API (version number for the netmap API) is less than the value
> required by QEMU? This can be done in ./configure. In this way we keep the
> QEMU code cleaner.
>

yes we should do exactly what vincenzo suggests.

cheers
luigi

[-- Attachment #2: Type: text/html, Size: 1519 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] net: Adding netmap network backend
  2014-02-14 10:24     ` Luigi Rizzo
@ 2014-02-14 13:41       ` Vincenzo Maffione
  2014-02-14 15:40         ` Stefan Hajnoczi
  0 siblings, 1 reply; 7+ messages in thread
From: Vincenzo Maffione @ 2014-02-14 13:41 UTC (permalink / raw)
  To: Luigi Rizzo; +Cc: Michael Tokarev, qemu-devel, Stefan Hajnoczi

[-- Attachment #1: Type: text/plain, Size: 1064 bytes --]

Stefan,
  It is ok for you if I prepare a patch (touching configure and
net/netmap.c) that makes sure the host kernel has the minimum netmap
version required for QEMU to work (and if not just --disable-netmap)?

Cheers,
  Vincenzo


2014-02-14 11:24 GMT+01:00 Luigi Rizzo <rizzo@iet.unipi.it>:

>
>
>
> On Fri, Feb 14, 2014 at 2:20 AM, Vincenzo Maffione <v.maffione@gmail.com>wrote:
>
>> Yes, for sure we need to do a check.
>>
>> However, this would involve - I think - some non-trivial modifications to
>> net/netmap.c, because without NS_MOREFRAG you cannot split a packet over
>> more "netmap slots/descriptors" (both tx and rx side)
>>
>> Therefore I would ask (manly Luigi, since netmap is in-tree in FreeBSD):
>> Wouldn't it be better to force --disable-netmap when we realize that
>> NETMAP_API (version number for the netmap API) is less than the value
>> required by QEMU? This can be done in ./configure. In this way we keep the
>> QEMU code cleaner.
>>
>
> yes we should do exactly what vincenzo suggests.
>
> cheers
> luigi
>



-- 
Vincenzo Maffione

[-- Attachment #2: Type: text/html, Size: 2300 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] net: Adding netmap network backend
  2014-02-14 13:41       ` Vincenzo Maffione
@ 2014-02-14 15:40         ` Stefan Hajnoczi
  2014-02-14 15:43           ` Vincenzo Maffione
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Hajnoczi @ 2014-02-14 15:40 UTC (permalink / raw)
  To: Vincenzo Maffione; +Cc: Michael Tokarev, Luigi Rizzo, qemu-devel

On Fri, Feb 14, 2014 at 02:41:24PM +0100, Vincenzo Maffione wrote:
>   It is ok for you if I prepare a patch (touching configure and
> net/netmap.c) that makes sure the host kernel has the minimum netmap
> version required for QEMU to work (and if not just --disable-netmap)?

Absolutely.

Stefan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] net: Adding netmap network backend
  2014-02-14 15:40         ` Stefan Hajnoczi
@ 2014-02-14 15:43           ` Vincenzo Maffione
  0 siblings, 0 replies; 7+ messages in thread
From: Vincenzo Maffione @ 2014-02-14 15:43 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Michael Tokarev, Luigi Rizzo, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 470 bytes --]

Ok, this patch should preferably go in before the offloadings.


2014-02-14 16:40 GMT+01:00 Stefan Hajnoczi <stefanha@redhat.com>:

> On Fri, Feb 14, 2014 at 02:41:24PM +0100, Vincenzo Maffione wrote:
> >   It is ok for you if I prepare a patch (touching configure and
> > net/netmap.c) that makes sure the host kernel has the minimum netmap
> > version required for QEMU to work (and if not just --disable-netmap)?
>
> Absolutely.
>
> Stefan
>



-- 
Vincenzo Maffione

[-- Attachment #2: Type: text/html, Size: 908 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-02-14 15:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-12 18:01 [Qemu-devel] net: Adding netmap network backend Michael Tokarev
2014-02-14  9:52 ` Stefan Hajnoczi
2014-02-14 10:20   ` Vincenzo Maffione
2014-02-14 10:24     ` Luigi Rizzo
2014-02-14 13:41       ` Vincenzo Maffione
2014-02-14 15:40         ` Stefan Hajnoczi
2014-02-14 15:43           ` Vincenzo Maffione

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.