aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/iavf
Commit message (Collapse)AuthorAgeFilesLines
* iavf: use newly exposed RSS hash key API rather than ad-hoc hashingAndrew Gallatin2025-11-222-12/+0
| | | | | Differential Revision: https://reviews.freebsd.org/D53095 Sponsored by: Netflix
* machine/stdarg.h -> sys/stdarg.hBrooks Davis2025-06-113-3/+3
| | | | | | | | | | | | | Switch to using sys/stdarg.h for va_list type and va_* builtins. Make an attempt to insert the include in a sensible place. Where style(9) was followed this is easy, where it was ignored, aim for the first block of sys/*.h headers and don't get too fussy or try to fix other style bugs. Reviewed by: imp Exp-run by: antoine (PR 286274) Pull Request: https://github.com/freebsd/freebsd-src/pull/1595
* pci: Don't cache the count of MSI/MSI-X messages before allocationJohn Baldwin2025-02-113-29/+0
| | | | | | | | | | | | | | | | A device can in theory change the read-only fields in the MSI/MSI-X control registers that indicate the maximum number of supported registers in response to changing other device registers. For example, certain Intel networking VFs change the number of messages as a result of changes in the PCI_IOV_ADD_VF callback. To support this, always read the current value of the relevant control register in the *_count and *_alloc methods. Once messages have been allocated, the control register value remains cached. Reported by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reviewed by: Krzysztof Galazka <krzysztof.galazka@intel.com>, erj Differential Revision: https://reviews.freebsd.org/D48890
* iavf(4): Get MSI-X BAR index at runtime instead of hardcoding itEric Joyner2024-10-312-5/+6
| | | | | | | | | | This allows iavf to load on E830 devices since those devices place their MSI-X BAR at a different location than in previous 800 series products. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D46952
* Fix enum warning in iavfDimitry Andric2024-07-311-1/+1
| | | | | | | | | | | | | | | This fixes a clang 19 warning: sys/dev/iavf/iavf_lib.c:514:39: error: comparison of different enumeration types ('enum virtchnl_vsi_type' and 'enum iavf_vsi_type') [-Werror,-Wenum-compare] 514 | if (sc->vf_res->vsi_res[i].vsi_type == IAVF_VSI_SRIOV) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~ The `vsi_type` field of `struct virtchnl_vsi_resource` is of type `enum virtchnl_vsi_type`, not `enum iavf_vsi_type`. In this case, we can seamlessly replace the value with `VIRTCHNL_VSI_SRIOV`, which is numerically equal to `IAVF_VSI_SRIOV`. MFC after: 3 days
* iavf: Add explicit ifdi_needs_reset for VLAN changesKevin Bowling2023-08-241-0/+21
| | | | | | | | | | | | | | In rS360398, a new iflib device method was added with default of opt out for VLAN events needing an interface reset. iavf(4) was the original need for this, because VLAN filter changes currently have negative interactions with Malicious Driver Detection. Add iavf_if_needs_restart and explicitly enable VLAN re-init. MFC after: 2 weeks Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D41558
* iavf: remove compatibility code and address some warningsPiotr Kubaj2023-08-234-41/+12
| | | | | | | | | Code for pre-11 FreeBSD versions is removed. Also removed are macros that are not used anymore and "i" variable does not shadow anymore other "i" variable. Differential Revision: https://reviews.freebsd.org/D41547 Approved by: erj
* iflib drivers: Constify PCI ID LUTsMarius Strobl2023-08-171-1/+1
| | | | | | | | Since d49e83eac3baf16a22b1c5d42e8438b68b17e6f9, iflib(9) is ready for this change. While at it, make isc_driver_version strings (static) const where not apparently un-const on purpose, too. This reduces the size of the amd64 GENERIC by about 10 KiB.
* sys: Remove $FreeBSD$: one-line .c comment patternWarner Losh2023-08-1627-27/+0
| | | | Remove /^/[*/]\s*\$FreeBSD\$.*\n/
* iavf: purge EOL release compatibilityElliott Mitchell2023-02-042-19/+0
| | | | | | | | Drop code that differentiated between FreeBSD 10 and 11 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560
* Mechanically convert iavf(4) to IfAPIJustin Hibbits2023-01-244-9/+9
| | | | | | Reviewed by: erj Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37858
* iavf/ice/ixl: Remove unused devclass arguments to DRIVER_MODULE.John Baldwin2022-05-061-2/+1
|
* iavf: Quite set but not used warnings.John Baldwin2022-04-061-6/+3
| | | | | | Move declaration of dev in iavf_if_attach_post under #ifdef IXL_DEBUG. Remove unused ifp in iavf_stop.
* net: iflib: fix vlan processing in the driversVincenzo Maffione2021-12-281-8/+5
| | | | | | | | | | | | | | The logic that sets iri_vtag and M_VLANTAG does not handle the case where the 802.11q VLAN tag is 0. Fix this issue across the iflib drivers. While there, also improve and align the VLAN tag check extraction, by moving it outside the RX descriptor loop, eliminating a local variable and additional checks. PR: 260068 Reviewed by: kbowling, gallatin Reported by: erj MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D33156
* net: iflib: let the drivers use isc_capenableVincenzo Maffione2021-12-281-1/+2
| | | | | | | | | | | | | Since isc_capenable (private copy of ifp->if_capenable) is now synchronized to if_capenable, use it in the drivers when checking the IFCAP_* bits. This results in better cache usage and avoids indirection through the ifp pointer. PR: 260068 Reviewed by: kbowling, gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D33156
* iavf(4): Include RSS header file when RSS is definedEric Joyner2021-12-031-0/+3
| | | | | | | | | | This should unbreak the kernel build when "options RSS" is defined in the kernel configuration, and make the feature work. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reported by: adrian@ Sponsored by: Intel Corporation
* iavf(4): Split source and update to 3.0.26-kEric Joyner2021-11-2427-0/+13507
The iavf(4) driver now uses a different source base from ixl(4), since it will be the standard VF driver for new Intel Ethernet products going forward, including ice(4). It continues to use the iflib framework for network drivers. Since it now uses a different source code base, this commit adds a new sys/dev/iavf entry, but it re-uses the existing module name so no configuration changes are necessary. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: kbowling@ Tested by: lukasz.szczepaniak@intel.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D28636