head	1.9;
access;
symbols
	RELENG_8_4:1.9.0.2
	RELENG_9_1_0_RELEASE:1.7.4.2.2.2
	RELENG_9_1:1.7.4.2.0.2
	RELENG_9_1_BP:1.7.4.2
	RELENG_8_3_0_RELEASE:1.7.2.1.8.1
	RELENG_8_3:1.7.2.1.0.8
	RELENG_8_3_BP:1.7.2.1
	RELENG_9_0_0_RELEASE:1.7.4.1.2.1
	RELENG_9_0:1.7.4.1.0.2
	RELENG_9_0_BP:1.7.4.1
	RELENG_9:1.7.0.4
	RELENG_9_BP:1.7
	RELENG_7_4_0_RELEASE:1.5.2.1.8.1
	RELENG_8_2_0_RELEASE:1.7.2.1.6.1
	RELENG_7_4:1.5.2.1.0.8
	RELENG_7_4_BP:1.5.2.1
	RELENG_8_2:1.7.2.1.0.6
	RELENG_8_2_BP:1.7.2.1
	RELENG_8_1_0_RELEASE:1.7.2.1.4.1
	RELENG_8_1:1.7.2.1.0.4
	RELENG_8_1_BP:1.7.2.1
	RELENG_7_3_0_RELEASE:1.5.2.1.6.1
	RELENG_7_3:1.5.2.1.0.6
	RELENG_7_3_BP:1.5.2.1
	RELENG_8_0_0_RELEASE:1.7.2.1.2.1
	RELENG_8_0:1.7.2.1.0.2
	RELENG_8_0_BP:1.7.2.1
	RELENG_8:1.7.0.2
	RELENG_8_BP:1.7
	RELENG_7_2_0_RELEASE:1.5.2.1.4.1
	RELENG_7_2:1.5.2.1.0.4
	RELENG_7_2_BP:1.5.2.1
	RELENG_7_1_0_RELEASE:1.5.2.1.2.1
	RELENG_7_1:1.5.2.1.0.2
	RELENG_7_1_BP:1.5.2.1
	RELENG_7:1.5.0.2;
locks; strict;
comment	@# @;


1.9
date	2012.11.17.01.52.54;	author svnexp;	state Exp;
branches
	1.9.2.1;
next	1.8;

1.8
date	2012.06.19.07.34.13;	author np;	state Exp;
branches;
next	1.7;

1.7
date	2009.06.06.17.01.44;	author rwatson;	state Exp;
branches
	1.7.2.1
	1.7.4.1;
next	1.6;

1.6
date	2008.09.23.03.16.54;	author kmacy;	state Exp;
branches;
next	1.5;

1.5
date	2008.04.19.03.22.42;	author kmacy;	state Exp;
branches
	1.5.2.1;
next	1.4;

1.4
date	2008.02.23.01.04.19;	author kmacy;	state Exp;
branches;
next	1.3;

1.3
date	2007.12.18.23.00.25;	author kmacy;	state Exp;
branches;
next	1.2;

1.2
date	2007.12.17.08.17.51;	author kmacy;	state Exp;
branches;
next	1.1;

1.1
date	2007.12.16.05.40.18;	author kmacy;	state Exp;
branches;
next	;

1.9.2.1
date	2012.11.17.01.52.54;	author svnexp;	state dead;
branches;
next	1.9.2.2;

1.9.2.2
date	2013.03.28.13.05.19;	author svnexp;	state Exp;
branches;
next	;

1.7.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.7.2.1.2.1
	1.7.2.1.4.1
	1.7.2.1.6.1
	1.7.2.1.8.1;
next	1.7.2.2;

1.7.2.2
date	2012.11.17.10.36.56;	author svnexp;	state Exp;
branches;
next	;

1.7.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.7.2.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.7.2.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.7.2.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.7.2.1.8.2;

1.7.2.1.8.2
date	2012.11.17.08.25.32;	author svnexp;	state Exp;
branches;
next	;

1.7.4.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.7.4.1.2.1;
next	1.7.4.2;

1.7.4.2
date	2012.07.01.12.00.36;	author np;	state Exp;
branches
	1.7.4.2.2.1;
next	1.7.4.3;

1.7.4.3
date	2012.11.17.11.37.16;	author svnexp;	state Exp;
branches;
next	;

1.7.4.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.7.4.1.2.2;

1.7.4.1.2.2
date	2012.11.17.08.37.13;	author svnexp;	state Exp;
branches;
next	;

