freebsd-dev/sys/conf
Navdeep Parhar caf20efcde Add support for packet-sniffing tracers to cxgbe(4). This works with
all T4 and T5 based cards and is useful for analyzing TSO, LRO, TOE, and
for general purpose monitoring without tapping any cxgbe or cxl ifnet
directly.

Tracers on the T4/T5 chips provide access to Ethernet frames exactly as
they were received from or transmitted on the wire.  On transmit, a
tracer will capture a frame after TSO segmentation, hw VLAN tag
insertion, hw L3 & L4 checksum insertion, etc.  It will also capture
frames generated by the TCP offload engine (TOE traffic is normally
invisible to the kernel).  On receive, a tracer will capture a frame
before hw VLAN extraction, runt filtering, other badness filtering,
before the steering/drop/L2-rewrite filters or the TOE have had a go at
it, and of course before sw LRO in the driver.

There are 4 tracers on a chip.  A tracer can trace only in one direction
(tx or rx).  For now cxgbetool will set up tracers to capture the first
128B of every transmitted or received frame on a given port.  This is a
small subset of what the hardware can do.  A pseudo ifnet with the same
name as the nexus driver (t4nex0 or t5nex0) will be created for tracing.
The data delivered to this ifnet is an additional copy made inside the
chip.  Normal delivery to cxgbe<n> or cxl<n> will be made as usual.

/* watch cxl0, which is the first port hanging off t5nex0. */
# cxgbetool t5nex0 tracer 0 tx0  (watch what cxl0 is transmitting)
# cxgbetool t5nex0 tracer 1 rx0  (watch what cxl0 is receiving)
# cxgbetool t5nex0 tracer list
# tcpdump -i t5nex0   <== all that cxl0 sees and puts on the wire

If you were doing TSO, a tcpdump on cxl0 may have shown you ~64K
"frames" with no L3/L4 checksum but this will show you the frames that
were actually transmitted.

/* all done */
# cxgbetool t5nex0 tracer 0 disable
# cxgbetool t5nex0 tracer 1 disable
# cxgbetool t5nex0 tracer list
# ifconfig t5nex0 destroy
2013-07-26 22:04:11 +00:00
..
files Add support for packet-sniffing tracers to cxgbe(4). This works with 2013-07-26 22:04:11 +00:00
files.amd64 Add message when nvd disks are attached and detached. 2013-07-19 21:40:57 +00:00
files.arm - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
files.i386 Add message when nvd disks are attached and detached. 2013-07-19 21:40:57 +00:00
files.ia64 - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
files.mips - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
files.pc98 - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
files.powerpc - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
files.sparc64 - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
kern.mk Spell extensions correctly. 2013-05-20 19:41:34 +00:00
kern.post.mk Remove the links: target. It too is homelessly outdated since it 2012-10-25 04:55:04 +00:00
kern.pre.mk Add the AR9300 HAL into the kernel and module builds. 2013-05-02 07:05:34 +00:00
kmod_syms.awk
kmod.mk amd64: use -mno-omit-leaf-frame-pointer in addition to -fno-omit-frame-pointer 2013-07-09 08:42:02 +00:00
ldscript.amd64 The new binutils has correctly redefined MAXPAGESIZE on amd64 as 0x200000 2011-03-28 06:35:17 +00:00
ldscript.arm Correctly align the unwind tables. Without this clang may incorrectly align 2013-03-10 00:47:19 +00:00
ldscript.i386 Step 2: sync sys/conf/ldscript.i386 with the binutils 2.17.50 version, 2010-11-05 19:40:27 +00:00
ldscript.ia64 Stop linking against a direct-mapped virtual address and instead 2011-04-30 20:49:00 +00:00
ldscript.mips Let the linker pick the right output format automatically 2010-11-13 18:38:35 +00:00
ldscript.mips.cfe Remove commented out _DYNAMIC sections. 2011-01-20 19:20:23 +00:00
ldscript.mips.mips64 Remove commented out _DYNAMIC sections. 2011-01-20 19:20:23 +00:00
ldscript.mips.octeon1 In fact, we don't need any of these __DYNAMIC. it is a.out leftover and commented out. 2011-01-20 19:24:50 +00:00
ldscript.powerpc In fact, we don't need any of these __DYNAMIC. it is a.out leftover and commented out. 2011-01-20 19:24:50 +00:00
ldscript.powerpc64 Add the .opd section, this is helps booting a profiled kernel. 2012-01-20 18:52:31 +00:00
ldscript.sparc64 Merge binutils 2.17.50 to head. This brings a number of improvements to 2011-02-18 20:54:12 +00:00
Makefile.amd64 amd64: use -mno-omit-leaf-frame-pointer in addition to -fno-omit-frame-pointer 2013-07-09 08:42:02 +00:00
Makefile.arm 2 years, 10 months, 22 days after the projects/arm_eabi branch was created 2013-07-16 19:15:19 +00:00
Makefile.i386 Add basic support for FDT to i386 & amd64. This change includes: 2013-05-21 03:05:49 +00:00
Makefile.ia64 Ooops. Bump the version to 600009, not 600008. 2010-05-02 06:23:15 +00:00
Makefile.mips Fill out fake preload structure to let userland tools like pmc(3) know 2012-03-15 05:29:51 +00:00
Makefile.pc98 MFi386: r232263 2012-11-10 14:56:35 +00:00
Makefile.powerpc Remove duplication and centralize testing of various config(8)ed features. 2012-09-12 14:19:40 +00:00
Makefile.sparc64
makeLINT.mk Generate a LINT for powerpc and for powerpc64. 2013-04-11 22:18:20 +00:00
makeLINT.sed Match the files directive and all the ways to add or subtract options 2011-10-04 17:11:38 +00:00
newvers.sh newvers.sh: add another git-svn fallback 2013-07-24 09:06:50 +00:00
NOTES - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
options Add an entry for filemon. 2013-07-03 20:22:12 +00:00
options.amd64 Rename the IVY_RNG option to RDRAND_RNG. 2012-09-13 10:12:16 +00:00
options.arm Port the new PV entry allocator from amd64/i386/mips to armv6/v7. 2013-05-14 09:47:58 +00:00
options.i386 Rename the IVY_RNG option to RDRAND_RNG. 2012-09-13 10:12:16 +00:00
options.ia64 Port the new PV entry allocator from amd64/i386. This allocator has two 2012-10-26 03:02:39 +00:00
options.mips Add an option for the GE FES based packet engines. Its board IDs 2013-04-23 09:40:42 +00:00
options.pc98 MFC r199852, r202387, r202441, r202534: 2010-03-29 15:39:17 +00:00
options.powerpc Initial support for running FreeBSD on the Nintendo Wii. We're able to 2012-08-21 06:31:26 +00:00
options.sparc64 - While Netra X1 generally show no ill effects when registering a power 2013-03-02 00:37:31 +00:00
systags.sh
WITHOUT_SOURCELESS Move WITHOUT_SOURCELESS_* files to sys/conf/ in order to avoid "universe" 2012-02-12 14:55:27 +00:00
WITHOUT_SOURCELESS_HOST Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver. 2013-07-06 07:49:41 +00:00
WITHOUT_SOURCELESS_UCODE Adding urtwn(4) firmware and related changes. 2013-07-10 08:21:09 +00:00