head	1.4;
access;
symbols
	RELENG_8_4:1.3.0.2
	RELENG_9_1_0_RELEASE:1.1.2.2.2.2
	RELENG_9_1:1.1.2.2.0.2
	RELENG_9_1_BP:1.1.2.2
	RELENG_8_3_0_RELEASE:1.1.4.2.2.1
	RELENG_8_3:1.1.4.2.0.2
	RELENG_8_3_BP:1.1.4.2
	RELENG_8:1.1.0.4
	RELENG_9:1.1.0.2;
locks; strict;
comment	@# @;


1.4
date	2013.05.31.00.36.04;	author svnexp;	state Exp;
branches;
next	1.3;

1.3
date	2013.02.18.01.00.25;	author svnexp;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2012.11.17.01.54.11;	author svnexp;	state Exp;
branches;
next	1.1;

1.1
date	2011.11.17.12.17.39;	author luigi;	state Exp;
branches
	1.1.2.1
	1.1.4.1;
next	;

1.3.2.1
date	2013.02.18.01.00.25;	author svnexp;	state dead;
branches;
next	1.3.2.2;

1.3.2.2
date	2013.03.28.13.05.59;	author svnexp;	state Exp;
branches;
next	;

1.1.2.1
date	2012.02.14.09.42.02;	author luigi;	state dead;
branches;
next	1.1.2.2;

1.1.2.2
date	2012.02.14.09.42.02;	author luigi;	state Exp;
branches
	1.1.2.2.2.1;
next	1.1.2.3;

1.1.2.3
date	2012.11.17.11.37.36;	author svnexp;	state Exp;
branches;
next	1.1.2.4;

1.1.2.4
date	2013.05.10.17.01.44;	author svnexp;	state Exp;
branches;
next	1.1.2.5;

1.1.2.5
date	2013.11.06.23.02.33;	author svnexp;	state Exp;
branches;
next	1.1.2.6;

1.1.2.6
date	2014.02.18.06.01.44;	author svnexp;	state Exp;
branches;
next	;

1.1.2.2.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.1.2.2.2.2;

1.1.2.2.2.2
date	2012.11.17.08.48.24;	author svnexp;	state Exp;
branches;
next	;

1.1.4.1
date	2012.02.14.22.49.34;	author luigi;	state dead;
branches;
next	1.1.4.2;

1.1.4.2
date	2012.02.14.22.49.34;	author luigi;	state Exp;
branches
	1.1.4.2.2.1;
next	1.1.4.3;

1.1.4.3
date	2012.11.17.10.37.14;	author svnexp;	state Exp;
branches;
next	;

1.1.4.2.2.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.1.4.2.2.2;

1.1.4.2.2.2
date	2012.11.17.08.25.48;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.4
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251139
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@#
# $FreeBSD: head/tools/tools/netmap/Makefile 251139 2013-05-30 14:07:14Z luigi $
#
# For multiple programs using a single source file each,
# we can just define 'progs' and create custom targets.
PROGS	=	pkt-gen bridge vale-ctl testpcap libnetmap.so

CLEANFILES = $(PROGS) pcap.o nm_util.o
NO_MAN=
CFLAGS += -Werror -Wall -nostdinc -I/usr/include -I../../../sys
CFLAGS += -Wextra

LDFLAGS += -lpthread -lpcap

.include <bsd.prog.mk>
.include <bsd.lib.mk>

all: $(PROGS)

pkt-gen bridge: nm_util.o
	$(CC) $(CFLAGS) -o ${.TARGET} ${.TARGET:=.c} nm_util.o $(LDFLAGS)

testpcap: pcap.c libnetmap.so
	$(CC) $(CFLAGS) -DTEST -L. -lnetmap -o ${.TARGET} pcap.c
	
libnetmap.so:	pcap.c nm_util.c
	$(CC) $(CFLAGS) -fpic -c ${.ALLSRC}
	$(CC) -shared -o ${.TARGET} ${.ALLSRC:.c=.o}
@


1.3
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/246896
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/tools/tools/netmap/Makefile 246896 2013-02-17 04:43:22Z luigi $
d6 1
a6 1
PROGS	=	pkt-gen bridge testpcap libnetmap.so
@


