aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/cxgb
Commit message (Collapse)AuthorAgeFilesLines
* kern: Remove needless kern.opts.mkWarner Losh2025-10-101-3/+0
| | | | | | | | We don't need kern.opts.mk in any of these places. None of these Makefiles reference any MK_ options. Some don't even need SYSDIR, but leave that defined in the ones that do. Sponsored by: Netflix
* Remove residual blank line at start of MakefileWarner Losh2024-07-153-3/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* sys: Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-163-3/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* None of these use opt_sched.hBryan Drewery2020-04-281-1/+1
| | | | Notes: svn path=/head/; revision=360442
* Retire the T3 iWARP and TOE drivers. This saves catch-up work when OFED orNavdeep Parhar2017-09-133-39/+0
| | | | | | | | | | | | other kernel infrastructure changes. Note that this doesn't affect the base cxgb(4) NIC driver for T3 at all. MFC after: No MFC. Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=323556
* sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper2017-03-045-7/+7
| | | | | | | | | | | This simplifies make output/logic Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314651
* Finish process of moving the LinuxKPI module into the default kernel build.Hans Petter Selasky2015-10-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | - Move all files related to the LinuxKPI into sys/compat/linuxkpi and its subfolders. - Update sys/conf/files and some Makefiles to use new file locations. - Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn adds the LinuxKPI to all LINT builds. - The LinuxKPI can be added to the kernel by setting the COMPAT_LINUXKPI option. The OFED kernel option no longer builds the LinuxKPI into the kernel. This was done to keep the build rules for the LinuxKPI in sys/conf/files simple. - Extend the LinuxKPI module to include support for USB by moving the Linux USB compat from usb.ko to linuxkpi.ko. - Bump the FreeBSD_version. - A universe kernel build has been done. Reviewed by: np @ (cxgb and cxgbe related changes only) Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=290135
* opt_global.h is never needed in SRCS lists.Warner Losh2014-11-181-1/+1
| | | | | | | Sponsored by: Netflix Notes: svn path=/head/; revision=274666
* Remove dependence on source tree options. Move all kernel moduleWarner Losh2014-08-111-1/+2
| | | | | | | | | | | | | | | | | | | | | options into kern.opts.mk and change all the places where we use src.opts.mk to pull in the options. Conditionally define SYSDIR and use SYSDIR/conf/kern.opts.mk instead of a CURDIR path. Replace all instances of CURDIR/../../etc with STSDIR, but only in the affected files. As a special compatibility hack, include bsd.owm.mk at the top of kern.opts.mk to allow the bare build of sys/modules to work on older systems. If the defaults ever change between 9.x, 10.x and current for these options, however, you'll wind up with the host OS' defaults rather than the -current defaults. This hack will be removed when we no longer need to support this build scenario. Reviewed by: jhb Differential Revision: https://phabric.freebsd.org/D529 Notes: svn path=/head/; revision=269812
* Move most of the 15 variations on generating opt_inet.h andWarner Losh2014-08-043-35/+0
| | | | | | | | | opt_inet6.h into kmod.mk by forcing almost everybody to eat the same dogfood. While at it, consolidate the opt_bpf.h and opt_mroute.h targets here too. Notes: svn path=/head/; revision=269540
* Use src.opts.mk in preference to bsd.own.mk except where we need stuffWarner Losh2014-05-064-4/+4
| | | | | | | from the latter. Notes: svn path=/head/; revision=265420
* Don't build krping.ko, iw_cxgb.ko, and iw_cxgbe.ko, if MK_OFED=noEdward Tomasz Napierala2013-10-181-0/+5
| | | | | | | | | (the default). They build, but are unloadable, due to missing ibcore.ko. Sponsored by: FreeBSD Foundation Notes: svn path=/head/; revision=256725
* Remove zero-copy sockets code. It only worked for anonymous memory,Konstantin Belousov2013-09-161-1/+1
| | | | | | | | | | | | | | | | and the equivalent functionality is now provided by sendfile(2) over posix shared memory filedescriptor. Remove the cow member of struct vm_page, and rearrange the remaining members. While there, make hold_count unsigned. Requested and reviewed by: alc Tested by: pho Sponsored by: The FreeBSD Foundation Approved by: re (delphij) Notes: svn path=/head/; revision=255608
* - Updated TOE support in the kernel.Navdeep Parhar2012-06-195-49/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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) Notes: svn path=/head/; revision=237263
* Unbreak make depend.Ulrich Spörlein2012-05-301-0/+2
| | | | Notes: svn path=/head/; revision=236311
* MFp4 bz_ipv6_fast:Bjoern A. Zeeb2012-05-251-1/+13
| | | | | | | | | | | | | | | Allow LRO to work on IPv6 as well. Fix the module Makefile to at least properly inlcude opt_inet6.h and allow builds without INET or INET6. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days Notes: svn path=/head/; revision=235963
* MFtbemd:Warner Losh2010-08-231-2/+2
| | | | | | | | | | | | Use MACHINE_CPUARCH in preference to MACHINE_ARCH. The former is the source code location of the machine, the latter the binary output. In general, we want to use MACHINE_CPUARCH instead of MACHINE_ARCH unless we're tesitng for a specific target. The isn't even moot for i386/amd64 where there's momemntum towards a MACHINE_CPUARCH == x86, although a specific cleanup for that likely would be needed... Notes: svn path=/head/; revision=211690
* There is no need to test __FreeBSD_version for features that haveNavdeep Parhar2010-02-241-8/+0
| | | | | | | | | | | | | | been around for a long time now (7.1-ish or even earlier); assume they are present. These includes MSI, TSO, LRO, VLAN, INTR_FILTERS, FIRMWARE, etc. Also, eliminate some dead code and clean up in other places as part of this quick once-over. MFC after: 1 week Notes: svn path=/head/; revision=204274
* cxgb(4) updates, including:Navdeep Parhar2009-10-051-1/+1
| | | | | | | | | | | | | - support for the new Gen-2, BT, and LP-CR cards. - T3 firmware 7.7.0 - shared "common code" updates. Approved by: gnn (mentor) Obtained from: Chelsio MFC after: 1 month Notes: svn path=/head/; revision=197791
* Greatly simplify cxgb by removing almost all of the custom mbuf management logicKip Macy2009-06-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove mbuf iovec - useful, but adds too much complexity when isolated to the driver - remove driver private caching - insufficient benefit over UMA to justify the added complexity and maintenance overhead - remove separate logic for managing multiple transmit queues, with the new drbr routines the control flow can be made to much more closely resemble legacy drivers - remove dedicated service threads, with per-cpu callouts one can get the same benefit much more simply by registering a callout 1 tick in the future if there are still buffered packets - remove embedded mbuf usage - Jeffr's changes will (I hope) soon be integrated greatly reducing the overhead of using kernel APIs for reference counting clusters - add hysteresis to descriptor coalescing logic - add coalesce threshold sysctls to allow users to decide at run-time between optimizing for forwarding / UDP or optimizing for TCP - add once per second watchdog to effectively close the very rare races occurring from coalescing - incorporate Navdeep's changes to the initialization path required to convert port and adapter locks back to ordinary mutexes (silencing BPF LOR complaints) - enable prefetches in get_packet and tx cleaning Reviewed by: navdeep@ MFC after: 2 weeks Notes: svn path=/head/; revision=194521
* After r193232 rt_tables in vnet.h are no longer indirectly dependent onBjoern A. Zeeb2009-06-081-1/+1
| | | | | | | | | | | | the ROUTETABLES kernel option thus there is no need to include opt_route.h anymore in all consumers of vnet.h and no longer depend on it for module builds. Remove the hidden include in flowtable.h as well and leave the two explicit #includes in ip_input.c and ip_output.c. Notes: svn path=/head/; revision=193744
* Remove opt_mac.h generation for various kernel modules that no longerRobert Watson2009-06-061-1/+1
| | | | | | | | | require it. Submitted by: pjd Notes: svn path=/head/; revision=193588
* This main goals of this project are:Qing Li2008-12-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. separating L2 tables (ARP, NDP) from the L3 routing tables 2. removing as much locking dependencies among these layers as possible to allow for some parallelism in the search operations 3. simplify the logic in the routing code, The most notable end result is the obsolescent of the route cloning (RTF_CLONING) concept, which translated into code reduction in both IPv4 ARP and IPv6 NDP related modules, and size reduction in struct rtentry{}. The change in design obsoletes the semantics of RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland applications such as "arp" and "ndp" have been modified to reflect those changes. The output from "netstat -r" shows only the routing entries. Quite a few developers have contributed to this project in the past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and Andre Oppermann. And most recently: - Kip Macy revised the locking code completely, thus completing the last piece of the puzzle, Kip has also been conducting active functional testing - Sam Leffler has helped me improving/refactoring the code, and provided valuable reviews - Julian Elischer setup the perforce tree for me and has helped me maintaining that branch before the svn conversion Notes: svn path=/head/; revision=186119
* Rather than using hidden includes (with cicular dependencies),Bjoern A. Zeeb2008-12-021-1/+2
| | | | | | | | | | | | | | directly include only the header files needed. This reduces the unneeded spamming of various headers into lots of files. For now, this leaves us with very few modules including vnet.h and thus needing to depend on opt_route.h. Reviewed by: brooks, gnn, des, zec, imp Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=185571
* Fix worldPaul Saab2008-11-142-2/+2
| | | | | | | Approved by: kmacy Notes: svn path=/head/; revision=184950
* Add opt_inet.h which has been needed since r184714, r184715 introducingBjoern A. Zeeb2008-11-121-1/+2
| | | | | | | | | | checks for #ifdef INET. Submitted by: kmacy (r184876, I splitted lines) MFC after: 54 days Notes: svn path=/head/; revision=184893
* - Remove default NIC dependency on ulp headersKip Macy2008-09-241-4/+27
| | | | | | | | | | - make toe module build dependent on kernel support Submitted by: Chelsio Inc. MFC after: 1 week Notes: svn path=/head/; revision=183321
* Update cxgb include paths to not require prefixing with dev/cxgbKip Macy2008-09-235-9/+14
| | | | | | | Submitted by: Chelsio Inc. Notes: svn path=/head/; revision=183292
* Remove cxgb private lro implementation and switch to using system ↵Kip Macy2008-08-121-1/+1
| | | | | | | | | | implementation. Obtained from: Chelsio Inc. MFC after: 1 week Notes: svn path=/head/; revision=181616
* import vendor fixes to cxgbKip Macy2008-07-181-1/+1
| | | | Notes: svn path=/head/; revision=180583
* only build iw_cxgb on i386 and amd64Kip Macy2008-05-061-1/+9
| | | | Notes: svn path=/head/; revision=178804
* add iw_cxgb to the buildKip Macy2008-05-052-1/+15
| | | | Notes: svn path=/head/; revision=178795
* move cxgb_lt2.[ch] from NIC to TOEKip Macy2008-04-192-5/+4
| | | | | | | | | 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 Notes: svn path=/head/; revision=178302
* Add KMOD target.Kip Macy2008-03-031-0/+1
| | | | | | | Discovered by: Takahashi Yoshihiro Notes: svn path=/head/; revision=176755
* move remaining binaries in to blob headersKip Macy2008-02-261-20/+0
| | | | Notes: svn path=/head/; revision=176613
* Move firmware in to separate module that can be compiled statically in to ↵Kip Macy2008-02-263-10/+10
| | | | | | | | | the kernel Add utility for converting future firmware revs to a C header file Notes: svn path=/head/; revision=176572
* - update firmware to 5.0Kip Macy2008-02-232-9/+15
| | | | | | | | | | | | | | | | | | | | - 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 Notes: svn path=/head/; revision=176472
* add opt_global.h dependencyKip Macy2008-01-261-1/+1
| | | | Notes: svn path=/head/; revision=175666
* add cxgb_multiq.c to the buildKip Macy2008-01-131-1/+1
| | | | Notes: svn path=/head/; revision=175301
* Don't overload tcp_usrreqs unless the kernel doesn't provide offload support.Kip Macy2007-12-181-1/+1
| | | | Notes: svn path=/head/; revision=174758
* Make TCP offload work on HEAD (modulo negative interaction between sbcompressKip Macy2007-12-173-6/+10
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=174708
* Makefile for the TCP offload moduleKip Macy2007-12-161-0/+8
| | | | Notes: svn path=/head/; revision=174644
* Don't use old style mbuf iovec interfaceKip Macy2007-12-161-0/+1
| | | | Notes: svn path=/head/; revision=174643
* Move NIC driver (cxgb) into its own directory. Add toecore to supportKip Macy2007-12-153-43/+61
| | | | | | | registering different TOMs. Notes: svn path=/head/; revision=174627
* - fix qset to port binding as a proper fix for the problems encountered on ↵Kip Macy2007-09-091-5/+7
| | | | | | | | | | | | | | | the 4-port - fix the use after free seen when sending packets small enough to fit as an immediate and bpf peers are present - update to firmware rev 4.7 along with various small vendor fixes Supported by: Chelsio Approved by: re (blanket) MFC after: 3 days Notes: svn path=/head/; revision=172096
* - integrate most recent changes from vendor branch and upgrade to firmware ↵Kip Macy2007-07-171-4/+20
| | | | | | | | | | | | | | | revision 4.5.5 - add filter support - further improvements for T304 - recover gracefully from spurious immediate packets Approved by: re(blanket) Supported by: Chelsio MFC after: 3 days Notes: svn path=/head/; revision=171471
* - import new common code for the T304Kip Macy2007-06-131-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | - update to firmware version 4.1.0 - switch over to standard method for initializing cdevs (contributed by scottl@) - break out timer_reclaim_task to be per-port - move msix teardown into separate function - fix bus_setup_intr for msi-x for the multi-port case so that msi-x resources are not corrupted on unload - handle 10/100/1000 base-T media and auto negotiation - bind qset to cpu even for singleq case - white space cleanups - remove recursive PORT_LOCK - move mtu setting to separate function - stop and re-init port when changing mtu - replace all direct references to m_data with calls to mtod - handle attach failure better by not trying to de-initialize taskqueues when they have not been allocated - no longer default to jumbo frames Sponsored by: Chelsio MFC after: 3 days Notes: svn path=/head/; revision=170654
* When building cxgb as a module make include paths relative to the driver's root.Kip Macy2007-05-281-1/+1
| | | | | | | | | This will make it possible to build the module out of tree against an older src tree. MFC after: 3 days Notes: svn path=/head/; revision=170076
* (MFp4)Kip Macy2007-05-251-6/+8
| | | | | | | | | | | | | - upgrade to reflect state of 1.0.0.86 - move from firmware rev 3.2 to 4.0.0 - import driver bits for offload functionality - remove binary distribution clause from top level files as it runs counter to the intent of purely supporting the hardware MFC after: 3 days Notes: svn path=/head/; revision=169978
* hook uipc_mvec.c into buildKip Macy2007-04-081-1/+2
| | | | Notes: svn path=/head/; revision=168492