summaryrefslogtreecommitdiffstats
path: root/sys/modules/cxgb
Commit message (Collapse)AuthorAgeFilesLines
* Remove dependence on source tree options. Move all kernel moduleimp2014-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
* Move most of the 15 variations on generating opt_inet.h andimp2014-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.
* Use src.opts.mk in preference to bsd.own.mk except where we need stuffimp2014-05-064-4/+4
| | | | from the latter.
* Don't build krping.ko, iw_cxgb.ko, and iw_cxgbe.ko, if MK_OFED=notrasz2013-10-181-0/+5
| | | | | | (the default). They build, but are unloadable, due to missing ibcore.ko. Sponsored by: FreeBSD Foundation
* Remove zero-copy sockets code. It only worked for anonymous memory,kib2013-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)
* - Updated TOE support in the kernel.np2012-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)
* Unbreak make depend.uqs2012-05-301-0/+2
|
* MFp4 bz_ipv6_fast:bz2012-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
* MFtbemd:imp2010-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...
* There is no need to test __FreeBSD_version for features that havenp2010-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
* cxgb(4) updates, including:np2009-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
* Greatly simplify cxgb by removing almost all of the custom mbuf management logickmacy2009-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
* After r193232 rt_tables in vnet.h are no longer indirectly dependent onbz2009-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.
* Remove opt_mac.h generation for various kernel modules that no longerrwatson2009-06-061-1/+1
| | | | | | require it. Submitted by: pjd
* This main goals of this project are:qingli2008-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
* Rather than using hidden includes (with cicular dependencies),bz2008-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
* Fix worldps2008-11-142-2/+2
| | | | Approved by: kmacy
* Add opt_inet.h which has been needed since r184714, r184715 introducingbz2008-11-121-1/+2
| | | | | | | checks for #ifdef INET. Submitted by: kmacy (r184876, I splitted lines) MFC after: 54 days
* - Remove default NIC dependency on ulp headerskmacy2008-09-241-4/+27
| | | | | | | - make toe module build dependent on kernel support Submitted by: Chelsio Inc. MFC after: 1 week
* Update cxgb include paths to not require prefixing with dev/cxgbkmacy2008-09-235-9/+14
| | | | Submitted by: Chelsio Inc.
* Remove cxgb private lro implementation and switch to using system ↵kmacy2008-08-121-1/+1
| | | | | | | implementation. Obtained from: Chelsio Inc. MFC after: 1 week
* import vendor fixes to cxgbkmacy2008-07-181-1/+1
|
* only build iw_cxgb on i386 and amd64kmacy2008-05-061-1/+9
|
* add iw_cxgb to the buildkmacy2008-05-052-1/+15
|
* move cxgb_lt2.[ch] from NIC to TOEkmacy2008-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
* Add KMOD target.kmacy2008-03-031-0/+1
| | | | Discovered by: Takahashi Yoshihiro
* move remaining binaries in to blob headerskmacy2008-02-261-20/+0
|
* Move firmware in to separate module that can be compiled statically in to ↵kmacy2008-02-263-10/+10
| | | | | | the kernel Add utility for converting future firmware revs to a C header file
* - update firmware to 5.0kmacy2008-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
* add opt_global.h dependencykmacy2008-01-261-1/+1
|
* add cxgb_multiq.c to the buildkmacy2008-01-131-1/+1
|
* Don't overload tcp_usrreqs unless the kernel doesn't provide offload support.kmacy2007-12-181-1/+1
|
* Make TCP offload work on HEAD (modulo negative interaction between sbcompresskmacy2007-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
* Makefile for the TCP offload modulekmacy2007-12-161-0/+8
|
* Don't use old style mbuf iovec interfacekmacy2007-12-161-0/+1
|
* Move NIC driver (cxgb) into its own directory. Add toecore to supportkmacy2007-12-153-43/+61
| | | | registering different TOMs.
* - fix qset to port binding as a proper fix for the problems encountered on ↵kmacy2007-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
* - integrate most recent changes from vendor branch and upgrade to firmware ↵kmacy2007-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
* - import new common code for the T304kmacy2007-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
* When building cxgb as a module make include paths relative to the driver's root.kmacy2007-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
* (MFp4)kmacy2007-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
* hook uipc_mvec.c into buildkmacy2007-04-081-1/+2
|
* Remove firmware version flagskmacy2007-03-211-1/+0
| | | | MFC after: 3 days
* Disable linking in of firmware on ia64 to avoid build failures from akmacy2007-03-141-3/+6
| | | | broken ld.
* no-op cxgb_config.h for the module compilation casekmacy2007-03-141-1/+1
|
* Add modules Makefile for cxgbkmacy2007-03-141-0/+22
OpenPOWER on IntegriCloud