1.3.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:05:59 +0000
@
text
@d1 28
@


1.3.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 25
#
# $FreeBSD: releng/8.4/tools/tools/netmap/Makefile 231717 2012-02-14 22:49:34Z luigi $
#
# For multiple programs using a single source file each,
# we can just define 'progs' and create custom targets.
PROGS	=	pkt-gen bridge testpcap libnetmap.so

CLEANFILES = $(PROGS) pcap.o
NO_MAN=
CFLAGS += -Werror -Wall -nostdinc -I/usr/include -I../../../sys
CFLAGS += -Wextra

LDFLAGS += -lpthread -lpcap

.include <bsd.prog.mk>
.include <bsd.lib.mk>

all: $(PROGS)

testpcap: pcap.c libnetmap.so
	$(CC) $(CFLAGS) -L. -lnetmap -o ${.TARGET} pcap.c
	
libnetmap.so:	pcap.c
	$(CC) $(CFLAGS) -fpic -c ${.ALLSRC}
	$(CC) -shared -o ${.TARGET} ${.ALLSRC:.c=.o}
@


1.2
log
@Switching exporter and resync
@
text
@d2 1
a2 1
# $FreeBSD: head/tools/tools/netmap/Makefile 227614 2011-11-17 12:17:39Z luigi $
d8 1
a8 1
CLEANFILES = $(PROGS) pcap.o
d20 3
d24 1
a24 1
	$(CC) $(CFLAGS) -L. -lnetmap -o ${.TARGET} pcap.c
d26 1
a26 1
libnetmap.so:	pcap.c
@


1.1
log
@SVN rev 227614 on 2011-11-17 12:17:39Z by luigi

Bring in support for netmap, a framework for very efficient packet
I/O from userspace, capable of line rate at 10G, see

	http://info.iet.unipi.it/~luigi/netmap/

At this time I am bringing in only the generic code (sys/dev/netmap/
plus two headers under sys/net/), and some sample applications in
tools/tools/netmap. There is also a manpage in share/man/man4 [1]

In order to make use of the framework you need to build a kernel
with "device netmap", and patch individual drivers with the code
that you can find in

	sys/dev/netmap/head.diff

The file will go away as the relevant pieces are committed to
the various device drivers, which should happen in a few days
after talking to the driver maintainers.

Netmap support is available at the moment for Intel 10G and 1G
cards (ixgbe, em/lem/igb), and for the Realtek 1G card ("re").
I have partial patches for "bge" and am starting to work on "cxgbe".
Hopefully changes are trivial enough so interested third parties
can submit their patches. Interested people can contact me
for advice on how to add netmap support to specific devices.

