aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mlx5/vport.h
Commit message (Collapse)AuthorAgeFilesLines
* mlx5en: Fix for inlining issues in transmit pathSlava Shwartsman2018-12-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Don't exceed the drivers own hardcoded TX inline limit. The blueflame register size can be much greater than the hardcoded limit for inlining. Make sure we don't exceed the drivers own limit, because this also means that the maximum number of TX fragments becomes invalid and then memory size assumptions in the TX path no longer hold up. 2) Make sure the mlx5_query_min_inline() function returns an error code. 3) Header inlining is required when using TSO. 4) Catch failure to compute inline header size for TSO. 5) Add support for UDP when computing inline header size. 6) Fix for inlining issues with regards to DSCP. Make sure we inline 4 bytes beyond the ethernet and/or VLAN header to workaround a hardware bug extracting the DSCP field from the IPv4/v6 header. Submitted by: hselasky@ Approved by: hselasky (mentor) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=341579
* Do not inline transmit headers and use HW VLAN tagging if supported by ↵Hans Petter Selasky2018-07-181-0/+12
| | | | | | | | | | | | | | | | | | mlx5en(4). Query the minimal inline mode supported by the card. When creating a send queue, cache the queried mode and optimize the transmit if no inlining is required. In this case, we can avoid touching the headers cache line and avoid dirtying several more lines by copying headers into the send WQEs. Also, if no inline headers are used, hardware assists in the VLAN tag framing. Submitted by: kib@, slavash@ MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=336450
* Add API function to query port performance counters for infiniband and RoCEHans Petter Selasky2017-11-101-0/+2
| | | | | | | | | | traffic in mlx5 core. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325657
* Add API functions to query and modify local loopback of multicast andHans Petter Selasky2017-11-101-0/+10
| | | | | | | | | | unicast traffic in mlx5 core. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325656
* Add API function to query virtual port counters in mlx5 core.Hans Petter Selasky2017-11-101-1/+4
| | | | | | | | Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325655
* Update the MLX5 core module:Hans Petter Selasky2016-09-161-25/+49
| | | | | | | | | | | | - Add new firmware commands and update existing ones. - Add more firmware related structures and update existing ones. - Some minor fixes, like adding missing \n to some prints. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=305867
* Add SR-IOV guest support to the mlx5en driver.Hans Petter Selasky2016-06-071-0/+28
| | | | | | | | | | | | This patch adds the missing pieces needed for device setup using the mlx5en driver inside a virtual machine which is providing hardware access through SR-IOV. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=301545
* Update the mlx5 shared driver code to the latest version, whichHans Petter Selasky2015-12-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | include the following list of changes: - Added eswitch ACL table management Introduce API for managing ACL table. This API include the following features: 1) vlan filter - for VST/VGT+ support. 2) spoofcheck. 3) robust functionality to allow/drop general untagged/tagged traffic. 4) support for both ingress and egress ACL types. - Added loopback filter to the vacl table. - Added multicast list set in the vPort context - Added promiscuous mode set in the vPort context - Set the vlan list in vPort context 1) Check caps if VLAN list is not longer than FW supports 2) Set MODIFY_NIC_VPORT_CONTEXT command - Changed MLX5_EEPROM_MAX_BYTES from 48 to 32 so that a single EEPROM reading cannot cross the 128-byte boundary. Previously reading the MCIA register was done in batches of 48 bytes. The third reading would then by-pass the 127th byte, which means that part of the low page and part of the high page would be read at the same time, which created a bug: 1st: 0-47 bytes 2nd: 48-95 bytes 3rd: 96-143 bytes MFC after: 1 week Sponsored by: Mellanox Technologies Differential Revision: https://reviews.freebsd.org/D4411 Notes: svn path=/head/; revision=291939
* Add mlx5 and mlx5en driver(s) for ConnectX-4 and ConnectX-4LX cardsHans Petter Selasky2015-11-101-0/+74
from Mellanox Technologies. The current driver supports ethernet speeds up to and including 100 GBit/s. Infiniband support will be done later. The code added is not compiled by default, which will be done by a separate commit. Sponsored by: Mellanox Technologies MFC after: 2 weeks Notes: svn path=/head/; revision=290650