1.7.4.2.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.7.4.2.2.2;

1.7.4.2.2.2
date	2012.11.17.08.48.04;	author svnexp;	state Exp;
branches;
next	;

1.5.2.1
date	2008.07.28.23.37.33;	author kmacy;	state Exp;
branches
	1.5.2.1.2.1
	1.5.2.1.4.1
	1.5.2.1.6.1
	1.5.2.1.8.1;
next	1.5.2.2;

1.5.2.2
date	2012.11.17.08.06.45;	author svnexp;	state Exp;
branches;
next	;

1.5.2.1.2.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.5.2.1.4.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.5.2.1.6.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.5.2.1.8.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.5.2.1.8.2;

1.5.2.1.8.2
date	2012.11.17.08.17.26;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.9
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/sys/modules/cxgb/tom/Makefile 237263 2012-06-19 07:34:13Z np $

.include <bsd.own.mk>

CXGB = ${.CURDIR}/../../../dev/cxgb
.PATH: ${CXGB}/ulp/tom

KMOD=	t3_tom
SRCS=   cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_l2t.c
SRCS+=	opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h
SRCS+=	opt_tcpdebug.h opt_ddb.h opt_sched.h opt_global.h opt_ktr.h
SRCS+=	device_if.h bus_if.h pci_if.h
CFLAGS+= -g -I${CXGB}

#CFLAGS+= -DDEBUG_PRINT -DDEBUG

.if !defined(KERNBUILDDIR)
.if ${MK_INET_SUPPORT} != "no"
opt_inet.h:
	echo "#define INET 1" > ${.TARGET}
	echo "#define TCP_OFFLOAD 1" >> ${.TARGET}
.endif
.endif

.include <bsd.kmod.mk>
@


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


1.9.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 15
# $FreeBSD: releng/8.4/sys/modules/cxgb/tom/Makefile 193588 2009-06-06 17:01:44Z rwatson $

CXGB = ${.CURDIR}/../../../dev/cxgb
.PATH: ${CXGB}/ulp/tom

KMOD=	tom
SRCS=   cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_tom_sysctl.c cxgb_cpl_socket.c
SRCS+=  cxgb_ddp.c cxgb_vm.c cxgb_l2t.c cxgb_tcp_offload.c
SRCS+=	opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h
SRCS+=	opt_tcpdebug.h opt_ddb.h opt_sched.h opt_global.h opt_ktr.h
SRCS+=	device_if.h bus_if.h pci_if.h
CFLAGS+= -g -I${CXGB}

#CFLAGS+= -DDEBUG_PRINT -DDEBUG
.include <bsd.kmod.mk>
@


1.8
log
@SVN rev 237263 on 2012-06-19 07:34:13Z by np

- Updated TOE support in the kernel.

- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs.
  These are available as t3_tom and t4_tom modules that augment cxgb(4)
  and cxgbe(4) respectively.  The cxgb/cxgbe drivers continue to work as
  usual with or without these extra features.

- iWARP driver for Terminator 3 ASIC (kernel verbs).  T4 iWARP in the
  works and will follow soon.

Build-tested with make universe.

30s overview
============
What interfaces support TCP offload?  Look for TOE4 and/or TOE6 in the
capabilities of an interface:
# ifconfig -m | grep TOE

Enable/disable TCP offload on an interface (just like any other ifnet
capability):
# ifconfig cxgbe0 toe
# ifconfig cxgbe0 -toe

Which connections are offloaded?  Look for toe4 and/or toe6 in the
output of netstat and sockstat:
# netstat -np tcp | grep toe
# sockstat -46c | grep toe

Reviewed by:	bz, gnn
Sponsored by:	Chelsio communications.
MFC after:	~3 months (after 9.1, and after ensuring MFC is feasible)
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.7
log
@SVN rev 193588 on 2009-06-06 17:01:44Z by rwatson

Remove opt_mac.h generation for various kernel modules that no longer
require it.

Submitted by:	pjd
@
text
@d3 2
d8 2
a9 3
KMOD=	tom
SRCS=   cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_tom_sysctl.c cxgb_cpl_socket.c
SRCS+=  cxgb_ddp.c cxgb_vm.c cxgb_l2t.c cxgb_tcp_offload.c
d16 9
@


1.7.4.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.7.4.2
log
@SVN rev 237920 on 2012-07-01 12:00:36Z by np