CREDITS:
    Netmap has been developed by Luigi Rizzo and other collaborators
    at the Universita` di Pisa, and supported by EU project CHANGE
    (http://www.change-project.eu/)
    The code is distributed under a BSD Copyright.

[1] In my opinion is a bad idea to have all manpage in one directory.
  We should place kernel documentation in the same dir that contains
  the code, which would make it much simpler to keep doc and code
  in sync, reduce the clutter in share/man/ and incidentally is
  the policy used for all of userspace code.
  Makefiles and doc tools can be trivially adjusted to find the
  manpages in the relevant subdirs.
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.1.4.1
log
@file Makefile was added on branch RELENG_8 on 2012-02-14 22:53:07 +0000
@
text
@d1 25
@


1.1.4.2
log
@SVN rev 231717 on 2012-02-14 22:49:34Z by luigi

MFC: bring in the core netmap code (disconnected
from the build). As usual, device driver patches
will come separately.
@
text
@a0 25
#
# $FreeBSD$
#
# For multiple programs using a single source file each,
# we can just define 'progs' and create custom targets.
PROGS	=	pkt-gen bridge testpcap libnetmap.so

CLEANFILES = $(PROGS) pcap.o
NO_MAN=
CFLAGS += -Werror -Wall -nostdinc -I/usr/include -I../../../sys
CFLAGS += -Wextra

LDFLAGS += -lpthread -lpcap

.include <bsd.prog.mk>
.include <bsd.lib.mk>

all: $(PROGS)

testpcap: pcap.c libnetmap.so
	$(CC) $(CFLAGS) -L. -lnetmap -o ${.TARGET} pcap.c
	
libnetmap.so:	pcap.c
	$(CC) $(CFLAGS) -fpic -c ${.ALLSRC}
	$(CC) -shared -o ${.TARGET} ${.ALLSRC:.c=.o}
@


1.1.4.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d2 1
a2 1
# $FreeBSD: stable/8/tools/tools/netmap/Makefile 231717 2012-02-14 22:49:34Z luigi $
@


1.1.4.2.2.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.1.4.2.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/8.3/tools/tools/netmap/Makefile 231717 2012-02-14 22:49:34Z luigi $
@


1.1.2.1
log
@file Makefile was added on branch RELENG_9 on 2012-02-14 09:44:52 +0000
@
text
@d1 25
@


1.1.2.2
log
@SVN rev 231650 on 2012-02-14 09:42:02Z by luigi

MFC: import netmap core files into RELENG_9.
This is the same code as in HEAD.

Device driver modifications will be imported separately
because the base drivers differ and patches might be
slightly different between the various releases.

The code is disconnected from the main build targets
unless you explicitly put a 'device netmap' in your
kernel config file.
@
text
@a0 25
#
# $FreeBSD$
#
# For multiple programs using a single source file each,
# we can just define 'progs' and create custom targets.
PROGS	=	pkt-gen bridge testpcap libnetmap.so

CLEANFILES = $(PROGS) pcap.o
NO_MAN=
CFLAGS += -Werror -Wall -nostdinc -I/usr/include -I../../../sys
CFLAGS += -Wextra

LDFLAGS += -lpthread -lpcap

.include <bsd.prog.mk>
.include <bsd.lib.mk>

all: $(PROGS)

testpcap: pcap.c libnetmap.so
	$(CC) $(CFLAGS) -L. -lnetmap -o ${.TARGET} pcap.c
	
libnetmap.so:	pcap.c
	$(CC) $(CFLAGS) -fpic -c ${.ALLSRC}
	$(CC) -shared -o ${.TARGET} ${.ALLSRC:.c=.o}
@


1.1.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/tools/tools/netmap/Makefile 231650 2012-02-14 09:42:02Z luigi $
@


1.1.2.4
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/250458
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/tools/tools/netmap/Makefile 250458 2013-05-10 16:16:33Z luigi $
d8 1
a8 1
CLEANFILES = $(PROGS) pcap.o nm_util.o
a19 3
pkt-gen bridge: nm_util.o
	$(CC) $(CFLAGS) -o ${.TARGET} ${.TARGET:=.c} nm_util.o $(LDFLAGS)

d21 1
a21 1
	$(CC) $(CFLAGS) -DTEST -L. -lnetmap -o ${.TARGET} pcap.c
d23 1
a23 1
libnetmap.so:	pcap.c nm_util.c
@


1.1.2.5
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/257768
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/tools/tools/netmap/Makefile 257768 2013-11-06 22:36:36Z luigi $
d6 1
a6 1
PROGS	=	pkt-gen bridge vale-ctl testpcap libnetmap.so
@


1.1.2.6
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/262153
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/tools/tools/netmap/Makefile 262153 2014-02-18 05:58:36Z luigi $
d6 1
a6 1
PROGS	=	pkt-gen bridge vale-ctl
d8 1
a8 1
CLEANFILES = $(PROGS) *.o
d10 1
a10 1
CFLAGS += -Werror -Wall # -nostdinc -I/usr/include -I../../../sys
d13 1
a13 6
LDFLAGS += -lpthread
.ifdef WITHOUT_PCAP
CFLAGS += -DNO_PCAP
.else
LDFLAGS += -lpcap
.endif
d20 2
a21 2
pkt-gen: pkt-gen.o
	$(CC) $(CFLAGS) -o pkt-gen pkt-gen.o $(LDFLAGS)
d23 6
a28 5
bridge: bridge.o
	$(CC) $(CFLAGS) -o bridge bridge.o

vale-ctl: vale-ctl.o
	$(CC) $(CFLAGS) -o vale-ctl vale-ctl.o
@


1.1.2.2.2.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.1.2.2.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/9.1/tools/tools/netmap/Makefile 231650 2012-02-14 09:42:02Z luigi $
@


