359123 |
19-Mar-2020 |
hselasky |
MFC r359014: Fix for double unlock in ipoib.
The ipoib_unicast_send() function is not supposed to unlock the priv lock.
Sponsored by: Mellanox Technologies |
358933 |
13-Mar-2020 |
hselasky |
MFC r358694: Fix some whitespace issues in ipoib.
Sponsored by: Mellanox Technologies |
357429 |
03-Feb-2020 |
hselasky |
MFC r356633: Make sure the VNET is properly set when reaping mbufs in ipoib. Else the following panic may happen:
panic() icmp_error() ipoib_cm_mb_reap() linux_work_fn() taskqueue_run_locked() taskqueue_thread_loop() fork_exit() fork_trampoline()
Submitted by: Andreas Kempe <kempe@lysator.liu.se> Sponsored by: Mellanox Technologies |
339086 |
02-Oct-2018 |
hselasky |
Selectivly backport fix for firmware command hang when switching from polling-based firmware commands to event based firmware commands.
This is a direct commit.
Linux commit: a7e1f04905e5b2b90251974dddde781301b6be37
Sponsored by: Mellanox Technologies |
338615 |
12-Sep-2018 |
hselasky |
Fix incorrect display of the sys.class.infiniband.xxx.ports.1.rate sysctl entry in ibcore by adding support for new rate types.
This is a direct commit.
Sponsored by: Mellanox Technologies |
332160 |
07-Apr-2018 |
brooks |
MFC r331648:
Improve copy-and-pasted versions of SIOCGIFADDR.
The original implementation used a reference to ifr_data and a cast to do the equivalent of accessing ifr_addr. This was copied multiple times since 1996.
Approved by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14873 |
329835 |
22-Feb-2018 |
hselasky |
Fix for LINT-NOINET kernel build.
This is a direct commit.
Reported by: rpokala@ Sponsored by: Mellanox Technologies |
326704 |
08-Dec-2017 |
hselasky |
Add support for IPv6 based addresses as part of the TCP unify portspace feature in ibcore. This resolves an interopability issue when using both iWarp(T6) and RDMA(CX-4 and CX-5) devices at the same time.
The problem is IPv4 based sockets cannot be bound to an IPv6 based address causing sobind() to fail preventing all use of IPv6 based addresses with RDMA when an iWarp device is present.
This is a direct commit.
Tested by: KrishnamRaju ErapaRaju <Krishna2@chelsio.com> Sponsored by: Mellanox Technologies |
325945 |
17-Nov-2017 |
hselasky |
MFC r325616: Make sure sin_zero is zero in ibcore. Else socket address maching using bcmp() might fail.
Sponsored by: Mellanox Technologies |
325943 |
17-Nov-2017 |
hselasky |
MFC r325615: Make sure the IPv6 scope ID gets zeroed when exchanging CMA messages in ibcore. Else the IPv6 address matching might fail. This change adds support for both embedded and non-embedded IPv6 scope IDs when passing a IPv6 link-local socket address to RDMA. Prior to this change only global IPv6 addresses would work with RDMA.
Sponsored by: Mellanox Technologies |
325940 |
17-Nov-2017 |
hselasky |
MFC r325614: Multiple fixes for using IPv6 link-local addresses with RDMA.
1) Fail to resolve RDMA address if rtalloc1() returns the loopback device, lo0, as the gateway interface.
2) Use ip_dev_find() and ip6_dev_find() to lookup network interfaces with matching IPv4 and IPv6 addresses, respectivly.
3) In addr_resolve() make sure the "ifa" pointer is always set, also when the "ifp" is NULL. Else a NULL pointer access might happen trying to read from the "ifa" pointer later on.
Sponsored by: Mellanox Technologies |
325617 |
09-Nov-2017 |
hselasky |
Remove the now obsolete "unify_tcp_port_space" ibcore module parameter. Missed as part of the MFC of r324792 in r325611.
This is a direct commit.
Sponsored by: Mellanox Technologies |
325611 |
09-Nov-2017 |
hselasky |
MFC r324792: The remote DMA TCP portspace selector, RDMA_PS_TCP, is used for both iWarp and RoCE in ibcore. The selection of RDMA_PS_TCP can not be used to indicate iWarp protocol use. Backport the proper IB device capabilities from Linux upstream to distinguish between iWarp and RoCE. Only allocate the additional socket required for iWarp for RDMA IDs when at least one iWarp device present. This resolves interopability issues between iWarp and RoCE in ibcore
Reviewed by: np @ Differential Revision: https://reviews.freebsd.org/D12563 Sponsored by: Mellanox Technologies |
324685 |
17-Oct-2017 |
hselasky |
MFC r289568, r300676, r300677, r300719, r300720 and r300721: Implement LinuxKPI module parameters as SYSCTLs.
The bool module parameter is no longer supported, because there is no equivalent in FreeBSD 10-stable. These are converted into "int" type.
There are two macros available which control the behaviour of the LinuxKPI module parameters:
- LINUXKPI_PARAM_PARENT allows the consumer to set the SYSCTL parent where the modules parameters will be created.
- LINUXKPI_PARAM_PREFIX defines a parameter name prefix, which is added to all created module parameters.
The LinuxKPI module parameters also have a permissions value. If any write bits are set we are allowed to modify the module parameter runtime. Reflect this when creating the static SYSCTL nodes.
The module_param_call() function is no longer supported.
Sponsored by: Mellanox Technologies |
324527 |
11-Oct-2017 |
hselasky |
MFC r315404: Add basic support for VIMAGE to the LinuxKPI and ibcore.
Support is implemented by mapping Linux's "struct net" into FreeBSD's "struct vnet". Currently only vnet0 is supported by ibcore.
Sponsored by: Mellanox Technologies |
322531 |
15-Aug-2017 |
hselasky |
MFC r322248: Fix for mlx4en(4) to properly call m_defrag().
The m_defrag() function can only defrag mbuf chains which have a valid mbuf packet header. In r291699 when the mlx4en(4) driver was converted into using BUSDMA(9), the call to m_defrag() was moved after the part of the transmit routine which strips the header from the mbuf chain. This effectivly disabled the mbuf defrag mechanism and such packets simply got dropped.
This patch removes the stripping of mbufs from a chain and loads all mbufs using busdma. If busdma finds there are no segments, unload the DMA map and free the mbuf right away, because that means all data in the mbuf has been inlined in the TX ring. Else proceed as usual.
Add a per-ring rounter for the number of defrag attempts and make sure the oversized_packets counter gets zeroed while at it.
The counters are per-ring to avoid excessive cache misses in the TX path.
Approved by: re (kib) Submitted by: mjoras@ Differential Revision: https://reviews.freebsd.org/D11683 Sponsored by: Mellanox Technologies |
322507 |
14-Aug-2017 |
hselasky |
MFC r322306: Print maximum MTU when trying to set invalid MTU in the mlx4en(4) driver. Useful for debugging.
Approved by: re (marius, gjb) Submitted by: Sepherosa Ziehau <sephe@dragonflybsd.org> Sponsored by: Mellanox Technologies |
322504 |
14-Aug-2017 |
hselasky |
MFC r322304: Add support for RX and TX statistics when the mlx4en(4) PCI device is in VF or SRIOV mode typically in a virtual machine environment.
Approved by: re (kib) Submitted by: Sepherosa Ziehau <sephe@dragonflybsd.org> Sponsored by: Mellanox Technologies |
322165 |
07-Aug-2017 |
hselasky |
MFC r321782: Remove some dead statistics related code and a structure field from the mlx4en driver which is used by its Linux counterpart, but not under FreeBSD.
Sponsored by: Mellanox Technologies |
322162 |
07-Aug-2017 |
hselasky |
MFC r321772: Fix broken usage of the mlx4_read_clock() function: - return value has too small width - cycle_t is unsigned and cannot be less than zero
Sponsored by: Mellanox Technologies |
322159 |
07-Aug-2017 |
hselasky |
MFC r321780: Make sure on-stack buffer is properly aligned.
Sponsored by: Mellanox Technologies |
322156 |
07-Aug-2017 |
hselasky |
MFC r321986: Change reject message type when destroying cm_id in ibore.
This patch fixes an interopability issue between FreeBSD and non-FreeBSD systems when the connection establishment is aborted. Refer to the initial commit in Linux, drivers/infiniband/core/cm.c, for a more detailed description.
Obtained from: Linux Sponsored by: Mellanox Technologies |
322153 |
07-Aug-2017 |
hselasky |
MFC r321985: Ticks are 32-bit in FreeBSD.
Sponsored by: Mellanox Technologies |
320945 |
13-Jul-2017 |
hselasky |
MFC r320876: Make sure the mlx4en RX DMA ring gets stamped with software ownership in order to prevent the flow of QP to error in the firmware once UPDATE_QP is called.
Sponsored by: Mellanox Technologies |
320067 |
18-Jun-2017 |
hselasky |
MFC r319972: Use static device numbering instead of dynamic one when creating mlx4en network interfaces. This prevents infinite unit number growth typically when the mlx4en driver is used inside virtual machines which support runtime PCI attach and detach.
Sponsored by: Mellanox Technologies |
319567 |
04-Jun-2017 |
hselasky |
MFC r319413: Free hardware queue resource after port is stopped in the mlx4en(4) driver. Else if the port is up the resource might still be busy and the MTT free will fail.
PR: 216493 Sponsored by: Mellanox Technologies |
319564 |
04-Jun-2017 |
hselasky |
MFC r319414: Allow communication between functions on the same host when using the mlx4en(4) driver in SRIOV mode.
Place a copy of the destination MAC address in the send WQE only under SRIOV/eSwitch configuration or when the device is in selftest. This allows communication between functions on the same host.
PR: 216493 Sponsored by: Mellanox Technologies |
318802 |
24-May-2017 |
np |
MFC r314131:
Avoid NULL dereference in a couple of sysctl handlers in ibcore. iw_cxgbe sets ib_device->dma_device to NULL (since r311880).
Sponsored by: Chelsio Communications |
318628 |
22-May-2017 |
hselasky |
MFC r318531:
mlx4: Use the CQ quota for SRIOV when creating completion EQs
When creating EQs to handle CQ completion events for the PF or for VFs, we create enough EQE entries to handle completions for the max number of CQs that can use that EQ.
When SRIOV is activated, the max number of CQs a VF (or the PF) can obtain is its CQ quota (determined by the Hypervisor resource tracker). Therefore, when creating an EQ, the number of EQE entries that the VF should request for that EQ is the CQ quota value (and not the total number of CQs available in the firmware).
Under SRIOV, the PF, also must use its CQ quota, because the resource tracker also controls how many CQs the PF can obtain.
Using the firmware total CQs instead of the CQ quota when creating EQs resulted wasting MTT entries, due to allocating more EQEs than were needed.
Sponsored by: Mellanox Technologies |
318540 |
19-May-2017 |
hselasky |
MFC r317505: Don't free uninitialized sysctl contexts in the mlx4en driver. This can cause NULL pointer panics during failed device attach.
Differential Revision: https://reviews.freebsd.org/D8876 Sponsored by: Mellanox Technologies |
318536 |
19-May-2017 |
hselasky |
MFC r313555: Flexible and asymmetric allocation of EQs and MSI-X vectors for PF/VFs.
Previously, the mlx4 driver queried the firmware in order to get the number of supported EQs. Under SRIOV, since this was done before the driver notified the firmware how many VFs it actually needs, the firmware had to take into account a worst case scenario and always allocated four EQs per VF, where one was used for events while the others were used for completions. Now, when the firmware supports the asymmetric allocation scheme, denoted by exposing num_sys_eqs > 0 (--> MLX4_DEV_CAP_FLAG2_SYS_EQS), we use the QUERY_FUNC command to query the firmware before enabling SRIOV. Thus we can get more EQs and MSI-X vectors per function. Moreover, when running in the new firmware/driver mode, the limitation that the number of EQs should be a power of two is lifted.
Obtained from: Linux (dual BSD/GPLv2 licensed) Submitted by: Dexuan Cui @ microsoft . com Differential Revision: https://reviews.freebsd.org/D8867 Sponsored by: Mellanox Technologies |
318533 |
19-May-2017 |
hselasky |
MFC r313556: Change mlx4 QP allocation scheme.
When using Blue-Flame, BF, the QPN overrides the VLAN, CV, and SV fields in the WQE. Thus, BF may only be used for QPNs with bits 6,7 unset.
The current ethernet driver code reserves a TX QP range with 256b alignment.
This is wrong because if there are more than 64 TX QPs in use, QPNs >= base + 65 will have bits 6/7 set.
This problem is not specific for the Ethernet driver, any entity that tries to reserve more than 64 BF-enabled QPs should fail. Also, using ranges is not necessary here and is wasteful.
The new mechanism introduced here will support reservation for "Eth QPs eligible for BF" for all drivers: bare-metal, multi-PF, and VFs (when hypervisors support WC in VMs). The flow we use is:
1. In mlx4_en, allocate Tx QPs one by one instead of a range allocation, and request "BF enabled QPs" if BF is supported for the function
2. In the ALLOC_RES FW command, change param1 to: a. param1[23:0] - number of QPs b. param1[31-24] - flags controlling QPs reservation
Bit 31 refers to Eth blueflame supported QPs. Those QPs must have bits 6 and 7 unset in order to be used in Ethernet.
Bits 24-30 of the flags are currently reserved.
When a function tries to allocate a QP, it states the required attributes for this QP. Those attributes are considered "best-effort". If an attribute, such as Ethernet BF enabled QP, is a must-have attribute, the function has to check that attribute is supported before trying to do the allocation.
In a lower layer of the code, mlx4_qp_reserve_range masks out the bits which are unsupported. If SRIOV is used, the PF validates those attributes and masks out unsupported attributes as well. In order to notify VFs which attributes are supported, the VF uses QUERY_FUNC_CAP command. This command's mailbox is filled by the PF, which notifies which QP allocation attributes it supports.
Obtained from: Linux (dual BSD/GPLv2 licensed) Submitted by: Dexuan Cui @ microsoft . com Differential Revision: https://reviews.freebsd.org/D8868 Sponsored by: Mellanox Technologies |
315328 |
15-Mar-2017 |
dim |
MFC r310232:
After r310171, the kernel version of sscanf() has format string checking enabled. This results in a -Werror warning in mlx4ib:
sys/dev/mlx4/mlx4_ib/mlx4_ib_sysfs.c:90:22: error: format specifies type 'unsigned long long *' but the argument has type 'u64 *' (aka 'unsigned long *') [-Werror,-Wformat] sscanf(buf, "%llx", &sysadmin_ag_val); ~~~~ ^~~~~~~~~~~~~~~~
Change sysadmin_ag_val to unsigned long long to avoid the warning.
Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D8831 |
315257 |
14-Mar-2017 |
hselasky |
MFC r313778:
Improve code readability and fix compilation error when using clang 4.x.
Found by: emaste @ Sponsored by: Mellanox Technologies |
314606 |
03-Mar-2017 |
np |
MFC r314400:
cxgbe/iw_cxgbe: fix various double-close panics with iWARP sockets.
Sockets representing the TCP endpoints for iWARP connections are allocated by the ibcore module. Before this revision they were closed either by the ibcore module or the iw_cxgbe hardware driver depending on the state transitions during connection teardown. This is error prone and there were cases where both iw_cxgbe and ibcore closed the socket leading to double-free panics. The fix is to let ibcore close the sockets it creates and never do it in the driver.
- Use sodisconnect instead of soclose (preceded by solinger = 0) in the driver to tear down an RDMA connection abruptly. This does what's intended without releasing the socket's fd reference.
- Close the socket in ibcore when the iWARP iw_cm_id is destroyed. This works for all kinds of sockets: clients that initiate connections, listeners, and sockets accepted off of listeners.
Sponsored by: Chelsio Communications |
311795 |
09-Jan-2017 |
hselasky |
MFC r310058: Fix initialisation of mlx4_pci_table's .driver_data fields.
Differential Revision: https://reviews.freebsd.org/D8791 Sponsored by: Mellanox Technologies Submitted by: Dexuan Cui <decui@microsoft.com> |
309378 |
01-Dec-2016 |
jhb |
MFC 273806,289103,289201,289338,289578,293185,294474,294610,297124,297368, 297406,300875,300888,301158,301896,301897,304838:
Pull in most of the Chelsio and iWARP related changes from stable/11 into stable/10. A few changes from 278886 (OFED 1.2) were also included though the full merge is not: - The find_gid_port() function in infiband/core/cma.c. - Addition of the 'ord' and 'ird' fields to 'struct iw_cm_event'.
273806: Userspace library for Chelsio's Terminator 5 based iWARP RNICs (pretty much every T5 card that does _not_ have "-SO" in its name is RDMA capable).
This plugs into the OFED verbs framework and allows userspace RDMA applications to work over T5 RNICs. Tested with rping.
289103: iw_cxgbe: fix for page fault in cm_close_handler().
This is roughly the iw_cxgbe equivalent of https://github.com/torvalds/linux/commit/be13b2dff8c4e41846477b22cc5c164ea5a6ac2e ----------------- RDMA/cxgb4: Connect_request_upcall fixes
When processing an MPA Start Request, if the listening endpoint is DEAD, then abort the connection.
If the IWCM returns an error, then we must abort the connection and release resources. Also abort_connection() should not post a CLOSE event, so clean that up too.
Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com> -----------------
289201: iw_cxgbe: MPA v2 is always available.
289338: iw_cxgbe: use correct RFC number.
289578: Merge LinuxKPI changes from DragonflyBSD: - Define the kref structure identical to the one found in Linux. - Update clients referring inside the kref structure. - Implement kref_sub() for FreeBSD.
293185: iw_cxgbe: Shut down the socket but do not close the fd in case of error. The fd is closed later in this case. This fixes a "SS_NOFDREF on enter" panic.
294474: iw_cxgbe: fix a couple of problems int the RDMA_TERMINATE handler.
a) Look for the CPL in the payload buffer instead of the descriptor. b) Retrieve the socket associated with the tid with the inpcb lock held.
294610: Fix for iWARP servers that listen on INADDR_ANY.
The iWARP Connection Manager (CM) on FreeBSD creates a TCP socket to represent an iWARP endpoint when the connection is over TCP. For servers the current approach is to invoke create_listen callback for each iWARP RNIC registered with the CM. This doesn't work too well for INADDR_ANY because a listen on any TCP socket already notifies all hardware TOEs/RNICs of the new listener. This patch fixes the server side of things for FreeBSD. We've tried to keep all these modifications in the iWARP/TCP specific parts of the OFED infrastructure as much as possible.
297124: iw_cxgbe/libcxgb4: Pull in many applicable fixes from the upstream Linux iWARP driver and userspace library to the FreeBSD iw_cxgbe and libcxgb4.
This commit includes internal changesets 6785 8111 8149 8478 8617 8648 8650 9110 9143 9440 9511 9894 10164 10261 10450 10980 10981 10982 11730 11792 12218 12220 12222 12223 12225 12226 12227 12228 12229 12654.
297368: cxgbe/iw_cxgbe: Fix for stray "start_ep_timer timer already started!" messages.
297406: Remove unnecessary dequeue_mutex (added in r294610) from the iWARP connection manager. Examining so_comp without synchronization with iw_so_event_handler is a harmless race.
300875: iw_cxgbe: Use vmem(9) to manage PBL and RQT allocations.
300888: iw_cxgbe: Plug a lock leak in process_mpa_request().
If the parent is DEAD or connect_request_upcall() fails, the parent mutex is left locked. This leads to a hang when process_mpa_request() is called again for another child of the listening endpoint.
301158: iw_cxgbe: Fix panic that occurs when c4iw_ev_handler tries to acquire comp_handler_lock but c4iw_destroy_cq has already freed the CQ memory (which is where the lock resides).
301896: Fix bug in iwcm that caused a panic in iw_cm_wq when krping is run repeatedly in a tight loop.
301897: iw_cxgbe: Make sure that send_abort results in a TCP RST and not a FIN. Release the hold on ep->com immediately after sending the RST. This fixes a bug that sometimes leaves userspace iWARP tools hung when the user presses ^C.
304838: Do not free an uninitialized pointer on soaccept failure in the iWARP connection manager.
Submitted by: Krishnamraju Eraparaju @ Chelsio (original patch) Sponsored by: Chelsio Communications |
308399 |
07-Nov-2016 |
hselasky |
MFC r308031: Fix indentation and remove duplicate queue stopped stats increment.
Found by: Ryan Stone <rysto32@gmail.com> Sponsored by: Mellanox Technologies |
306955 |
10-Oct-2016 |
hselasky |
MFC r306454: Set hardware stats flag to avoid double counting the number of incoming bytes.
Found by: Ben RUBSON <ben.rubson@gmail.com> Sponsored by: Mellanox Technologies |
304846 |
26-Aug-2016 |
hselasky |
MFC r304342: Add support for setting blocking and non-blocking mode on /dev/rdma_cm by returning success on FIONBIO and FIOASYNC IOCTLs. The actual flags handling is done by the kern_ioctl() function.
Reported by: Alex Bowden <alex.bowden@outlook.com> Sponsored by: Mellanox Technologies |
298779 |
29-Apr-2016 |
hselasky |
MFC r298458: Add missing set of the current VNET when inputting IP packets in IPoIB.
This fixes a kernel panic when using IPoIB with VIMAGE and infiniband.
PR: 208957 Sponsored by: Mellanox Technologies Tested by: Justin Clift <justin@postgresql.org> |
298778 |
29-Apr-2016 |
hselasky |
MFC r297968: Remove some unused fields.
Sponsored by: Mellanox Technologies |
298775 |
29-Apr-2016 |
hselasky |
MFC r297967: Ensure the received IP header gets 32-bits aligned.
The FreeBSD's TCP/IP stack assumes that the IP-header is 32-bits aligned when decoding it. Else unaligned 32-bit memory access can happen, which not all processor architectures support.
Sponsored by: Mellanox Technologies |
298773 |
29-Apr-2016 |
hselasky |
MFC r297966: Add missing port_up checks.
When downing a mlxen network adapter we need to check the port_up variable to ensure we don't continue to transmit data or restart timers which can reside in freed memory.
Sponsored by: Mellanox Technologies |
297652 |
07-Apr-2016 |
hselasky |
MFC r296987: Add missing curly brackets in for loop.
Sponsored by: Mellanox Technologies |
297651 |
07-Apr-2016 |
hselasky |
MFC r296910: Use hardware computed Toeplitz hash for incoming flowids
Use the Toeplitz hash value as source for the flowid. This makes the hash value more suitable for so-called hash bucket algorithms which are used in the FreeBSD's TCP/IP stack when RSS is enabled.
Sponsored by: Mellanox Technologies |
297648 |
07-Apr-2016 |
hselasky |
MFC r296909: Fix witness panic in the ipoib_ioctl() function when unloading the ipoib module.
The bpfdetach() function is trying to turn off promiscious mode on the network interface it is attached to while holding a mutex. The fix consists of ignoring any further calls to the ipoib_ioctl() function when the network interface is going to be detached. The ipoib_ioctl() function might sleep.
Sponsored by: Mellanox Technologies |
292136 |
13-Dec-2015 |
ngie |
MFC r291753:
Fix scope of bridge_header and bridge_pcix_cap in mthca_reset(..)
They're only used in the __linux__ case
Differential Revision: https://reviews.freebsd.org/D4332 Reported by: cppcheck Reviewed by: hselasky Sponsored by: EMC / Isilon Storage Division |
292113 |
11-Dec-2015 |
hselasky |
Enable the mlx4en TSO limits.
This is a direct commit to stable/10.
Sponsored by: Mellanox Technologies |
292107 |
11-Dec-2015 |
hselasky |
MFC r290710, r291694, r291699 and r291793: - Fix print formatting compile warnings for Sparc64 and PowerPC platforms. - Updated the mlx4 and mlxen drivers to the latest version, v2.1.6: - Added support for dumping the SFP EEPROM content to dmesg. - Fixed handling of network interface capability IOCTLs. - Fixed race when loading and unloading the mlxen driver by applying appropriate locking. - Removed two unused C-files. - Convert the mlxen driver to use the BUSDMA(9) APIs instead of vtophys() when loading mbufs for transmission and reception. While at it all pointer arithmetic and cast qualifier issues were fixed, mostly related to transmission and reception. - Fix i386 build WITH_OFED=YES. Remove some redundant KASSERTs.
Sponsored by: Mellanox Technologies Differential Revision: https://reviews.freebsd.org/D4283 Differential Revision: https://reviews.freebsd.org/D4284 |
291185 |
23-Nov-2015 |
ngie |
MFC r291047:
Don't leak work if __mlx4_register_vlan(..) fails in mlx4_master_immediate_activate_vlan_qos(..)
Differential Revision: https://reviews.freebsd.org/D4203 Submitted by: Miles Olrich <miles.olrich@isilon.com> Sponsored by: EMC / Isilon Storage Division |
286841 |
17-Aug-2015 |
glebius |
Merge r283612: Add SIOCGI2C ioctl support to the driver. Would work only on ConnectX-3 with fresh firmware. The low level code is based on code provided by Mellanox.
Thanks to Mellanox and their distributor Must (http://mustcompany.ru) for providing hardware.
In collaboration with: Andre Melkoumian <andre mellanox.com> Reviewed by: hselasky Sponsored by: Netflix Sponsored by: Nginx, Inc. |
283175 |
21-May-2015 |
hselasky |
MFC r282817: Apply proper locking when iterating the multicast addresses and add a missing check for NULL from a non-blocking "kzalloc()" function call.
Sponsored by: Mellanox Technologies |
281955 |
24-Apr-2015 |
hiren |
MFC r275358 r275483 r276982 - Removing M_FLOWID by hps@
r275358: Start process of removing the use of the deprecated "M_FLOWID" flag from the FreeBSD network code. The flag is still kept around in the "sys/mbuf.h" header file, but does no longer have any users. Instead the "m_pkthdr.rsstype" field in the mbuf structure is now used to decide the meaning of the "m_pkthdr.flowid" field. To modify the "m_pkthdr.rsstype" field please use the existing "M_HASHTYPE_XXX" macros as defined in the "sys/mbuf.h" header file.
This patch introduces new behaviour in the transmit direction. Previously network drivers checked if "M_FLOWID" was set in "m_flags" before using the "m_pkthdr.flowid" field. This check has now now been replaced by checking if "M_HASHTYPE_GET(m)" is different from "M_HASHTYPE_NONE". In the future more hashtypes will be added, for example hashtypes for hardware dedicated flows.
"M_HASHTYPE_OPAQUE" indicates that the "m_pkthdr.flowid" value is valid and has no particular type. This change removes the need for an "if" statement in TCP transmit code checking for the presence of a valid flowid value. The "if" statement mentioned above is now a direct variable assignment which is then later checked by the respective network drivers like before.
r275483: Remove M_FLOWID from SCTP code.
r276982: Remove no longer used "M_FLOWID" flag from mbuf.h and update the netisr manpage.
Note: The FreeBSD version has been bumped.
Reviewed by: hps, tuexen Sponsored by: Limelight Networks |
280018 |
15-Mar-2015 |
hselasky |
MFC r279865: Ensure setting promiscious mode when a network interface is up, is always non-blocking by not locking a SX type of mutex.
Sponsored by: Mellanox Technologies |
279731 |
07-Mar-2015 |
hselasky |
MFC r279584: Updates for the Mellanox ethernet driver
> List of fixes: * use correct format for GID printouts * double array indexing * spelling in printouts * void pointer arithmetic * allow more receive rings * correct maximum number of transmit rings * use "const" instead of "static" for constants * check for invalid VLAN tags * check for lack of IRQ resources > Added more hardware specific defines > Added more verbose printouts of firmware status codes
Sponsored by: Mellanox Technologies |
279014 |
19-Feb-2015 |
hselasky |
MFC r278856: The "frag_info" pointer is already pointing to an array index. Don't index twice.
Sponsored by: Mellanox Technologies |
277139 |
13-Jan-2015 |
hselasky |
MFC r276749: Fixes and updates for the Linux compatibility layer: - Remove unsupported "bus" field from "struct pci_dev". - Fix logic inside "pci_enable_msix()" when the number of allocated interrupts are less than the number of available interrupts. - Update header files included from "list.h". - Ensure that "idr_destroy()" removes all entries before destroying the IDR root node(s). - Set the "device->release" function so that we don't leak memory at device destruction. - Use FreeBSD's "log()" function for certain debug printouts. - Put parenthesis around arguments inside the min, max, min_t and max_t macros. - Make sure we don't leak file descriptors by dropping the extra file reference counts done by the FreeBSD kernel when calling falloc() and fget_unlocked().
MFC after: 1 week Sponsored by: Mellanox Technologies |
274043 |
03-Nov-2014 |
hselasky |
MFC r271946 and r272595: Improve transmit sending offload, TSO, algorithm in general. This change allows all HCAs from Mellanox Technologies to function properly when TSO is enabled. See r271946 and r272595 for more details about this commit.
Sponsored by: Mellanox Technologies |
273880 |
31-Oct-2014 |
hselasky |
MFC r273867: Fix compile warning by removing unused variable.
Sponsored by: Mellanox Technologies |
273879 |
31-Oct-2014 |
hselasky |
MFC r273593:
Update the network interface baudrate integer according to the actual line rate.
Sponsored by: Mellanox Technologies |
273736 |
27-Oct-2014 |
hselasky |
MFC r263710, r273377, r273378, r273423 and r273455:
- De-vnet hash sizes and hash masks. - Fix multiple issues related to arguments passed to SYSCTL macros.
Sponsored by: Mellanox Technologies |
273379 |
21-Oct-2014 |
hselasky |
MFC r272683: - Fix compile warning when compiling with GCC. - Add missed chunk in previous driver code MFC.
Sponsored by: Mellanox Technologies |
273246 |
18-Oct-2014 |
hselasky |
MFC r273135: Update the OFED Linux compatibility layer and Mellanox hardware driver(s):
- Properly name an inclusion guard - Fix compile warnings regarding unsigned enums - Add two new sysctl nodes - Remove all empty linux header files - Make an error printout more verbose - Use "mod_delayed_work()" instead of cancelling and starting a timeout. - Implement more Linux scatterlist functions.
Sponsored by: Mellanox Technologies |
272407 |
02-Oct-2014 |
hselasky |
MFC r272027:
Hardware driver update from Mellanox Technologies, including: - improved performance - better stability - new features - bugfixes
Supported HCAs: - ConnectX-2 - ConnectX-3 - ConnectX-3 Pro
NOTE: - TSO feature needs r271946, which is not yet merged.
Sponsored by: Mellanox Technologies Approved by: re, glebius |
271127 |
04-Sep-2014 |
hselasky |
MFC r270710 and r270821: - Update the OFED Linux Emulation layer as a preparation for a hardware driver update from Mellanox Technologies. - Remove empty files from the OFED Linux Emulation layer. - Fix compile warnings related to printf() and the "%lld" and "%llx" format specifiers. - Add some missing 2-clause BSD copyrights. - Add "Mellanox Technologies, Ltd." to list of copyright holders. - Add some new compatibility files. - Fix order of uninit in the mlx4ib module to avoid crash at unload using the new module_exit_order() function.
Sponsored by: Mellanox Technologies |
269862 |
12-Aug-2014 |
hselasky |
MFC r268316: Fix OFED startup order: All SYSINIT()'s and modules should be loaded prior to starting "/sbin/init" which will run all the "/etc/rc.d/xxx" scripts. Else there can be a race configuring the interfaces via "/etc/rc.conf".
Sponsored by: Mellanox Technologies |
269861 |
12-Aug-2014 |
hselasky |
MFC r268315: Fix compile warning.
Sponsored by: Mellanox Technologies |
269860 |
12-Aug-2014 |
hselasky |
MFC r268314: Fix some compile warnings.
Sponsored by: Mellanox Technologies |
261455 |
04-Feb-2014 |
eadler |
MFC r258779,r258780,r258787,r258822:
Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this shifts into the sign bit. Instead use (1U << 31) which gets the expected result.
Similar to the (1 << 31) case it is not defined to do (2 << 30).
This fix is not ideal as it assumes a 32 bit int, but does fix the issue for most cases.
A similar change was made in OpenBSD. |
260495 |
09-Jan-2014 |
dim |
MFC r260102:
Similar to r260020, only use -fms-extensions with gcc, for all other modules which require this flag to compile. Use a GCC_MS_EXTENSIONS variable, defined in kern.pre.mk, which can be used to easily supply the flag (or not), depending on the compiler type.
MFC r260322:
In addition to r260102, also define GCC_MS_EXTENSIONS in bsd.sys.mk, since kernel module builds do not use kern.pre.mk. |
260321 |
05-Jan-2014 |
dim |
Revert MFC of r260102 for now, until I can merge the required fix from head. This should fix building modules which require -fms-extensions to compile them with gcc. |
260268 |
04-Jan-2014 |
dim |
MFC r260020:
For sys/dev/drm2/radeon, only use -fms-extensions with gcc. This flag is only to stop gcc complaining about anonymous unions, which clang does not do. For clang 3.4 however, -fms-extensions enables the Microsoft __wchar_t type, which clashes with our own types.h.
MFC r260102:
Similar to r260020, only use -fms-extensions with gcc, for all other modules which require this flag to compile. Use a GCC_MS_EXTENSIONS variable, defined in kern.pre.mk, which can be used to easily supply the flag (or not), depending on the compiler type. |
259608 |
19-Dec-2013 |
alfred |
Defer start/stop port to workqueues.
MFC: 259411 |
258280 |
17-Nov-2013 |
alfred |
MFC: 258276
Fix creating a vlan over lagg over mlxen crash.
PR: 181931 Submitted by: Shahar Klein (shahark mellanox.com)
Approved by: re |
258242 |
17-Nov-2013 |
alfred |
MFC: 257542
Fix API mismatch exposed by lagg.
When destroying a lagg the driver tries to restore the old mac and fails due to API mismatch.
Submitted by: Shahar Klein (shahark at mellanox.com) Approved by: re |
257867 |
08-Nov-2013 |
alfred |
MFC: r257862, r257863, r257864
r257862:
Use explicit long cast to avoid overflow in bitopts.
This was causing problems with the buddy allocator inside of ofed.
r257863:
Fix for bad performance when mtu is increased.
Update the auto moderation behavior in the mlxen driver to match the new LINUX OFED code.
r257864:
Do not use a sleep lock when protecting the driver flags.
This was causing a locking issue with lagg.
Approved by: re |
256810 |
20-Oct-2013 |
alfred |
Fix resource free.
The order of releasing resources in mlxen was wrong, which caused panic on reload of the module.
MFC: 256682
Submitted by: Shahar Klein (shahark at mellanox.com) Approved by: re |
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
256269 |
10-Oct-2013 |
alfred |
Fix for When more than one NIC is present.
The device name was incorrect due to a specific function we ported from the Linux driver that is not FBSD compatible. This resulted with a false sysctl registration and some more problematic issues.
The patch basically revokes it all together.
Submitted by: Meny Yossefi (menyy mellanox.com)
Approved by: re
|
256179 |
09-Oct-2013 |
dim |
Remove redundant declaration of cmclass in sys/ofed/drivers/infiniband/core/ucm.c, to silence a gcc warning.
Approved by: re (kib) X-MFC-With: r255932
|
255973 |
01-Oct-2013 |
alfred |
Fixed kernel crash when running devinfo
When calling to ib_uverbs_cleanup_ucontext, there is a call to mutex_lock of xrcd_table_mutex, which was not initialized. Added missing initialization for xrcd_table_mutex.
Submitted by: Orit Moskovich (oritm mellanox.com)
Approved by: re
|
255972 |
01-Oct-2013 |
alfred |
Enable ib_dev.mmap function
Removed the ifdef linux from this function. Added stub function for contiguous pages to avoid compilation errors.
Submitted by: Orit Moskovich (oritm mellanox.com) Approved by: re
|
255970 |
01-Oct-2013 |
alfred |
Fixed 'Couldn't Create QP' issue when running rc_pingpong, uc_pingpong, srq_pingpong IBverbs
Removed refrences using 'ifdef __linux__' to qpg functions and related fields in struct ib_qp_init_attr.
Submitted by: Orit Moskovich (oritm mellanox.com)
Approved by: re
|
255969 |
01-Oct-2013 |
alfred |
Fixed kernel crash when removing IPOIB_CM option from configuration file
Changed module init from module_init() to module_init_order() with SI_ORDER_MIDDLE flag Submitted by: Orit Moskovich (oritm mellanox.com) Approved by: re
|
255932 |
29-Sep-2013 |
alfred |
Update OFED to Linux 3.7 and update Mellanox drivers.
Update the OFED Infiniband core to the version supplied in Linux version 3.7.
The update to OFED is nearly all additional defines and functions with the exception of the addition of additional parameters to ib_register_device() and the reg_user_mr callback.
In addition the ibcore (Infiniband core) and ipoib (IP over Infiniband) have both been made into completely loadable modules to facilitate testing of the OFED stack in FreeBSD.
Finally the Mellanox Infiniband drivers are now updated to the latest version shipping with Linux 3.7.
Submitted by: Mellanox FreeBSD driver team: Oded Shanoon (odeds mellanox.com), Meny Yossefi (menyy mellanox.com), Orit Moskovich (oritm mellanox.com)
Approved by: re
|
254832 |
25-Aug-2013 |
andre |
Change m->pkthdr.header to m->pkthdr.PH_loc.ptr after r254804 to transiently store pointers to packet headers.
Sponsored by: The FreeBSD Foundation
|
254576 |
20-Aug-2013 |
jhb |
Stop an ipoib interface before detaching it.
PR: kern/181225 Submitted by: Shahar Klein Obtained from: Mellanox MFC after: 1 week
|
254523 |
19-Aug-2013 |
andre |
Add m_clrprotoflags() to clear protocol specific mbuf flags at up and downwards layer crossings.
Consistently use it within IP, IPv6 and ethernet protocols.
Discussed with: trociny, glebius
|
253785 |
29-Jul-2013 |
jhb |
Add a missing prototype.
Pointy hat: me
|
253774 |
29-Jul-2013 |
jhb |
Various fixes to the mlxen(4) driver: - Remove an incorrect assertion that can trigger when downing an interface. - Stop the interface during detach to avoid panics when unloading the driver. - A few locking fixes to be more consistent with other FreeBSD drivers: - Protect if_drv_flags with the driver lock, not atomic ops - Hold the driver lock when adjusting multicast state. - Hold the driver lock while adjusting if_capenable.
PR: kern/180791 [1,2] Submitted by: Shakar Klein @ Mellanox [1,2] MFC after: 3 days
|
253653 |
25-Jul-2013 |
jhb |
Avoid trashing IP fragments: - Only enable UDP/TCP hardware checksums if CSUM_UDP or CSUM_TCP is set. - Only enable IP hardware checksums if CSUM_IP is set.
PR: kern/180430 Submitted by: Meny Yossefi <menyy@mellanox.com> MFC after: 1 week
|
253449 |
18-Jul-2013 |
jhb |
Rework the previous fix for the IB vs Ethernet sysctl handler to be more generic and apply to all sysfs attributes: - Use sysctl_handle_string() instead of reimplementing it. - Remove trailing newline from the current value before passing it to userland and append a newline to the new string value before passing it to the attribute's store function. - Don't leak the temporary buffer if the first error check triggers. - Revert earlier change to mlx4 port mode handler.
PR: kern/174213 Submitted by: Garrett Cooper Reviewed by: Shakar Klein @ Mellanox MFC after: 1 week
|
253423 |
17-Jul-2013 |
jhb |
Remove check forbidding requests that would result in one port being set to Ethernet and the subsequent port being set to IB.
Submitted by: Shakar Klein @ Mellanox Tested by: Morgan Robertson <morganrobertson@gmail.com> MFC after: 1 week
|
253048 |
08-Jul-2013 |
jhb |
Allow mlx4 devices to switch from Ethernet to Infiniband (and vice versa): - Fix sysctl wrapper for sysfs attributes to properly handle new string values similar to sysctl_handle_string() (only copyin the user's supplied length and nul-terminate the string). - Don't check for a trailing newline when evaluating the desired operating mode of a mlx4 device.
PR: kern/179999 Submitted by: Shahar Klein <shahark@mellanox.com> MFC after: 1 week
|
250460 |
10-May-2013 |
eadler |
Fxi a bunch of typos.
PR: misc/174625 Submitted by: Jeremy Chadwick <jdc@koitsu.org>
|
249976 |
27-Apr-2013 |
glebius |
Add const qualifier to the dst parameter of the ifnet if_output method.
|
249066 |
03-Apr-2013 |
jhb |
Check for SS_NBIO in the socket state field rather than socket buffer flags.
Submitted by: Vijay Singh MFC after: 1 week
|
248084 |
09-Mar-2013 |
attilio |
Switch the vm_object mutex to be a rwlock. This will enable in the future further optimizations where the vm_object lock will be held in read mode most of the time the page cache resident pool of pages are accessed for reading purposes.
The change is mostly mechanical but few notes are reported: * The KPI changes as follow: - VM_OBJECT_LOCK() -> VM_OBJECT_WLOCK() - VM_OBJECT_TRYLOCK() -> VM_OBJECT_TRYWLOCK() - VM_OBJECT_UNLOCK() -> VM_OBJECT_WUNLOCK() - VM_OBJECT_LOCK_ASSERT(MA_OWNED) -> VM_OBJECT_ASSERT_WLOCKED() (in order to avoid visibility of implementation details) - The read-mode operations are added: VM_OBJECT_RLOCK(), VM_OBJECT_TRYRLOCK(), VM_OBJECT_RUNLOCK(), VM_OBJECT_ASSERT_RLOCKED(), VM_OBJECT_ASSERT_LOCKED() * The vm/vm_pager.h namespace pollution avoidance (forcing requiring sys/mutex.h in consumers directly to cater its inlining functions using VM_OBJECT_LOCK()) imposes that all the vm/vm_pager.h consumers now must include also sys/rwlock.h. * zfs requires a quite convoluted fix to include FreeBSD rwlocks into the compat layer because the name clash between FreeBSD and solaris versions must be avoided. At this purpose zfs redefines the vm_object locking functions directly, isolating the FreeBSD components in specific compat stubs.
The KPI results heavilly broken by this commit. Thirdy part ports must be updated accordingly (I can think off-hand of VirtualBox, for example).
Sponsored by: EMC / Isilon storage division Reviewed by: jeff Reviewed by: pjd (ZFS specific review) Discussed with: alc Tested by: pho
|
246581 |
09-Feb-2013 |
delphij |
Fix LINT build on amd64.
|
246482 |
07-Feb-2013 |
rrs |
This fixes a out-of-order problem with several of the newer drivers. The basic problem was that the driver was pulling the mbuf off the drbr ring and then when sending with xmit(), encounting a full transmit ring. Thus the lower layer xmit() function would return an error, and the drivers would then append the data back on to the ring. For TCP this is a horrible scenario sure to bring on a fast-retransmit.
The fix is to use drbr_peek() to pull the data pointer but not remove it from the ring. If it fails then we either call the new drbr_putback or drbr_advance method. Advance moves it forward (we do this sometimes when the xmit() function frees the mbuf). When we succeed we always call advance. The putback will always copy the mbuf back to the top of the ring. Note that the putback *cannot* be used with a drbr_dequeue() only with drbr_peek(). We most of the time, in putback, would not need to copy it back since most likey the mbuf is still the same, but sometimes xmit() functions will change the mbuf via a pullup or other call. So the optimial case for the single consumer is to always copy it back. If we ever do a multiple_consumer (for lagg?) we will need a test and atomic in the put back possibly a seperate putback_mc() in the ring buf.
Reviewed by: jhb@freebsd.org, jlv@freebsd.org
|
243882 |
05-Dec-2012 |
glebius |
Mechanically substitute flags from historic mbuf allocator with malloc(9) flags within sys.
Exceptions:
- sys/contrib not touched - sys/mbuf.h edited manually
|
242933 |
12-Nov-2012 |
dim |
Redo r242842, now actually fixing the warnings, as follows: - In sys/ofed/drivers/infiniband/core/cma.c, an enum struct member is interpreted as an int, so cast it to an int. - In sys/ofed/drivers/infiniband/core/ud_header.c, initialize the packet_length variable in ib_ud_header_init(), to prevent undefined behaviour. - In sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c, call rdma_notify() with the correct enum type and value. - In sys/ofed/include/linux/pci.h, change the PCI_DEVICE and PCI_VDEVICE macros to use C99 struct initializers, so additional members can be overridden.
Reviewed by: delphij, Garrett Cooper <yanegomi@gmail.com> MFC after: 1 week
|
241844 |
22-Oct-2012 |
eadler |
remove duplicate semicolons where possible.
Approved by: cperciva MFC after: 1 week
|
241696 |
18-Oct-2012 |
jhb |
Use if_initbaudrate().
|
241037 |
28-Sep-2012 |
glebius |
The drbr(9) API appeared to be so unclear, that most drivers in tree used it incorrectly, which lead to inaccurate overrated if_obytes accounting. The drbr(9) used to update ifnet stats on drbr_enqueue(), which is not accurate since enqueuing doesn't imply successful processing by driver. Dequeuing neither mean that. Most drivers also called drbr_stats_update() which did accounting again, leading to doubled if_obytes statistics. And in case of severe transmitting, when a packet could be several times enqueued and dequeued it could have been accounted several times.
o Thus, make drbr(9) API thinner. Now drbr(9) merely chooses between ALTQ queueing or buf_ring(9) queueing. - It doesn't touch the buf_ring stats any more. - It doesn't touch ifnet stats anymore. - drbr_stats_update() no longer exists.
o buf_ring(9) handles its stats itself: - It handles br_drops itself. - br_prod_bytes stats are dropped. Rationale: no one ever reads them but update of a common counter on every packet negatively affects performance due to excessive cache invalidation. - buf_ring_enqueue_bytes() reduced to buf_ring_enqueue(), since we no longer account bytes.
o Drivers handle their stats theirselves: if_obytes, if_omcasts.
o mlx4(4), igb(4), em(4), vxge(4), oce(4) and ixv(4) no longer use drbr_stats_update(), and update ifnet stats theirselves.
o bxe(4) was the most correct driver, it didn't call drbr_stats_update(), thus it was the only driver accurate under moderate load. Now it also maintains stats itself.
o ixgbe(4) had already taken stats from hardware, so just - drop software stats updating. - take multicast packet count from hardware as well.
o mxge(4) just no longer needs NO_SLOW_STATS define.
o cxgb(4), cxgbe(4) need no change, since they obtain stats from hardware.
Reviewed by: jfv, gnn
|
240082 |
04-Sep-2012 |
melifaro |
Remove unneeded ipfw headers introduced in r213447 from Infiniband code.
MFC after: 2 weeks
|
237263 |
19-Jun-2012 |
np |
- Updated TOE support in the kernel.
- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs. These are available as t3_tom and t4_tom modules that augment cxgb(4) and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as usual with or without these extra features.
- iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the works and will follow soon.
Build-tested with make universe.
30s overview ============ What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the capabilities of an interface: # ifconfig -m | grep TOE
Enable/disable TCP offload on an interface (just like any other ifnet capability): # ifconfig cxgbe0 toe # ifconfig cxgbe0 -toe
Which connections are offloaded? Look for toe4 and/or toe6 in the output of netstat and sockstat: # netstat -np tcp | grep toe # sockstat -46c | grep toe
Reviewed by: bz, gnn Sponsored by: Chelsio communications. MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible)
|
234946 |
03-May-2012 |
melifaro |
Revert r234834 per luigi@ request.
Cleaner solution (e.g. adding another header) should be done here.
Original log: Move several enums and structures required for L2 filtering from ip_fw_private.h to ip_fw.h. Remove ipfw/ip_fw_private.h header from non-ipfw code.
Requested by: luigi Approved by: kib(mentor)
|
234834 |
30-Apr-2012 |
melifaro |
Move several enums and structures required for L2 filtering from ip_fw_private.h to ip_fw.h. Remove ipfw/ip_fw_private.h header from non-ipfw code.
Approved by: ae(mentor) MFC after: 2 weeks
|
234618 |
23-Apr-2012 |
bz |
Do not announce IPv6 TSO support yet. The driver seems to make assumptions based on IPv4 header parsing only.
MFC after: 1 week
|
234183 |
12-Apr-2012 |
jhb |
Add OFED and the associated options and drivers to x86 LINT builds: - Mark 'sdp' as requiring 'inet'. - Always include "opt_inet.h" and "opt_inet6.h" and modify the IB driver Makefiles to honor WITH/WITHOUT_INET/INET6/_SUPPORT options to determine what should be enabled during a module build. - Fix the mlxen(4) driver and the core IB code to compile without if INET is disabled (including when both INET and INET6 are disabled).
Reviewed by: bz MFC after: 2 weeks
|
234182 |
12-Apr-2012 |
jhb |
Don't update if_obytes when transmitting packets. That is already done in IFQ_HANDOFF() when the packet is passed to the start routine, so doing it here resulted in double counting.
Reported by: Alex Tutubalin lexa lexa ru MFC after: 1 week
|
234099 |
10-Apr-2012 |
jhb |
Properly parse 40G media types from newer Mellanox adapters that are 40G capable. For now, map all 40G links to 40GBase-CR4.
MFC after: 2 weeks
|
233870 |
04-Apr-2012 |
jhb |
Fix build on i386.
|
233198 |
19-Mar-2012 |
jhb |
Fix build of OFED bits with debugging options enabled.
|
233040 |
16-Mar-2012 |
jhb |
Fix build with INET6 disabled.
|
230135 |
15-Jan-2012 |
uqs |
Remove spurious 8bit chars, turning files into plain ASCII.
|
227309 |
07-Nov-2011 |
ed |
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
|
227293 |
07-Nov-2011 |
ed |
Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.
This means that their use is restricted to a single C file.
|
226436 |
16-Oct-2011 |
eadler |
- change "is is" to "is" or "it is" - change "the the" to "the"
Approved by: lstewart Approved by: sahil (mentor) MFC after: 3 days
|
222330 |
26-May-2011 |
delphij |
In ipoib_cm_handle_rx_wc(): Count incoming packets and bytes toward incoming counters.
Reviewed by: jeff
|
220555 |
12-Apr-2011 |
bz |
Even though this block is not compiled currently, properly assign CSUM_TSO to if_hwassist rather than if_capabilities to avoid future errors.
Reviewed by: jeff
|
220016 |
26-Mar-2011 |
jeff |
- Implement wake-on-lan support in mlxen.
|
219893 |
23-Mar-2011 |
jeff |
- Correct the vlan filter programming. The device filter is built in reverse order. - Name the cq taskqueues according to whether they handle rx or tx. - Default LRO to on.
|
219859 |
22-Mar-2011 |
jeff |
- Don't use a separate set of rx queues for UDP, hash them into the same set as TCP. - Eliminate the fully linear non-scatter/gather rx path, there is no harm in using arrays of clusters for both TCP and UDP. - Implement support for enabling/disabling per-vlan priority pause and queues via sysctl.
|
219846 |
21-Mar-2011 |
kib |
Allow the ofed modules to be compiled on i386.
Reviewed by: jeff
|
219820 |
21-Mar-2011 |
jeff |
- Merge in OFED 1.5.3 from projects/ofed/head
|