Backport just the sys/{dev,modules}/cxgb{,e}/ parts of r237263, and then
disable the TOE and iWARP modules in the Makefiles (they won't compile
without the rest of r237263).

This reduces diffs between the cxgb/cxgbe drivers in head and 9 and
makes it easy to MFC other fixes to 9.
@
text
@a2 2
.include <bsd.own.mk>

d6 3
a8 2
KMOD=	t3_tom
SRCS=   cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_l2t.c
a14 9

.if !defined(KERNBUILDDIR)
.if ${MK_INET_SUPPORT} != "no"
opt_inet.h:
	echo "#define INET 1" > ${.TARGET}
	echo "#define TCP_OFFLOAD 1" >> ${.TARGET}
.endif
.endif

@


1.7.4.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
@d1 1
a1 1
# $FreeBSD: stable/9/sys/modules/cxgb/tom/Makefile 237920 2012-07-01 12:00:36Z np $
@


1.7.4.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.7.4.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/modules/cxgb/tom/Makefile 237920 2012-07-01 12:00:36Z np $
@


1.7.4.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.7.4.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/modules/cxgb/tom/Makefile 193588 2009-06-06 17:01:44Z rwatson $
@


1.7.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.7.2.2
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
@d1 1
a1 1
# $FreeBSD: stable/8/sys/modules/cxgb/tom/Makefile 193588 2009-06-06 17:01:44Z rwatson $
@


1.7.2.1.8.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.7.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/modules/cxgb/tom/Makefile 193588 2009-06-06 17:01:44Z rwatson $
@


1.7.2.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.7.2.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.7.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.6
log
@SVN rev 183292 on 2008-09-23 03:16:54Z by kmacy

Update cxgb include paths to not require prefixing with dev/cxgb

Submitted by:	Chelsio Inc.
@
text
@d9 1
a9 1
SRCS+=	opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h 
@


1.5
log
@move cxgb_lt2.[ch] from NIC to TOE
move most offload functionality from NIC to TOE
factor out all socket and inpcb direct access
factor out access to locking in incpb, pcbinfo, and sockbuf
@
text
@d3 2
a4 2
TOM = ${.CURDIR}/../../../dev/cxgb/ulp/tom
.PATH: ${TOM} 
d12 1
@


1.5.2.1
log
@SVN rev 180944 on 2008-07-28 23:37:33Z by kmacy

MFC the following:
  - vendor bug fixes
  - driver side of iwarp support
  - driver side of TOE support
  - Makefile cleanup
@
text
@@


1.5.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/sys/modules/cxgb/tom/Makefile 178302 2008-04-19 03:22:43Z kmacy $
@


1.5.2.1.8.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.5.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/sys/modules/cxgb/tom/Makefile 178302 2008-04-19 03:22:43Z kmacy $
@


1.5.2.1.6.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.5.2.1.4.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.5.2.1.2.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.4
log
@- update firmware to 5.0
- add support for T3C
- add DDP support (zero-copy receive)
- fix TOE transmit of large requests
- fix shutdown so that sockets don't remain in CLOSING state indefinitely
- register listeners when an interface is brought up after tom is loaded
- fix setting of multicast filter
- enable link at device attach
- exit tick handler if shutdown is in progress
- add helper for logging TCB
- add sysctls for dumping transmit queues

- note that TOE wxill not be MFC'd until after 7.0 has been finalized

MFC after: 3 days
@
text
@d8 1
a8 1
SRCS+=  cxgb_ddp.c cxgb_vm.c
@


1.3
log
@Don't overload tcp_usrreqs unless the kernel doesn't provide offload support.
@
text
@d2 1
d8 3
a10 2
#SRCS+=  cxgb_tcp_subr.c cxgb_tcp_usrreq.c
SRCS+=	opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h opt_tcpdebug.h opt_ddb.h
@


1.2
log
@Make TCP offload work on HEAD (modulo negative interaction between sbcompress
and t3_push_frames).
 - Import latest changes to cxgb_main.c and cxgb_sge.c from toestack p4 branch
 - make driver local copy of tcp_subr.c and tcp_usrreq.c and override tcp_usrreqs so
   TOE can also functions on versions with unmodified TCP

- add cxgb back to the build
@
text
@d7 1
a7 1
SRCS+=  cxgb_tcp_subr.c cxgb_tcp_usrreq.c
@


1.1
log
@Makefile for the TCP offload module
@
text
@d7 6
a12 2
SRCS+=	device_if.h bus_if.h pci_if.h 
.include <bsd.kmod.mk>@

