aboutsummaryrefslogtreecommitdiffstats
path: root/sys/modules/cxgbe
Commit message (Collapse)AuthorAgeFilesLines
* MFS r365937, which merged r365861 and r365872 from head to stable/12.Navdeep Parhar2020-09-213-3/+3
| | | | | | | | | | | | | | r365861: cxgbe(4): Update T4/5/6 firmwares to 1.25.0.0. r365872: cxgbe(4): add the firmware binaries instead of the empty files that were added in r365861. Approved by: re@ (gjb@) Notes: svn path=/releng/12.2/; revision=365961
* MFC 354667,354686: Share routines for dealing with T6 key contexts.John Baldwin2020-05-061-1/+2
| | | | | | | | | | | | | | | | | | | 354667: Create a file to hold shared routines for dealing with T6 key contexts. ccr(4) and TLS support in cxgbe(4) construct key contexts used by the crypto engine in the T6. This consolidates some duplicated code for helper functions used to build key contexts. 354686: Add t4_keyctx.c to sys/conf/files for the non-module build. Missed in r354667. Sponsored by: Chelsio Communications Notes: svn path=/stable/12/; revision=360717
* MFC r359185:Konstantin Belousov2020-03-271-9/+2
| | | | | | | | | | | | Introduce LINUXKPI_GENSRCS. For MFC, pci_iov_if.h is excluded from the list. It will be readded when linuxkpi support for SRIOV is merged. Sponsored by: Mellanox Technologies Notes: svn path=/stable/12/; revision=359378
* MFC r355046, r355579, r355595, and r357793.Navdeep Parhar2020-03-133-18/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | r355046: cxgbe(4): Update the firmware interface header. This allows the driver to be updated for the next firmware without waiting for it to be released. r355579: cxgbe(4): Update T4/5/6 firmwares to 1.24.11.0. These were obtained from the Chelsio Unified Wire v3.12.0.1 beta release. Note that the firmwares are not uuencoded any more. r355595: cxgbe(4): Simplify the firmware version checks a bit. No functional change. r357793: cxgbe(4): Update T4/5/6 firmwares to 1.24.12.0. Sponsored by: Chelsio Communications Notes: svn path=/stable/12/; revision=358970
* MFC r340651, r343264, r343269, and r345083.Navdeep Parhar2019-03-273-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r340651: cxgbe(4): Update T4/5/6 firmwares to 1.22.0.3. Obtained from: Chelsio Communications Sponsored by: Chelsio Communications r343264: cxgbe(4): Use a truncated firmware header for version checks. All the version numbers are towards the begining of the header. Sponsored by: Chelsio Communications r343269: cxgbe(4): Allow negative values in hw.cxgbe.fw_install and take them to mean that the driver should taste the firmware in the KLD and use that firmware's version for all its fw_install checks. The driver gets firmware version information from compiled-in values by default and this change allows custom (or older/newer) firmware modules to be used with the stock driver. There is no change in default behavior. Sponsored by: Chelsio Communications r345083: cxgbe(4): Update T4/5/6 firmwares to 1.23.0.0. Obtained from: Chelsio Communications Sponsored by: Chelsio Communications Notes: svn path=/stable/12/; revision=345621
* MFC r341172, r341270 (both by jhb@).Navdeep Parhar2019-03-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r341172: Move CLIP table handling out of TOM and into the base driver. - Store the clip table in 'struct adapter' instead of in the TOM softc. - Init the clip table during attach and teardown during detach. - While here, add a dev.<nexus>.<unit>.misc.clip sysctl to dump the CLIP table. This does mean that we update the clip table even if TOE is not enabled, but non-TOE things need the CLIP table anyway. Reviewed by: np, Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D18010 r341270: Make most of the CLIP code conditional on #ifdef INET6. This fixes builds of kernels without INET6 such as LINT-NOINET6. Reported by: arybchik Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D18384 Notes: svn path=/stable/12/; revision=345604
* cxgbe(4): Replace T4_PKT_TIMESTAMP with something slightly less hackish.Navdeep Parhar2018-08-181-3/+0
| | | | Notes: svn path=/head/; revision=337996
* cxgbe(4): Add code to deal with the chip's source MAC table (aka SMT).Navdeep Parhar2018-05-311-0/+1
| | | | | | | | Submitted by: Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=334447
* cxgbe(4): Allocate offload Tx queues when a card has resourcesNavdeep Parhar2018-05-171-0/+1
| | | | | | | | | | | | | | | | | provisioned for NIC_ETHOFLD and the kernel has option RATELIMIT. It is possible to use the chip's offload queues for normal NIC Tx and not just TOE Tx. The difference is that these queues support out of order processing of work requests and have a per-"flowid" mechanism for tracking credits between the driver and hardware. This allows Tx for any number of flows bound to different rate limits to be submitted to a single Tx queue and the work requests for slow flows won't cause HOL blocking for the rest. Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=333698
* cxgbe(4): Update all firmwares to 1.19.1.0.Navdeep Parhar2018-05-053-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These firmwares and the following list of changes are from the public ChelsioUwire-3.7.1.0 release. T6 Firmware ================================================================================ Version : 1.19.1.0 Date : 04/23/2018 ================================================================================ Fixes ----- BASE: - Fixed traffic stall when rate-limit is modified while running traffic. - Fixes a firmware crash in FW_ETH_TX_EO_WR handling. - Fixes host DCB support when FW_PORT_CMD is used. ETH: - Exit Auto-Negotiation if we don't receive base page from peer within 10s. This fixes some cases where in we keep on restarting auto negotiation without ever exiting, resulting in link failure. - Fixes an issue where VF packets counter were not increasing if VF packets coalesced WR is used by driver. OFLD: - Kernel and user mode NVMEoF performance enhancements. FOiSCSI: - Fixes fw crash when trying to connect to non-existence IPv6 iSNS target. ================================================================================ Version : 1.18.9.0 Date : 03/27/2018 ================================================================================ Fixes ----- BASE: - For Ethernet frames less than 64B, pad them with zero bytes as per IEEE spec (RFC 894). - Added a new parameter iqtype to FW_IQ_CMD to identify the ingress NIC or offload queues. This fixes an issue where driver was receiving interrupt with no new messages in queue. - FW_PARAMS_CMD processes all the valaid paramaters and returns value 0UL for any unknown parameter. OFLD: - Fixes connection failure during SRQ reuse. - Fixes incorrect cqe in case of WRITE with immediate operation. FOiSCSI: - Fixes a fw crash when wrong node-id is passed to FW_FOISCSI_CTRL_WR. FOFCoE: - Fixes a fw hang while creating NPIV. Enhancements ------------ ETH: - A new WR FW_ETH_TX_PKTS_VM_WR added to support VM packet coalescing. ================================================================================ Version : 1.18.4.0 Date : 02/28/2018 ================================================================================ Fixes ----- BASE: - Fixed Rate limiting not working for 101Mbps<=rate limit<=163Mbps range. - Fixed starting more than 32 VMs on PF4 causing firmware hang. ETH: - Fixed link failure due to FEC mismatch with optics. - Fixed link failure with link toggle stress tests. - Only BaseR FEC is supported for 50G. - Fixed a bug in next page handling which sometimes causes link down. - Fixed port down due to failre to read eeprom contents of some modules. - Fixed a bug causing adapter to fail with spider configuration. FOiSCSI: - Fixed a bug causing login failure when connecting to multiple targets. Enhancements ------------ BASE: - Added a new firmware API to retrieve the maximum temperaturethreshold for the chip (FW_PARAM_DEV_DIAG_MAXTMPTHRESH). ETH: - Added support for user to contol pause negotiation during auto negotiation. FOiSCSI: - Added a new facility to redirect few fw events to offload rx queue (based on driver's configration) - Driver can ignore providing ipv6 prefix len during ipv6 address configuration. ================================================================================ Version : 1.17.14.0 Date : 12/27/2017 ================================================================================ FIXES ----- BASE: - Fixed an FLR failure during simulteneous power up of VM. - Fixed an issue in vlan acl which was limiting vlan range to 1024. ETH: - Enabled RS-FEC for 25G active copper cable and 25GBASE-SR. - When auto negotiation is enabled, final pause settings are resolved based on local and peer pause settings. - Handle NACK for an I2C access. OFLD - Fixed rdma connection cleanup in SO adpater. - Fixed rdma connections during read invalidate. - Fixed the crash when invalid BW rate is passed to fw. - Fixed the traffic hang when BW allocation is changed from switch during traffic. FOFCoE: - Fixed an issue where initiator remains logged-in even after LLDP is disabled on switch. ENHANCEMENTS ------------ BASE: - Added support for 248 VFs. - Added fw driver periodic calibration for MC. ETH: - Added XLAUI port type support. - Added raw mac entry deletion support (FW_VI_MAC_ID_BASED_FREE). OFLD: - Inline IPSec support added (flag F_FW_ULPTX_WR_DATA indicates the inline IPSec WR). - New work request FW_RI_RDMA_WRITE_CMPL_WR (write with completion) added to T5 Firmware ================================================================================ Version : 1.19.1.0 Date : 04/23/2018 ================================================================================ Fixes ----- BASE: - Fixes a firmware crash in FW_ETH_TX_EO_WR handling. - Fixes host DCB support when FW_PORT_CMD is used. ETH: - Fixes an issue where VF packets counter were not increasing if VF packets coalesced WR is used by driver. OFLD: - Fixes an issue where fw hangs if max traffic rate passed is 0. FOiSCSI: - Fixes fw crash when trying to connect to non-existence IPv6 iSNS target. ================================================================================ Version : 1.18.9.0 Date : 03/27/2018 ================================================================================ Fixes ----- BASE: - For Ethernet frames less than 64B, pad them with zero bytes as per IEEE spec (RFC 894). - Added a new parameter iqtype to FW_IQ_CMD to identify the ingress NIC or offload queues. This fixes an issue where driver was receiving interrupt with no new messages in queue. ETH: - Pad the Ethernet packets of size less than 64B with zeros. This fixes the incorrect checksum generation of packets less then 64B. FOiSCSI: - Fixes a fw crash when wrong node-id is passed to FW_FOISCSI_CTRL_WR. FOFCoE: - Fixes a fw hang while creating NPIV. Enhancements ------------ ETH: - A new WR FW_ETH_TX_PKTS_VM_WR added to support VM packet coalescing. ================================================================================ Version : 1.18.4.0 Date : 02/28/2018 ================================================================================ Fixes ----- BASE: - Fixed starting more than 32 VMs on PF4 causing firmware hang. FOiSCSI: - Fixed a bug causing login failure when connecting to multiple targets. Enhancements ------------ BASE: - Added a new firmware API to retrieve the maximum temperaturethreshold for the chip (FW_PARAM_DEV_DIAG_MAXTMPTHRESH). ETH: - Added support for user to contol pause negotiation during auto negotiation. FOiSCSI: - Added a new facility to redirect few fw events to offload rx queue (based on driver's configration) - Driver can ignore providing ipv6 prefix len during ipv6 address configuration. ================================================================================ Version : 1.17.14.0 Date : 12/27/2017 ================================================================================ FIXES ----- BASE: - Fixed an issue in vlan acl which was limiting vlan range to 1024. ETH: - Corrected lane inversion logic. - Fixed improper LED behavior in T580 cards. - When auto negotiation is enabled, final pause settings are resolved based on local and peer pause settings. - Handle NACK for an I2C access. OFLD - Fixed rdma connections during read invalidate. FOiSCSI: - Fixed a connections hang when link is toggled frequently. FOFCoE: - Fixed an issue where initiator remains logged-in even after LLDP is disabled on switch. ENHANCEMENTS ------------ BASE: - Added support for 124 VFs. ETH: - Added XLAUI port type support. - Added raw mac entry deletion support (FW_VI_MAC_ID_BASED_FREE). OFLD: - New work request FW_RI_RDMA_WRITE_CMPL_WR (write with completion) added to optimize NVMEoF write. T4 Firmware ================================================================================ Version : 1.19.1.0 Date : 04/23/2018 ================================================================================ Fixes ----- BASE: - Fixes a firmware crash in FW_ETH_TX_EO_WR handling. - Fixes host DCB support when FW_PORT_CMD is used. FOiSCSI: - Fixes fw crash when trying to connect to non-existence IPv6 iSNS target. ================================================================================ Version : 1.18.9.0 Date : 03/27/2018 ================================================================================ Fixes ----- BASE: - Added a new paramter iqtype to FW_IQ_CMD to identify the ingress NIC or offload queues. This fixes an issue where driver was receiving interrupt with no new messages in queue. FOFCoE: - Fixes a fw hang while creating NPIV. Enhancements ------------ ETH: - A new WR FW_ETH_TX_PKTS_VM_WR added to support VM packet coalescing. ================================================================================ Version : 1.18.4.0 Date : 02/28/2018 ================================================================================ Enhancements ------------ BASE: - Added a new firmware API to retrieve the maximum temperaturethreshold for the chip (FW_PARAM_DEV_DIAG_MAXTMPTHRESH). ================================================================================ Version : 1.17.14.0 Date : 12/27/2017 ================================================================================ FIXES ----- BASE: - Fixed an issue in vlan acl which was limiting vlan range to 1024. MFC after: 3 days Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=333276
* cxgbe(4): Move all TCAM filter code into a separate file.Navdeep Parhar2018-05-011-1/+2
| | | | | | | Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=333153
* Support for TLS offload of TOE connections on T6 adapters.John Baldwin2018-03-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TOE engine in Chelsio T6 adapters supports offloading of TLS encryption and TCP segmentation for offloaded connections. Sockets using TLS are required to use a set of custom socket options to upload RX and TX keys to the NIC and to enable RX processing. Currently these socket options are implemented as TCP options in the vendor specific range. A patched OpenSSL library will be made available in a port / package for use with the TLS TOE support. TOE sockets can either offload both transmit and reception of TLS records or just transmit. TLS offload (both RX and TX) is enabled by setting the dev.t6nex.<x>.tls sysctl to 1 and requires TOE to be enabled on the relevant interface. Transmit offload can be used on any "normal" or TLS TOE socket by using the custom socket option to program a transmit key. This permits most TOE sockets to transparently offload TLS when applications use a patched SSL library (e.g. using LD_LIBRARY_PATH to request use of a patched OpenSSL library). Receive offload can only be used with TOE sockets using the TLS mode. The dev.t6nex.0.toe.tls_rx_ports sysctl can be set to a list of TCP port numbers. Any connection with either a local or remote port number in that list will be created as a TLS socket rather than a plain TOE socket. Note that although this sysctl accepts an arbitrary list of port numbers, the sysctl(8) tool is only able to set sysctl nodes to a single value. A TLS socket will hang without receiving data if used by an application that is not using a patched SSL library. Thus, the tls_rx_ports node should be used with care. For a server mostly concerned with offloading TLS transmit, this node is not needed as plain TOE sockets will fall back to software crypto when using an unpatched SSL library. New per-interface statistics nodes are added giving counts of TLS packets and payload bytes (payload bytes do not include TLS headers or authentication tags/MACs) offloaded via the TOE engine, e.g.: dev.cc.0.stats.rx_tls_octets: 149 dev.cc.0.stats.rx_tls_records: 13 dev.cc.0.stats.tx_tls_octets: 26501823 dev.cc.0.stats.tx_tls_records: 1620 TLS transmit work requests are constructed by a new variant of t4_push_frames() called t4_push_tls_records() in tom/t4_tls.c. TLS transmit work requests require a buffer containing IVs. If the IVs are too large to fit into the work request, a separate buffer is allocated when constructing a work request. This buffer is associated with the transmit descriptor and freed when the descriptor is ACKed by the adapter. Received TLS frames use two new CPL messages. The first message is a CPL_TLS_DATA containing the decryped payload of a single TLS record. The handler places the mbuf containing the received payload on an mbufq in the TOE pcb. The second message is a CPL_RX_TLS_CMP message which includes a copy of the TLS header and indicates if there were any errors. The handler for this message places the TLS header into the socket buffer followed by the saved mbuf with the payload data. Both of these handlers are contained in tom/t4_tls.c. A few routines were exposed from t4_cpl_io.c for use by t4_tls.c including send_rx_credits(), a new send_rx_modulate(), and t4_close_conn(). TLS keys for both transmit and receive are stored in onboard memory in the NIC in the "TLS keys" memory region. In some cases a TLS socket can hang with pending data available in the NIC that is not delivered to the host. As a workaround, TLS sockets are more aggressive about sending CPL_RX_DATA_ACK messages anytime that any data is read from a TLS socket. In addition, a fallback timer will periodically send CPL_RX_DATA_ACK messages to the NIC for connections that are still in the handshake phase. Once the connection has finished the handshake and programmed RX keys via the socket option, the timer is stopped. A new function select_ulp_mode() is used to determine what sub-mode a given TOE socket should use (plain TOE, DDP, or TLS). The existing set_tcpddp_ulp_mode() function has been renamed to set_ulp_mode() and handles initialization of TLS-specific state when necessary in addition to DDP-specific state. Since TLS sockets do not receive individual TCP segments but always receive full TLS records, they can receive more data than is available in the current window (e.g. if a 16k TLS record is received but the socket buffer is itself 16k). To cope with this, just drop the window to 0 when this happens, but track the overage and "eat" the overage as it is read from the socket buffer not opening the window (or adding rx_credits) for the overage bytes. Reviewed by: np (earlier version) Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D14529 Notes: svn path=/head/; revision=330884
* Update the iw_cxgbe bits in the projects branch.Navdeep Parhar2017-11-071-0/+3
| | | | | | | | Submitted by: Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications Notes: svn path=/projects/bsd_rdma_4_9/; revision=325522
* cxgbe(4): Update T6, T5, and T4 firmwares to 1.16.63.0.Navdeep Parhar2017-10-073-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes since 1.16.26.0 for all three firmwares are listed below. This list was obtained from the Release Notes of the Chelsio Unified Wire v3.5.05 release for Linux. T6 Firmware ++++++++++++ ================================================================================ Version : 1.16.63.0 Date : 09/29/2017 ================================================================================ Fixes ----- BASE: - Fixed a fw crash when configured traffic rate limit is less than 10kbps. - Fixed traffic rate limiting for smaller traffic rate value. ETH: - Fixed 40G link failure when interface is toggled. - Fixed adapter crash when interface is toggled during traffic. - Fixed 25G link failure when PEER only supports consortium mode autoneg for 25G. - Fixed 100G optics link failure when cable is plugged in after bringing up the interface. - Enable RS FEC as default if speed is 100G. - Fixed DCBX configuration refresh failure. OFLD - Fixed 0B iWARP ingress read failure. - Fixed iWARP SRQ reuse failure. FOiSCSI: - Fixed vlan interface ping failure. - Fixed target discovery failures. - Fixed mutual chap login failure. ================================================================================ Version : 1.16.59.0 Date : 09/05/2017 ================================================================================ FIXES ----- BASE: - Fixed fw crash caused by MC parity error in SO adapters. - Generate Timer0Int interrupt if fw crashes due to unaligned access error. Host driver must look into PCIE_FW register to see if any fw fatal error has encountered. If PCIE_FW doesn't indicate any error then driver must ignore this interrupt. - Fixed receive buffer threshold settings which was resulting in error frames on receive side. ETH: - Fixed an issue in connection traffic shaping when FLOWC_WR->FW_FLOWC_MNEM_SCHEDCLASS is not received in first WR on the connection. - Fixed link failure when speed is changed from 10G-1G-10G due to incorrect flag check. - Fixed improper LED behaviour for blink test and when traffic is running. - Removed storage of previous fec settings from fw. Driver needs to pass the user settings whenever a new module is plugged in as fw resets these when a module is unplugged. OFLD - OVS offload: TP cache is flushed periodically to get the accuate filters stats (hit count). ENHANCEMENTS ------------ BASE: - Ring backbone feature added. New FW_PARAMS_PARAM_DEV_RING_BACKBONE param type added to query and enable ring backbone support. - VNI support added for filtering. New entry_type FW_VI_MAC_TYPE_EXACTMAC_VNI added to FW_VI_MAC_CMD. - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. - FW_PARAMS_PARAM_DEV_TPCHMAP API added to read the port to channel mapping. - HMA (Host memory access) support added. New FW_HMA_CMD and FW_PARAMS_PARAM_DEV_HMA_SIZE added to query and configure the HMA. It enables the memfree support (256 connections) for iwarp. - PTP support enabled. ETH: - Added consortium mode 50G support. - Added the ability to allow only selected speeds to be advertised during auto negotiation. - Increased port capability from 16 to 32 bits to support more speeds. FW_PARAMS_PARAM_PFVF_PORT_CAPS32 added to query whether fw supports 16 or 32 bit port capability. OFLD: - RDMA Write with immediate support added (iwarp 2.0 feature) - FW_TLS_KEYCTX_TX_WR removed and security key management moved to driver. - 256 offloaded connections support for iwarp on SO adapters. iSCSI: - New param FW_PARAMS_PARAM_DEV_PPOD_EDRAM added for iscsi ppod configuration in EDRAM (performance improvement). FOiSCSI: - iSCSI Command offload target support added. FOFCoE: - FCoE support enabled. ================================================================================ Version : 1.16.43.0 Date : 05/05/2017 ================================================================================ FIXES ----- BASE: - Fixed default DCB mode to AUTO. - Fixed DCBX bugs when AUTO mode is configured in config file. - Fixed an issue where even after removing PFC from switch, PFC wasn't getting reset. - Fixed DDR3/DDR4 ECC errors. - Fixed an FLR issue where FLR completion was going to host before FLR processing is finished in fw. ETH: - Fixed bug in writing multi-bytes using i2c interface. - Fixed the link failure when optical cable is inserted into the QSA module after loading the driver. - Fixed false link up when peer interface was brought down. - Enabling RS FEC by default for 100Gbase-SR4 according to 802.3BJ standard. - Fixed bugs related to negotiated fec based local/peer fec ability and request. - Fixed auto-neg failure with few switches. - T6 Performance improvement fixes. OFLD - Fixed an extra credit issue if FW_RI_TYPE_FINI is delayed in fw due to backpressure. - Added a new queue type FW_IQ_TYPE_VF_CQ to handle the FW_PARAMS_PARAM_DMAQ* commands. queue type will be part of the FW_PARAMS_PARAM_DMAQ_IQ_INTIDX value. Used in guest RDMA (RDMA from VM/VF) usecase. - T6 Crypto Coprocessor mode bug fixes. - T6 Crypto TLS-inline mode bug fixes. ENHANCEMENTS ------------ BASE: - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. ETH: - Added broadcom consortium next page support for 25G CR. This can be enabled using flags=an_brcm option in the t6-config.txt file. - Added spider mode support. - Added support for 10G-BaseT converter sfp+ module. - Added support for additional 25G/100G cables. - Added support to enable/disable auto-neg using ethtool. ================================================================================ Version : 1.16.33.0 Date : 02/24/2017 ================================================================================ Fixes ----- BASE: - Fixed DDR4 uncorrectable errors. ETH: - Enabled link auto negotiation (AN) by default in config file. - Added AN and FEC control api. Host driver and application can enable/disable AN and FEC. ENHANCEMENTS ------------ BASE: - Enabled High priorty filter. - Added T6425 adapter support. ETH: - Added new workrequest ETH_TX_PKTS2_WR (see fw api document for more details). ================================================================================ Version : 1.16.29.0 Date : 01/27/2017 ================================================================================ FIXES ----- BASE: - Set multiple fec values only if AN is enabled in config file and when module is connected. - Fixed intermittent DDR3/4 ECC errors. - max number of ethctrl queue in VF set to 2 (reverted the last change because it causes problem in VF drivers). ETH: - Made devlog more verbose by printing cable information in redable form. - Updated AN settings to work with more 25G/100G switches. - Added support for more SFP28/QSFP28 cables. - Fixed an issue of link going down after few hours of idle time. OFLD: - Fixed an issue in TLS which was causing fw crash on running TLS traffic. FOiSCSI: - Fixed the failure of PXE boot OS install on an iscsi lun. ENHANCEMENTS ------------ OFLD: - Added filtering support for NAT. New WR FW_FILTER2_WR and FW_PARAMS_PARAM_DEV_FILTER2_WR added for the same. - Added RDMA guest mode (mode 3 or RDMA from VF) support. ================================================================================ T5 Firmware ++++++++++++ ================================================================================ Version : 1.16.63.0 Date : 09/29/2017 ================================================================================ Fixes ----- BASE: - Fixed offload memory overcommit in case of SO adapter. ETH: - Fixed DCBX configuration refresh failure. OFLD - Fixed 0B iWARP ingress read failure. FOiSCSI: - Fixed vlan interface ping failure. ================================================================================ Version : 1.16.59.0 Date : 09/05/2017 ================================================================================ FIXES ----- BASE: - Fixed an FLR issue which was causing error when VF attached VM was powered on. ETH: - Fixed an issue in connection traffic shaping when FLOWC_WR->FW_FLOWC_MNEM_SCHEDCLASS is not received in first WR on the connection. - Fixed link failure when speed is changed from 10G-1G-10G due to incorrect flag check. - Fixed T580 link failure with few switches which take more time for establishing link. ENHANCEMENTS ------------ BASE: - Ring backbone feature added. New FW_PARAMS_PARAM_DEV_RING_BACKBONE param type added to query and enable ring backbone support. - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. - FW_PARAMS_PARAM_DEV_TPCHMAP API added to read the port to channel mapping. FOiSCSI: - iSCSI Command offload target support added. ================================================================================ Version : 1.16.43.0 Date : 05/05/2017 ================================================================================ FIXES ----- BASE: - Fixed default DCB mode to AUTO. - Fixed DCBX bugs when AUTO mode is configured in config file. - Fixed an issue where even after removing PFC from switch, PFC wasn't getting reset. ETH: - Fixed bug in writing multi-bytes using i2c interface. - Fixed the link failure when optical cable is inserted into the QSA module after loading the driver. OFLD - Fixed an extra credit issue if FW_RI_TYPE_FINI is delayed in fw due to backpressure. - Added a new queue type FW_IQ_TYPE_VF_CQ to handle the FW_PARAMS_PARAM_DMAQ* commands. queue type will be part of the FW_PARAMS_PARAM_DMAQ_IQ_INTIDX value. Used in guest RDMA (RDMA from VM/VF) usecase. ENHANCEMENTS ------------ BASE: - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. ================================================================================ Version : 1.16.33.0 Date : 02/24/2017 ================================================================================ ENHANCEMENTS ------------ ETH: - Added new workrequest ETH_TX_PKTS2_WR (see fw api document for more details). ================================================================================ Version : 1.16.29.0 Date : 01/27/2017 ================================================================================ FIXES ----- BASE: - max number of ethctrl queue in VF set to 2 (reverted the last change because it causes problem in VF drivers). FOiSCSI: - Fixed the failure of PXE boot OS install on an iscsi lun. ENHANCEMENTS ------------ OFLD: - Added filtering support for NAT. New WR FW_FILTER2_WR and FW_PARAMS_PARAM_DEV_FILTER2_WR added for the same. - Added RDMA guest mode (mode 3 or RDMA from VF) support. ================================================================================ T4 Firmware +++++++++++ ================================================================================ Version : 1.16.63.0 Date : 09/29/2017 ================================================================================ Fixes ----- ETH: - Fixed DCBX configuration refresh failure. FOiSCSI: - Fixed vlan interface ping failure. ================================================================================ Version : 1.16.59.0 Date : 09/05/2017 ================================================================================ FIXES ----- ETH: - Fixed an issue in connection traffic shaping when FLOWC_WR->FW_FLOWC_MNEM_SCHEDCLASS is not received in first WR on the connection. ENHANCEMENTS ------------ BASE: - FW_PARAMS_PARAM_DEV_TPCHMAP API added to read the port to channel mapping. ================================================================================ Version : 1.16.43.0 Date : 05/05/2017 ================================================================================ FIXES ----- BASE: - Fixed default DCB mode to AUTO. - Fixed DCBX bugs when AUTO mode is configured in config file. - Fixed an issue where even after removing PFC from switch, PFC wasn't getting reset. ETH: - Fixed bug in writing multi-bytes using i2c interface. OFLD - Fixed an extra credit issue if FW_RI_TYPE_FINI is delayed in fw due to backpressure. - Added a new queue type FW_IQ_TYPE_VF_CQ to handle the FW_PARAMS_PARAM_DMAQ* commands. queue type will be part of the FW_PARAMS_PARAM_DMAQ_IQ_INTIDX value. Used in guest RDMA (RDMA from VM/VF) usecase. ENHANCEMENTS ------------ BASE: - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=324386
* cxgbe(4): Update T6/T5/T4 firmwares to 1.16.59.0.Navdeep Parhar2017-08-293-3/+3
| | | | | | | | | | | | | These firmwares come from a pre-release snapshot. The final firmwares in this Chelsio release cycle will likely be .61.0 or later and those will be the next "long lived" firmwares in FreeBSD head and stable branches. .59 is being provided in head (only) for wider test exposure. Obtained from: Chelsio Communications Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=323006
* cxgbe(4): Initial import of the "collect" component of Chelsio unifiedNavdeep Parhar2017-08-031-1/+7
| | | | | | | | | | | | | | | debug (cudbg) code, hooked up to the main driver via an ioctl. The ioctl can be used to collect the chip's internal state in a compressed dump file. These dumps can be decoded with the "view" component of cudbg. Obtained from: Chelsio Communications MFC after: 2 months Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=322014
* cxgbe(4): Update the T4, T5, and T6 firmwares to 1.16.45.0.Navdeep Parhar2017-05-233-3/+3
| | | | | | | | | | | | | The latest firmware has a number of link related fixes, support for a new custom card, and the fix for a bug that affected rate limiting on FreeBSD. Obtained from: Chelsio Communications MFC after: 1 week Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=318762
* Add a driver for the Chelsio T6 crypto accelerator engine.John Baldwin2017-05-172-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ccr(4) driver supports use of the crypto accelerator engine on Chelsio T6 NICs in "lookaside" mode via the opencrypto framework. Currently, the driver supports AES-CBC, AES-CTR, AES-GCM, and AES-XTS cipher algorithms as well as the SHA1-HMAC, SHA2-256-HMAC, SHA2-384-HMAC, and SHA2-512-HMAC authentication algorithms. The driver also supports chaining one of AES-CBC, AES-CTR, or AES-XTS with an authentication algorithm for encrypt-then-authenticate operations. Note that this driver is still under active development and testing and may not yet be ready for production use. It does pass the tests in tests/sys/opencrypto with the exception that the AES-GCM implementation in the driver does not yet support requests with a zero byte payload. To use this driver currently, the "uwire" configuration must be used along with explicitly enabling support for lookaside crypto capabilities in the cxgbe(4) driver. These can be done by setting the following tunables before loading the cxgbe(4) driver: hw.cxgbe.config_file=uwire hw.cxgbe.cryptocaps_allowed=-1 MFC after: 1 month Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D10763 Notes: svn path=/head/; revision=318429
* cxgbe/t4_tom: Per-connection rate limiting for TCP sockets handled byNavdeep Parhar2017-05-051-0/+1
| | | | | | | | | | | | | | | | | | the TOE. For now this capability is always enabled in kernels with options RATELIMIT. t4_tom will check if_capenable once the base driver gets code to support rate limiting for any socket (TOE or not). This was tested with iperf3 and netperf ToT as they already support SO_MAX_PACING_RATE sockopt. There is a bug in firmwares prior to 1.16.45.0 that affects the BSD driver only and results in rate-limiting at an incorrect rate. This will resolve by itself as soon as 1.16.45.0 or later firmware shows up in the driver. Relnotes: Yes Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=317849
* cxgbe(4): Support routines for Tx traffic scheduling.Navdeep Parhar2017-05-021-0/+1
| | | | | | | | | | | | | | | | - Create a new file, t4_sched.c, and move all of the code related to traffic management from t4_main.c and t4_sge.c to this file. - Track both Channel Rate Limiter (ch_rl) and Class Rate Limiter (cl_rl) parameters in the PF driver. - Initialize all the cl_rl limiters with somewhat arbitrary default rates and provide routines to update them on the fly. - Provide routines to reserve and release traffic classes. MFC after: 1 month Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=317702
* sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper2017-03-0413-15/+15
| | | | | | | | | | | 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
* cxgbe(4): Update T4, T5 and T6 firmwares to 1.16.26.0. Changelog forNavdeep Parhar2017-01-033-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | all public firmwares for all chips since the last release (1.15.37.0) follows (it's a straight copy-paste from the Release Notes for the 12/30/2016 Unified Wire release on Chelsio's website). T6 Firmware ++++++++++++ Version : 1.16.26.0 Date : 12/28/2016 Fixes ----- BASE: - Max number of egress and control queues adjusted to accomodate co-processor mode queues. - Fixed intermittent DDR3/4 ECC errors. - Fixed a traffic stall when ETS BW is configured as 0%. - Max number of ethctrl queue in VF set to 1. ETH: - Added a new config file option 'speed' under port section to set the port speed. Use only when auto negotiation is off. - FEC option removed from firmware config file. cxgbtool can be used to change the fec setting. - CPL_TX_TNL_LSO cpl handling added in ETH_TX_PKT_VM handler. This fixes large tunnel tcp packet support for VxLAN. Version : 1.16.22.0 Date : 12/05/2016 Fixes ----- BASE: - fw_port_type updated in fw API to match kernel.org definitions. - Saved power by disaling unused MAC lanes. - Configures correct power bin. - Enhanced DDR4 performance. - Enabled interrupts. - Fixed an issue where filter rule for 'unicast hash' is not working. ETH: - Disabled auto negotiation by default because most of 100G switches do not support AN as of today. - Fixed flow control not getting disabled problem. - Fixed an issue where port0 doesn't come up sometimes. - Fixed 10G link not coming up issue. - Fixed an issue with promiscuous mode when dcbx disabled. OFLD: - Fixed a connection stuck issue when abort is received during out of tx pages backpressure. ENHANCEMENTS ------------ BASE: - Added inline TLS mode support. Version : 1.16.12.0 Date : 11/11/2016 ENHANCEMENTS ------------ BASE: - Added T6 support. - Added T6 1G/10G/25G/40G/100G link speeds. - Added T6 co-processor mode crypto support. - Added facility to increase link AN+AEC timeout. OFLD: - Added support for all T5 offload protocols except FCoE. iSCSI: - iscsi completion moderation enabled. ======================================================================= T5 Firmware ++++++++++++ Version : 1.16.26.0 Date : 12/28/2016 FIXES ----- BASE: - Max number of ethctrl queue in VF set to 1. Version : 1.16.22.0 Date : 12/05/2016 FIXES ----- BASE: - Fixed an issue where filter rule for 'unicast hash' is not working. ETH: - Fixed an issue with promiscuous mode when dcbx disabled. ENHANCEMENTS ------------ ETH: - Added 40G-KR support. Version : 1.16.12.0 Date : 11/11/2016 FIXES ----- BASE: - Fixed multiple issues related with VFs FLR processing. - Fixed channel assignment based on number of ports in adapter. - Fixed a crash when VM having PF assigned as passthrough mode is rebooted. - Handled 2nd HELLO command from the same PF without seeing BYE from the same PF and if that is the only PF. - A warning is printed in firmware log if PCI-E cookie generation is enabled in serial initialization file. - Fixed multiple issues related with Filtering. - Enabled DSGL memory write for iscsi and rdma. - Added new FW_PARAMS_CMD[DEV] options to retrieve Serial Configuration and VPD version numbers. - Fixed an issue where LVDS output was not getting enabled using vpd. DCBX: - Fixed DCBX CEE Incorrect class to pririty mapping. - Fixed incorrect interpretation of DCBX IEEE PFC. ETH: - Adjusted the link related delay timings according to the QSFP spec. - Improved 40G link bringup time with few switches. OFLD: - Do not reserve qp/cq if rdma capability is not enabled. - Fixed an issue where approx 1600+ TOE connections were causing a firmware fatal error. FOiSCSI: - Fixed an issue where unloading foiscsi driver causes mailbox timeout. ENHANCEMENTS ------------ BASE: - Added 10G KR/KX support. - Added T540-BT adapter support. - Added 4 new rss key modes for PFs and VFs. OFLD: - Added new WR FW_RI_FR_NSMR_TPTE_WR to improve fast MR write performance in RDMA. Version : 1.16.5.0 Date : 10/26/2016 FIXES ----- BASE: - Fixed multiple issues where FLR from multiple VFs can cause firmware crash. - Fixed channel assignment based on number of ports in adapter. - Fixed the HELLO command master force api to handle the 2nd HELLO correctly without getting BYE from the PF driver. - Added facility to retrieve Serial configuration and VPD version. Two new FW_PARAMS_CMD[DEV] options added to retrieve these values. - Fixed multiple issues where FLR from multiple VFs are not completing. - Added new RSS hash secret key modes. - Fixed an issue where LVDS output was not getting enabled using vpd. DCBX: - Fixed an issue where iscsi tlv is sent incorrectly to host (DCBX CEE). - Fixed an issue where app priority values are not handled correctly in fw (DCBX IEEE). ETH: - Adjusts the link related delay timings according to the QSFP spec. - Changed 2.5G mac speed bit to 25G mac speed bit in fw API. - Improvement in 40G link bringup time with few switches. OFLD: - Do not reserve qp/cq if rdma capability is not enabled. - Fixed an issue where approx 1600+ TOE connections were causing a firmware fatal error. - Fixed DSGL memory write in T5. Now iwarp and iscsi can use DSGL to do memory write. - Fixed multiple issues in hash filter mode where incorrect protocol mask was getting used and affecting hash filter functionality. - New fastpath WR FW_RI_FR_NSMR_TPTE_WR (with fully populated TPTE) is added for small REG_MR operations. FOiSCSI: - Fixed an issue in foiscsi recovery path. - Fixed an issue where foiscsi (in VM in PCIE passthrough mode) didn't come up after VM FLR. ENHANCEMENTS ------------ ETH: - Implemented 1G/10G KR/KX ability. - Implemented T540-BT adapter support. ======================================================================= T4 Firmware +++++++++++ Version : 1.16.12.0 Date : 11/11/2016 FIXES ----- BASE: - Fixed an issue where reading temperature sesors using ldst command causes mailbox timeout. - Added new FW_PARAMS_CMD[DEV] options to retrieve Serial Configuration and VPD version numbers. ETH: - Fixed DCBX CEE Incorrect class to pririty mapping. FOiSCSI: - Fixed an issue where unloading foiscsi driver causes mailbox timeout. MFC after: 3 days Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=311173
* cxgbe(4): Update firmwares from version 1.16.12.0 to 1.16.22.0.Navdeep Parhar2016-12-063-3/+3
| | | | | | | | | Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=309613
* cxgbe(4): Include firmware for T6 cards in the driver. Update allNavdeep Parhar2016-11-304-2/+30
| | | | | | | | | | | firmwares to 1.16.12.0. Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=309302
* cxgbe(4): Attach to cards with the Terminator 6 ASIC. T6 cards willNavdeep Parhar2016-09-163-0/+24
| | | | | | | | | | | | | come up as 't6nex' nexus devices with 'cc' ports hanging off them. The T6 firmware and configuration files will be added as soon as they are released. For now the driver will try to work with whatever firmware and configuration is on the card's flash. Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=305852
* Chelsio T4/T5 VF driver.John Baldwin2016-09-073-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cxgbev/cxlv driver supports Virtual Function devices for Chelsio T4 and T4 adapters. The VF devices share most of their code with the existing PF4 driver (cxgbe/cxl) and as such the VF device driver currently depends on the PF4 driver. Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf PCI device driver that attaches to the VF device. It then creates child cxgbev/cxlv devices representing ports assigned to the VF. By default, the PF driver assigns a single port to each VF. t4vf_hw.c contains VF-specific routines from the shared code used to fetch VF-specific parameters from the firmware. t4_vf.c contains the VF-specific PCI device driver and includes its own attach routine. VF devices are required to use a different firmware request when transmitting packets (which in turn requires a different CPL message to encapsulate messages). This alternate firmware request does not permit chaining multiple packets in a single message, so each packet results in a firmware request. In addition, the different CPL message requires more detailed information when enabling hardware checksums, so parse_pkt() on VF devices must examine L2 and L3 headers for all packets (not just TSO packets) for VF devices. Finally, L2 checksums on non-UDP/non-TCP packets do not work reliably (the firmware trashes the IPv4 fragment field), so IPv4 checksums for such packets are calculated in software. Most of the other changes in the non-VF-specific code are to expose various variables and functions private to the PF driver so that they can be used by the VF driver. Note that a limited subset of cxgbetool functions are supported on VF devices including register dumps, scheduler classes, and clearing of statistics. In addition, TOE is not supported on VF devices, only for the PF interfaces. Reviewed by: np MFC after: 2 months Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D7599 Notes: svn path=/head/; revision=305549
* cxgbe/cxgbei: Retire all DDP related code from cxgbei and switch toNavdeep Parhar2016-09-011-1/+0
| | | | | | | | | | | | routines available in t4_tom to manage the iSCSI DDP page pod region. This adds the ability to use multiple DDP page sizes to the iSCSI driver, among other improvements. Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=305240
* Add a driver to create VF devices on Chelsio T4/T5 NICs.John Baldwin2016-07-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chelsio NICs are a bit unique compared to some other NICs in that they expose different functionality on different physical functions. In particular, PF4 is used to manage the NIC interfaces ('t4nex' and 't5nex'). However, PF4 is not able to create VF devices. Instead, VFs are only supported by physical functions 0 through 3. This commit adds 't4iov' and 't5iov' drivers that attach to PF0-3. One extra wrinkle is that the iov devices cannot enable SR-IOV until the firwmare has been initialized by the main PF4 driver. To handle this case, a new t4_if kobj interface has been added to permit cross-calls between the PF drivers. The PF4 driver notifies sibling drivers when it is fully attached. It also requests sibling drivers to detach before it detaches. Sibling drivers query the PF4 driver during their attach routine to see if it is attached. If not, the sibling drivers defer their attach actions until the PF4 driver informs them it is attached. VF devices are associated with a single port on the NIC. VF devices created from PF0 are associated with the first port on the NIC, VFs from PF1 are associated with the second port, etc. VF devices can only be created from a PF device that has an associated port. Thus, on a 2-port card, VFs are only supported on PF0 and PF1. Reviewed by: np (earlier versions) MFC after: 1 month Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=303205
* cxgbe(4): Update T5 and T4 firmwares to 1.15.37.0.Navdeep Parhar2016-05-132-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These firmwares were obtained from the "Chelsio T5/T4 Unified Wire v2.12.0.3 for Linux" release. Changes since 1.14.4.0 (which is the firmware in -STABLE branches) are in the "Release Notes" accompanying the Unified Wire release and are copy-pasted here as well. 22.1. T5 Firmware +++++++++++++++++++++++++++++++++ Version : 1.15.37.0 Date : 04/27/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where the default ingress queue was ignored. - Fixed an issue where adapter failed to load fw by adjusting DRAM frequency. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Fixed 40G link failures with some switches when auto-negotiation enabled. - Fixed to improve on link bring-up time. - Per port buffer groups size doubled to improve performance. - Fixed an issue where bogus d3hot bits were set causing traffic stall. - Fixed an issue where sometimes adapter was not seen after reboot. - Fixed an issue where iWARP was crashing in conjunction with traffic management. - Fixed an issue where link failed to come up after removing twinax cable and inserting optical module. ETH - Fixed a link flap issue on T580-CR. OFLD - Fixed a potential iSCSI data corruption issue by disabling RxFragEn flag. FOiSCSI - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP was not been provisioned yet and driver tried to use given inerface. - Fixed an issue where fw was sending ENETUNREACH event for normal tcp disconnection. DCBX - Fixed an issue where iscsi tlv is sent incorrectly to host. (DCBX CEE) - Fixed an issue where apply bit set for APP id was affecting the ETS and PFC settings.(DCBX IEEE) - Fixed an issue where app priority values are not handled correctly in fw. (DCBX IEEE) - Fixed an issue where enable/disable dcbx can cause crash. (DCBX CEE,DCBX IEEE) FOFCoE - Removed BB6 support. ENHANCEMENTS ------------ BASE: - Added new interface to program DCA settings in SGE contexts; allow 32-byte IQE size - Added PTP interface fw_ptp_ts to support PTP Frequeny and Offset adjustment. - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. OFLD: - WR opcode is returned to host in cqe error response. 22.2. T4 Firmware +++++++++++++++++ Version : 1.15.37.0 Date : 04/27/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where default ingress queue was ignored. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Per port buffer groups size doubled to improve performance. - Fixed an issue where iWARP was crashing in conjunction with traffic management. FOiSCSI: - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP had not been provisioned yet and driver tried to use given inerface. DCBX - Fixed an issue where iscsi tlv is sent incorrectly to host.(DCBX CEE) - Fixed an issue where enable/disable dcbx can cause crash in firmware.(DCBX CEE) FOiSCSI - Fixes an issue where fw was sending ENETUNREACH event for normal tcp disconnection. FOFCoE - Removed BB6 support. ENHANCEMENTS ------------ BASE: - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. ================================================================================ Obtained from: Chelsio Communications MFC after: 6 weeks Relnotes: yes Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=299685
* Add a 'show t4 tcb <nexus> <tid>' command to dump a TCB from DDB.John Baldwin2016-04-101-0/+1
| | | | | | | | This allows the contents of a TCB to be extracted from a T4/T5 card in DDB after a panic. Notes: svn path=/head/; revision=297777
* cxgbe(4): Update T5 and T4 firmwares to 1.15.28.0.Navdeep Parhar2016-03-012-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These firmwares were obtained from the beta "Chelsio T5/T4 Unified Wire v2.12.0.2 for Linux" release. Changes since last release are listed in the "Release Notes" accompanying the beta release and are copy-pasted here as well. The plan is to have only GA'd firmwares in any -STABLE FreeBSD branch so I'll MFC this (after 2 months) only if it ends up in a GA release. ================================================================================ ================================================================================ 22.1. T5 Firmware +++++++++++++++++++++++++++++++++ Version : 1.15.28.0 Date : 02/29/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where the default ingress queue was ignored. - Fixed an issue where adapter failed to load fw by adjusting DRAM frequency. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Fixed 40G link failures with some switches when auto-negotiation enabled. - Fixed to improve on link bring-up time. - Per port buffer groups size doubled to improve performance. - Fixed an issue where bogus d3hot bits were set causing traffic stall. - Fixed an issue where sometimes adapter was not seen after reboot. - Fixed an issue where iWARP was crashing in conjunction with traffic management. - Fixed an issue where link failed to come up after removing twinax cable and inserting optical module. OFLD - Fixed a potential iSCSI data corruption issue by disabling RxFragEn flag. FOiSCSI - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP was not been provisioned yet and driver tried to use given inerface. ENHANCEMENTS ------------ BASE: - Added new interface to program DCA settings in SGE contexts; allow 32-byte IQE size - Added PTP interface fw_ptp_ts to support PTP Frequeny and Offset adjustment. - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. OFLD: - WR opcode is returned to host in cqe error response. ================================================================================ ================================================================================ 22.2. T4 Firmware +++++++++++++++++ Version : 1.15.28.0 Date : 02/29/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where default ingress queue was ignored. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Per port buffer groups size doubled to improve performance. - Fixed an issue where iWARP was crashing in conjunction with traffic management. FOiSCSI: - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP had not been provisioned yet and driver tried to use given inerface. ENHANCEMENTS ------------ BASE: - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. ================================================================================ Obtained from: Chelsio Communications MFC after: 2 months Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=296249
* cxgbei: Hardware accelerated iSCSI target and initiator for TOE capableNavdeep Parhar2015-12-262-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | cards supported by cxgbe(4). On the host side this driver interfaces with the storage stack via the ICL (iSCSI Common Layer) in the kernel. On the wire the traffic is standard iSCSI (SCSI over TCP as per RFC 3720/7143 etc.) that interoperates with all other standards compliant implementations. The driver is layered on top of the TOE driver (t4_tom) and promotes connections being handled by t4_tom to iSCSI ULP (Upper Layer Protocol) mode. Hardware assistance in this mode includes: - Full TCP processing. - iSCSI PDU identification and recovery within the TCP stream. - Header and/or data digest insertion (tx) and verification (rx). - Zero copy (both tx and rx). Man page will follow in a separate commit in a couple of weeks. Relnotes: Yes Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=292740
* 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
* cxgbe(4): support for the kernel RSS option.Navdeep Parhar2015-10-161-0/+1
| | | | | | | | | | You need PCBGROUP and RSS in the kernel config to use this. Relnotes: Yes Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=289401
* cxgbe(4): Update T5 and T4 firmwares bundled with the driver to 1.14.4.0. TheNavdeep Parhar2015-08-052-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changes in the firmwares since 1.11.27.0 are listed here (straight copy-paste from the "Release Notes.txt" accompanying the Chelsio Unified Wire 2.11.1.0 release on the website). 22.1. T5 Firmware +++++++++++++++++++++++++++++++++ Version : 1.14.4.0 Date : 08/05/2015 ================================================================================ FIXES ----- BASE: - Fixes a potential data path hang by properly programming PMTX congestion threshold settings. - Fixes a potential initialization error when accessing a configuration file stored on the flash. - Fixes a regression where SGE resources can be miss-sized if iWARP is disabled. ETH: - Fixes a timing issue that would prevent CR4 links from coming up with some switches. FOFCoE: - Defers fcoe linkdown mailbox command handling till LOGO is sent. - Updates vlan prio for all outstanding IOs during dcbx update. ENHANCEMENTS ------------ BASE: - Adds support for PAUSE OFF watchdog. - Reports devlog access information in PCIE_FW_PF register 7. ETH: - Enhances segmentation offload to include VxLAN and Geneve. - Adds PTP support. - Adds new interface to allow the driver to query the VI rss table base addresses. - Allows the driver to program the SGE ingrext contxt CongDrop field. OFLD: - Adds new interface for the driver to specify offloaded connections TCP snd and rcv scale factors. iSCSI: - Adds support for iscsi segmentatation offload (ISO). - Adds support for iscsi t10-dif offload. FOiSCSI: - Sets FORCE_BIT for cut through processing for FOiSCSI. FOFCoE: - Adds support for FCoE BB6. - Improves WRITE performance. ================================================================================ ================================================================================ Version : 1.13.32.0 Date : 03/25/2015 ================================================================================ FIXES ----- BASE: - Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of negative) - Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain adapter configurations) - Fixes config file based PL_TIMEOUT register programming ETH: - Fixes a potential EO UDP SEG header corruption - Fixes an issue where 1000Base-X was not enabled correctly when using QSA modules OFLD: - Fixes timeout issue with half-open connections - Fixes FW_FLOWC_WR processing when state is set to finwait1 FOFCoE: - Fixes fcoe xchg leaks in linkdown/peer down path - Fixes cleanup in FCoE linkdown and fixed buf timer flowid abuse - Fixes fw crash by clearing fcf flowc during bye FOiSCSI: - Don't create a new tcp socket if ERL0 attempt has timed out. ENHANCEMENTS ------------ BASE: - Adds support for VFs on PFs 4 to 7 - Adds support for QPs/CQs on any physical and virtual function ETH: - Stops sending LACP frames on loopback interface - Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE - Adds support for CR4 links (BEAN/AEC on 40G TwinAx cables) OFLD: - Improves default settings of LAN and CLUSTER TCP timer settings - Sends Negative Advice CPLs to software FOISCSI: - Adds IPv6 support for foiscsi. Keeps backward compatibility with old foiscsi drivers which doesn't support ipv6. FOFCoE: - Added fcoe debug support in flowc dump ================================================================================ ================================================================================ Version : 1.12.25.0 Date : 10/22/2014 ================================================================================ FIXES ----- BASE: - Improves precision of the Weight Round Robing Traffic Management Algorithm - Fixes an issue where the link would intermittently fail to come up - Fixes an issue where adapters with an external PHY couldn't run at 100Mbps - Fixes an issue where active optical cables were not recognized - Fixes link advertising issues on T520-BT (speed and pause frames) that would cause the link to negotiate unexpected settings - Forces link restart when auto-negotiation is disabled - Fix an issue where pause frames wouldn't be fully disabled even if requested ETH: - Fixes NVGRE Segmentation Offload network header generation. DCBX: - Fixes an issue where some settings were not being sent to the switch correctly - Fixes an issue where back-to-back DCBX port updates could get overwritten by FW - Fixes a firmware crash on DCBX APP information request before link up FOiSCSI: - Fixes abort task leak in tmf response handling - Fixes TCP RST handling while in iSCSI ERL0 - Fixes a firmware crash on BYE without INIT ENHANCEMENTS ------------- BASE: - Adds link partner settings reporting when available - Adds QSA support (in conjunction with QSA VPD) - Adds T520-BT LED support - Reports NOTSUPPORTED for modules with an unhandled identifier DCBX: - Adds version reporting (indicating which version FW is trying to negotiate) - Adds IEEE support - Reports LLDP time outs FOiSCSI: - Add support for multiple iSCSI DDP client - Sends DHCP renew request when lease expires ================================================================================ 22.2. T4 Firmware +++++++++++++++++ Version : 1.14.4.0 Date : 08/05/2015 ================================================================================ FIXES ----- BASE: - Fixes a potential initialization error when accessing a configuration file stored on the flash. - Initialize PCIE_DBG_INDIR_REQ.Enable to 0, as hardware failed to do so and register dumps could result in errors. ETH: - Fixes an issue that sometimes prevented the link from coming up in CR adapters. ENHANCEMENTS ------------ BASE: - Adds support for PAUSE OFF watchdog. - Reports devlog access information in PCIE_FW_PF register 7. ETH: - Adds new interface to allow the driver to query the VI rss table base addresses. OFLD: - Adds new interface for the driver to specify offloaded connections TCP snd and rcv scale factors. ================================================================================ ================================================================================ Version : 1.13.32.0 Date : 03/25/2015 ================================================================================ FIXES ----- BASE: - Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of negative) - Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain adapter configurations) - Fixes config file based PL_TIMEOUT register programming ETH: - Fixes a potential EO UDP SEG header corruption OFLD: - Fixes timeout issue with half-open connections - Fixes FW_FLOWC_WR processing when state is set to finwait1 FOiSCSI: - Don't create a new tcp socket if ERL0 attempt has timed out. ENHANCEMENTS ------------ ETH: - Stops sending LACP frames on loopback interface - Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE OFLD: - Improves default settings of LAN and CLUSTER TCP timer settings - Sends Negative Advice CPLs to software ================================================================================ ================================================================================ Version : 1.12.25.0 Date : 10/22/2014 ================================================================================ FIXES ----- BASE: - Improves precision of the Weight Round Robing Traffic Management Algorithm - Forces link restart when auto-negotiation is disabled - Fix an issue where pause frames wouldn't be fully disabled even if requested DCBX: - Fixes an issue where some settings were not being sent to the switch correctly - Fixes an issue where back-to-back DCBX port updates could get overwritten by FW - Fixes a firmware crash on DCBX APP information request before link up FOiSCSI: - Fixes abort task leak in tmf response handling - Fixes TCP RST handling while in iSCSI ERL0 - Fixes a firmware crash on BYE without INIT ENHANCEMENTS ------------ BASE: - Adds link partner settings reporting when available - Firmware now reports NOTSUPPORTED for modules with an unhandled identifier DCBX: - Adds version reporting (indicating which version FW is trying to negotiate) - Adds IEEE support - Reports LLDP time outs FOiSCSI: - Adds support for multiple iSCSI DDP clients - Sends DHCP renew request when lease expires ================================================================================ Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=286338
* cxgbe(4): Update T4 and T5 firmwares to 1.14.2.0.Navdeep Parhar2015-07-142-2/+2
| | | | | | | | Obtained from: Chelsio Communications MFC after: 3 days Notes: svn path=/head/; revision=285527
* Globally enable -fms-extensions when building kernel with gcc, and removeGleb Smirnoff2015-02-171-1/+0
| | | | | | | | | | | | this option from all modules that enable it theirselves. In C mode -fms-extensions option enables anonymous structs and unions, allowing us to use this C11 feature in kernel. Of course, clang supports it without any extra options. Reviewed by: dim Notes: svn path=/head/; revision=278913
* cxgbe(4): Add a minimal if_cxl module that pulls in the real driver asNavdeep Parhar2015-02-062-0/+12
| | | | | | | | | | | | a dependency. This ensures "ifconfig cxl<n> ..." does the right thing even when it's run with no driver loaded. if_cxl.ko is the tiniest module in /boot/kernel. MFC after: 2 weeks Notes: svn path=/head/; revision=278303
* Make sure the compiler flag to get cxgbe(4) to compile with gcc is usedNavdeep Parhar2015-01-241-1/+2
| | | | | | | | | only when gcc is being used. This is what r277225 should have been. Suggested by: dim@ Notes: svn path=/head/; revision=277637
* Make cxgbe(4) buildable with the gcc in base.Navdeep Parhar2015-01-161-1/+1
| | | | Notes: svn path=/head/; revision=277225
* cxgbe(4): major tx rework.Navdeep Parhar2014-12-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a) Front load as much work as possible in if_transmit, before any driver lock or software queue has to get involved. b) Replace buf_ring with a brand new mp_ring (multiproducer ring). This is specifically for the tx multiqueue model where one of the if_transmit producer threads becomes the consumer and other producers carry on as usual. mp_ring is implemented as standalone code and it should be possible to use it in any driver with tx multiqueue. It also has: - the ability to enqueue/dequeue multiple items. This might become significant if packet batching is ever implemented. - an abdication mechanism to allow a thread to give up writing tx descriptors and have another if_transmit thread take over. A thread that's writing tx descriptors can end up doing so for an unbounded time period if a) there are other if_transmit threads continuously feeding the sofware queue, and b) the chip keeps up with whatever the thread is throwing at it. - accurate statistics about interesting events even when the stats come at the expense of additional branches/conditional code. The NIC txq lock is uncontested on the fast path at this point. I've left it there for synchronization with the control events (interface up/down, modload/unload). c) Add support for "type 1" coalescing work request in the normal NIC tx path. This work request is optimized for frames with a single item in the DMA gather list. These are very common when forwarding packets. Note that netmap tx in cxgbe already uses these "type 1" work requests. d) Do not request automatic cidx updates every 32 descriptors. Instead, request updates via bits in individual work requests (still every 32 descriptors approximately). Also, request an automatic final update when the queue idles after activity. This means NIC tx reclaim is still performed lazily but it will catch up quickly as soon as the queue idles. This seems to be the best middle ground and I'll probably do something similar for netmap tx as well. e) Implement a faster tx path for WRQs (used by TOE tx and control queues, _not_ by the normal NIC tx). Allow work requests to be written directly to the hardware descriptor ring if room is available. I will convert t4_tom and iw_cxgbe modules to this faster style gradually. MFC after: 2 months Notes: svn path=/head/; revision=276485
* 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-45/+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
* List one file per line in the Makefiles. This makes it easier to readNavdeep Parhar2014-08-013-11/+41
| | | | | | | | | diffs when a file is added or removed. MFC after: 2 weeks Notes: svn path=/head/; revision=269366
* Improve compliance with style.Makefile(5).Navdeep Parhar2014-08-016-40/+41
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=269364
* cxgbe(4): Update the bundled T4 and T5 firmwares to versions 1.11.27.0.Navdeep Parhar2014-06-222-2/+2
| | | | | | | | Obtained from: Chelsio MFC after: 3 days Notes: svn path=/head/; revision=267757
* cxgbe(4): netmap support for Terminator 5 (T5) based 10G/40G cards.Navdeep Parhar2014-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netmap gets its own hardware-assisted virtual interface and won't take over or disrupt the "normal" interface in any way. You can use both simultaneously. For kernels with DEV_NETMAP, cxgbe(4) carves out an ncxl<N> interface (note the 'n' prefix) in the hardware to accompany each cxl<N> interface. These two ifnet's per port share the same wire but really are separate interfaces in the hardware and software. Each gets its own L2 MAC addresses (unicast and multicast), MTU, checksum caps, etc. You should run netmap on the 'n' interfaces only, that's what they are for. With this, pkt-gen is able to transmit > 45Mpps out of a single 40G port of a T580 card. 2 port tx is at ~56Mpps total (28M + 28M) as of now. Single port receive is at 33Mpps but this is very much a work in progress. I expect it to be closer to 40Mpps once done. In any case the current effort can already saturate multiple 10G ports of a T5 card at the smallest legal packet size. T4 gear is totally untested. trantor:~# ./pkt-gen -i ncxl0 -f tx -D 00:07:43:ab:cd:ef 881.952141 main [1621] interface is ncxl0 881.952250 extract_ip_range [275] range is 10.0.0.1:0 to 10.0.0.1:0 881.952253 extract_ip_range [275] range is 10.1.0.1:0 to 10.1.0.1:0 881.962540 main [1804] mapped 334980KB at 0x801dff000 Sending on netmap:ncxl0: 4 queues, 1 threads and 1 cpus. 10.0.0.1 -> 10.1.0.1 (00:00:00:00:00:00 -> 00:07:43:ab:cd:ef) 881.962562 main [1882] Sending 512 packets every 0.000000000 s 881.962563 main [1884] Wait 2 secs for phy reset 884.088516 main [1886] Ready... 884.088535 nm_open [457] overriding ifname ncxl0 ringid 0x0 flags 0x1 884.088607 sender_body [996] start 884.093246 sender_body [1064] drop copy 885.090435 main_thread [1418] 45206353 pps (45289533 pkts in 1001840 usec) 886.091600 main_thread [1418] 45322792 pps (45375593 pkts in 1001165 usec) 887.092435 main_thread [1418] 45313992 pps (45351784 pkts in 1000834 usec) 888.094434 main_thread [1418] 45315765 pps (45406397 pkts in 1002000 usec) 889.095434 main_thread [1418] 45333218 pps (45378551 pkts in 1001000 usec) 890.097434 main_thread [1418] 45315247 pps (45405877 pkts in 1002000 usec) 891.099434 main_thread [1418] 45326515 pps (45417168 pkts in 1002000 usec) 892.101434 main_thread [1418] 45333039 pps (45423705 pkts in 1002000 usec) 893.103434 main_thread [1418] 45324105 pps (45414708 pkts in 1001999 usec) 894.105434 main_thread [1418] 45318042 pps (45408723 pkts in 1002001 usec) 895.106434 main_thread [1418] 45332430 pps (45377762 pkts in 1001000 usec) 896.107434 main_thread [1418] 45338072 pps (45383410 pkts in 1001000 usec) ... Relnotes: Yes Sponsored by: Chelsio Communications. Notes: svn path=/head/; revision=266757
* 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-1/+4
| | | | | | | | | (the default). They build, but are unloadable, due to missing ibcore.ko. Sponsored by: FreeBSD Foundation Notes: svn path=/head/; revision=256725
* iw_cxgbe: iWARP driver for Chelsio T4/T5 chips. This is a straight portNavdeep Parhar2013-10-172-1/+35
| | | | | | | | | of the iw_cxgb4 found in OFED distributions. Obtained from: Chelsio Notes: svn path=/head/; revision=256694