369202 |
02-Feb-2021 |
donner |
ixl: Permit 802.1ad frames to pass though the chip
This patch is a quick hack to change the internal Ethertype used within the chip. All frames with this type are dropped silently. This patch allows you to overwrite the factory default 0x88a8, which is used by IEEE 802.1ad VLAN stacking.
Reviewed by: kp, philip, brueffer Approved by: philip (mentor) Differential Revision: https://reviews.freebsd.org/D24179
(cherry-picked from commit fa6662b3689eeb71cb63c2b230ca08e7342cabf0)
Git Hash: 9c40fca6c809e845341aade54307f9fc84627480 Git Author: donner@FreeBSD.org |
360304 |
25-Apr-2020 |
dim |
MFC r348445 (by lwhsu):
Add the missing braces to fix the code not guarded by the if clause and has misleading indentation. This is found by gcc -Wmisleading-indentation
Approved by: erj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20428 |
349163 |
18-Jun-2019 |
erj |
ixl(4)/ixlv(4): Update Intel XL710 PF and VF drivers to ixl-1.11.9 and ixlv-1.5.8
Update the legacy (non-iflib) drivers in stable/11 with recent changes from the Intel out-of-tree version.
Major changes:
- Support for new BASE-T device with additional link speeds (2.5G and 5G) and EEE - Additional I2C access methods backported from ixl-iflib - FW LLDP Agent control with sysctl added for X722 devices (this already existed for 710 devices) - MAC/VLAN filters handling has been refactored - Building and loading if_ixlv as a KLD has been fixed
This is not a MFC since the driver in 12/13 uses iflib, and the decision was made to not use it in FreeBSD 11 releases.
Submitted by: Krzysztof Galazka <krzysztof.galazka@intel.com> Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D20290 |
344105 |
13-Feb-2019 |
marius |
MFC: r343372
ixl(4): Fix handling data passed with ioctl from NVM update tool
From Krzysztof:
Ensure that the entire data buffer passed from the NVM update tool is copied in to kernel space and copied back out to user space using copyin() and copyout().
PR: 234104 Submitted by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reported by: Finn <ixbug@riseup.net> Differential Revision: https://reviews.freebsd.org/D18817 |
343559 |
29-Jan-2019 |
vmaffione |
ixl: remove unnecessary limitations related to netmap
Netmap supports the case where TX rings and RX rings have different size. Remove unnecessary limitations related to netmap support, making the code simpler. Also, check that the value of the hw head index written back from the NIC is valid.
Reviewed by: erj Differential Revision: https://reviews.freebsd.org/D18984 |
341477 |
04-Dec-2018 |
vmaffione |
MFC r339639
netmap: align codebase to the current upstream (sha 8374e1a7e6941)
Changelist: - Move large parts of VALE code to a new file and header netmap_bdg.[ch]. This is useful to reuse the code within upcoming projects. - Improvements and bug fixes to pipes and monitors. - Introduce nm_os_onattach(), nm_os_onenter() and nm_os_onexit() to handle differences between FreeBSD and Linux. - Introduce some new helper functions to handle more host rings and fake rings (netmap_all_rings(), netmap_real_rings(), ...) - Added new sysctl to enable/disable hw checksum in emulated netmap mode. - nm_inject: add support for NS_MOREFRAG
Approved by: gnn (mentor) Differential Revision: https://reviews.freebsd.org/D17364 |
333343 |
07-May-2018 |
erj |
MFC r333149: ixl(4): Update to 1.9.9-k
Major changes:
- Support for descriptor writeback mode (required by ixlv(4) for AVF support) - Ability to disable firmware LLDP agent by user - Fix for TX queue hang when using TSO - Separate descriptor ring sizes for TX and RX rings
Approved by: re (marius) Relnotes: yes Sponsored by: Intel Corporation |
333331 |
07-May-2018 |
erj |
MFC r319797, r320972:
r319797: ixl(4)/ixlv(4): Fix some busdma tags and improper map NULL.
r320972: ixl(4)/ixlv(4): Stop leaking every busdma entry in receive path
Approved by: re (marius) |
332288 |
08-Apr-2018 |
brooks |
MFC r331797:
Use an accessor function to access ifr_data.
This fixes 32-bit compat (no ioctl command defintions are required as struct ifreq is the same size).
Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14900 |
323211 |
06-Sep-2017 |
rlibby |
MFC r320977:
ixl: gcc build errors |
318357 |
16-May-2017 |
erj |
MFC r313497: ixl(4): Update to 1.7.12-k.
Refresh upstream driver before impending conversion to iflib.
Major new features:
- Support for Fortville-based 25G adapters - Support for I2C reads/writes
(To prevent getting or sending corrupt data, you should set dev.ixl.0.debug.disable_fw_link_management=1 when using I2C [this will disable link!], then set it to 0 when done. The driver implements the SIOCGI2C ioctl, so ifconfig -v works for reading I2C data, but there are read_i2c and write_i2c sysctls under the .debug sysctl tree [the latter being useful for upper page support in QSFP+]).
- Addition of an iWARP client interface (so the future iWARP driver for X722 devices can communicate with the base driver). - Add "options IXL_IW" to kernel config to enable this option.
Sponsored by: Intel Corporation |
303967 |
11-Aug-2016 |
sbruno |
MFC r303816 r303847 - Update ixl(4) to Intel driver version ixl-1.6.6-k - Fixup RSS builds of ixl(4) missed during testing.
Approved by: re (gjb) |
302408 |
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
302384 |
07-Jul-2016 |
sbruno |
Do not initialize the adapter on MTU change when adapter status is down. This fixes long-standing problems when changing settings of the adapter.
Discussed in: https://lists.freebsd.org/pipermail/freebsd-net/2016-June/045509.html
Submitted by: arnaud.ysmal@stormshield.eu Reviewed by: erj@freebsd.org Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D7030
|
301538 |
07-Jun-2016 |
sephe |
net: Use M_HASHTYPE_OPAQUE_HASH if the mbuf flowid has hash properties
Reviewed by: hps, erj, tuexen Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D6688
|
300927 |
29-May-2016 |
ngie |
Delete duplicate declaration for i40e_blink_phy_link_led(..)
It was already declared on line 90
Differential Revision: https://reviews.freebsd.org/D6570 Reported by: gcc Reviewed by: sbruno Sponsored by: EMC / Isilon Storage Division
|
300444 |
23-May-2016 |
adrian |
[ixl] fix build for RSS.
Untested.
|
299556 |
12-May-2016 |
erj |
ixl: Re-add a change to TC0 setup made in D5203.
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299555 |
12-May-2016 |
erj |
ixl: Update to 1.4.27-k.
Changes:
Kevin Scott i40e-shared: Save off VSI resource count when updating VSI Anjali Singhai Jain i40e-shared: Expose some registers to program parser, FD and RSS logic Eric Joyner ixl: Fix errors in queue interrupt setup in MSIX mode. Shannon Nelson i40e-shared: implement and use rx ctl helper functions Shannon Nelson i40e-shared: don't use AQ calls from clear_hw Eric Joyner ixl: Use rx ctl read/write functions instead of register accesses in certain places. Shannon Nelson i40e-shared: add adminq commands for rx ctl registers Shannon Nelson i40e-shared: implement and use rx ctl helper functions Jeremiah Kyle i40e-shared: Corrected function name in comment block Deepthi Kavalur i40e-shared: correcting a HW capability display info Shannon Nelson i40e-shared: fixups for (Linux) upstream consistency Eric Joyner ixl: Only stop firmware's LLDP agent on older firmware versions.
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299554 |
12-May-2016 |
erj |
ixl: Update to 1.4.24-k.
Changes by author:
Eric Joyner ixl: Fix compile error when IXL_DEBUG is defined. Eric Joyner ixl: Fix taskqueues created in init() not being freed in stop(). Eric Joyner ixl: Add additional debug sysctls, for Tx and Rx queue stats. Eric Joyner ixl: Enable dynamic itr by default. Eric Joyner ixl: Edit spacing, comments, function signatures (to conform to style(9)). Eric Joyner ixl: Check for errors when tearing down msix interrupts. Eric Joyner ixl: Remove unnecessary register reads/writes. Eric Joyner ixl: Remove admin queue interrupt enable from general interrupt enable. Eric Joyner ixl: Update switch config after teardown/reset flow in init(). Eric Joyner ixl: Add additional admin queue error code output to admin queue call errors. Eric Joyner ixl: Don't destroy i40e spinlock if it's already uninitialized. Shannon Nelson i40e-shared: clean event descriptor before use Anjali Singhai Jain i40e-shared: When in promisc mode apply promisc mode to Tx Traffic as well Kevin Scott i40e_shared: Increase timeout when checking GLGEN_RSTAT_DEVSTATE bit Eric Joyner ixlv: Fix IXL_DEBUG compile issue. Eric Joyner ixlv: Attempt to fix panic/other issues when rapidly unloading/loading driver. Eric Joyner ixl/ixlv: Revert m_collapse() in ixl_xmit() to m_defrag(). Deepthi Kavalur i40e_shared: Trace logging HW capabilities Eric Joyner ixlv: Correctly unlock/relock around init() call in vc_completion(). Eric Joyner ixl: Stop preventing changing flow control mode for CR4 media. Eric Joyner ixl: Set IPv6 TCP offload flag when doing TSO.
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299553 |
12-May-2016 |
erj |
ixl: Update to 1.4.20-k.
Changes by author:
Eric Joyner ixl: Add more error messages/checks to ixl_vsi_assign_msix(). Eric Joyner ixl/ixlv: Clarify a comment about descriptors. Eric Joyner ixl/ixlv: Improve i40e_debug() implementation. Eric Joyner ixl/ixlv: Remove unused ASSERT() macro; move struct around. Eric Joyner ixl: Set initial advertised speed value in init_locked(). Eric Joyner ixl: Fix flow control sysctl value being stored when new value is invalid. Eric Joyner Edit comments and spacing. Carolyn Wyborny i40e-shared: Add functions to blink led on Coppervale PHY Eric Joyner ixl: Re-do interrupt setup. Eric Joyner ixl: Remove VFLR task setup from legacy flow. Eric Joyner ixl: Shutdown/setup HMC when handling an EMPR reset.
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299552 |
12-May-2016 |
erj |
ixl: Update to 1.4.17-k.
Changes:
Kiran Patil i40e-shared: APIs to Add/remove port mirroring rules Shannon Nelson i40e-shared: add VEB stat control and remove L2 cloud filter Eric Joyner ixl: Update NVM version information shown. Eric Joyner ixl: Remove empty else block. Eric Joyner ixl: Slightly re-work ixl_init_msix(). Eric Joyner ixl: Remove duplicate queue enablement. Shannon Nelson i40e-shared: implement the API function for aq_set_switch_config Eric Joyner ixl: Update nvm version string shown in sysctl. Eric Joyner ixl/ixlv: Changes to PF/VF minor version checking/handling. Eric Joyner ixlv: Reduce maximum wait time for responses to VF AQ messages. Eric Joyner ixl/ixlv: Edit comments, comment out code, and edit spacing. Eric Joyner ixl: Print log message when SR-IOV init is successful. Eric Joyner ixl: Add Tx Flow Control filter from main PF VSI. Eric Joyner ixlv: Add extra error message when ixlv_get_vf_config times out. Eric Joyner ixl: Assign current MOCS optics the XLPPI media type. Eric Joyner ixl: Remove conditional wait after link status event. Eric Joyner ixl: Add line break and remove extraneous return statement. Eric Joyner ixl: Allow 40G speeds in the advertise_speed sysctl. Eric Joyner ixl: Add "CRC enable" field to link_status sysctl output. Eric Joyner ixl: Move sbuf.h include out of IXL_DEBUG* defines. Eric Joyner ixl: Move remaining debug sysctl funcs to IXL_DEBUG_SYSCTL define. Eric Joyner ixl: Add cases for all remaining media types in shared code to media_status().
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299551 |
12-May-2016 |
erj |
ixl: Update to 1.4.13-k.
Changes:
Shannon Nelson i40e-shared: set shared bit for multicast filters Piotr Raczynski i40e-shared: Bump AQ minor version for FVL/FPK Eric Joyner ixl: Remove call to i40e_aq_set_mac_config() in init path. Eric Joyner ixl: Always add interface mac address to driver+hw filter list. Eric Joyner ixl: Edit comments. Eric Joyner ixl: Add more descriptive sysctl help messages. Eric Joyner ixl: Report more info in link_status sysctl. Eric Joyner ixl: Flip set_aq_phy_int_mask mask bits.
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299549 |
12-May-2016 |
erj |
ixl: Update to 1.4.12-k.
Changes by author:
Eric Joyner ixl: Remove substitution of EACCES for EPERM when perrno is set on an nvmupdate command return. Eric Joyner ixl: Print message when hardware sends GRST interrupt. Eric Joyner ixl: Fix kernel panic when driver fails to initialize admin queue. Eric Joyner ixl: Print out messages when a non-handled other interrupt occurs. Eric Joyner ixl: Fix spaces in a couple messages. Eric Joyner ixl: Add lock around nvmupd command entry point and reconvert EPERM errors to EACCES. Anjali Singhai Jain i40e-shared: Make some changes in the nvm read code Shannon Nelson i40e-shared: AQ Add Run PHY Activity struct Shannon Nelson i40e-shared: AQ Add Geneve cloud tunnel type Shannon Nelson i40e-shared: AQ Add external power class to get link status response struct Shannon Nelson i40e-shared: AQ Add shared resource flags for macvlan filters Shannon Nelson i40e-shared: AQ Add set_switch_config Shannon Nelson i40e-shared: AQ Add VXLAN-GPE tunnel type for cloud filter and tunnel commands Shannon Nelson i40e-shared: AQ thermal sensor control struct Shannon Nelson i40e-shared: Bump AQ minor version to 1.5 for FVL5 features Shannon Nelson i40e-shared: add a little more to an NVM update debug message Carolyn Wyborny i40e-shared: Fix for PHY NVM interaction problem Eric Joyner i40e-shared: Add prototypes for private NVM write functions Eric Joyner ixl/ixlv: Remove unused define from ixl.h. Eric Joyner ixl: Add handling of EMP reset for nvm update purposes. Eric Joyner ixl: Move addition of device sysctls to separate function. Eric Joyner ixl: Fix up a couple error messages in ixl_attach(). Eric Joyner ixl: Update the hardware resource allocation debug sysctl.
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299548 |
12-May-2016 |
erj |
ixl: Update to 1.4.9-k.
Changes by author:
Kamil Krawczyk i40e-shared: use explicit cast from u16 to u8 Anjali Singhai Jain i40e-shared: Add a Virtchnl offload for RSS PCTYPE V2 Eric Joyner ixl: Remove HP device IDs. Jesse Brandeburg i40e-shared: add small bit of debug Mitch Williams i40e-shared: check for stopped admin queue Mitch Williams i40e-shared: set aq count after memory allocation Jesse Brandeburg i40e-shared: remove forever unused ID Eric Joyner ixl: Fix bug where RSS does not hash to more than 16 queues. Shannon Nelson i40e-shared: define function capabilities in only one place Eric Joyner ixl: Change spacing, comments, and a single error message. Eric Joyner ixl: Save admin queue phy interrupt mask as a define. Eric Joyner ixl: Move callout_reset() to later in init_locked(), and stop clearing OACTIVE in driver flags. Eric Joyner ixl: Add new reset+build flow to init() if it detects that the admin queue is stopped. Eric Joyner ixl: Return EACCES instead of EPERM when an nvmupdate command fails. Eric Joyner ixl: Remove KX_A device ID.
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299547 |
12-May-2016 |
erj |
ixl: Update to 1.4.7-k.
Changes by author:
Helin Zhang i40e_shared: Fix compilation error - pointer-arith Paul M Stillwell Jr i40e-shared: Replace sprintf with i40e_debug Anjali Singhai Jain i40e-shared: Fix an accidental error with BIT_ULL replacement Jesse Brandeburg i40e-shared: remove useless assignments Anjali Singhai Jain i40e-shared: Add a workaround to drop all flow control frames Anjali Singhai Jain i40e-shared: Add new response struct from FW for AQ command i40e_aqc_lldp_set_local_mib Anjali Singhai Jain i40e-shared: Acquire NVM, before issuing an AQ read nvm command Eric Joyner ixl/ixlv: Remove unused MAX_LOOP define. Eric Joyner ixl: Remove extra aq_get_link_info() call in attach(). Eric Joyner ixl: Modify a couple error messages in attach() to be more informative. Eric Joyner ixl: Add i40e_get_link_status() call to init_locked(). Eric Joyner ixl: Move callout_stop() to earlier in ixl_stop(). Eric Joyner ixl: Add extra comments around link ITR code. Eric Joyner ixl: Attempt to enhance link event handling. Eric Joyner ixl: Style, spacing, and comment changes. Eric Joyner ixl: Add I40E_NVM_ACCESS definition. Eric Joyner ixl: Add interface for nvmupdate tool ioctl to driver. Eric Joyner ixl: Don't strip out nvm update support from the driver anymore. Eric Joyner ixl: Interrupts are now allocated/setup and torn down/released on init()/stop().
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299546 |
12-May-2016 |
erj |
ixl: Update to 1.4.6-k.
Changes by author:
Greg Rose ixl: Add MAC+VLAN filter for LAA MAC assignment Carolyn Wyborny i40e_shared: fix for PHY NVM interaction problem Anjali Singhai Jain i40e-shared: Fix an accidental error with BIT_ULL replacement Eric Joyner ixl: Fix potential crash when loading driver a startup and cannot setup all requested MSIX vectors. Eric Joyner ixl: Add max of 8 queues limit to autoconfig. Eric Joyner ixl: Re-add ian@'s sysctl fixes from upstream (r280043).
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
299545 |
12-May-2016 |
erj |
ixl: Update to 1.4.5-k.
This first update will revert some upstream changes; forthcoming updates will reinstate them.
Changes, by author:
Anjali Singhai Jain i40e-shared: Add WB_ON_ITR offload support Shannon Nelson i40e-shared: fix phy_types bitmap type Kevin Scott i40e-shared: Store off PHY capabilities Shannon Nelson i40e-shared: fix byteswap of phy_type Jingjing Wu i40e-shared: Fix compile issue related to const string Greg Bowers i40e-shared: Add AQ defines for non-willing Apps (DCB) Greg Bowers i40e-shared: Support for non-willing Apps (DCB) Shannon Nelson i40e-shared: use upper-32 bit macro for address Shannon Nelson i40e-shared: grab the AQ spinlocks before clearing registers Eric Joyner ixl: Properly strip out X722_SUPPORT (temporarily). Eric Joyner ixl: Allow Fort Pond devices to advertise 100M in set_advertise sysctl.
Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
|
297753 |
09-Apr-2016 |
pfg |
ixl(4): replace 0 with NULL for pointers.
Found by devel/coccinelle.
Differential Revision: https://reviews.freebsd.org/D5894 Reviewed by: erj
|
297482 |
01-Apr-2016 |
sephe |
tcp/lro: Use tcp_lro_flush_all in device drivers to avoid code duplication
And factor out tcp_lro_rx_done, which deduplicates the same logic with netinet/tcp_lro.c
Reviewed by: gallatin (1st version), hps, zbb, np, Dexuan Cui <decui microsoft com> Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5725
|
296354 |
03-Mar-2016 |
smh |
Fix ixl with RSS
Fix compilation of ixl when RSS option is set, broken by r295946
MFC after: 3 weeks X-MFC-With: r295946 Sponsored by: Multiplay Differential Revision: https://reviews.freebsd.org/D5428
|
295947 |
24-Feb-2016 |
erj |
ixl(4)/ixlv(4): Remove a couple unnecessary register writes/flushes.
The one in ixl_xmit() has brought up to us as being unnecessary at least a couple times.
Differential Revision: https://reviews.freebsd.org/D5208 Tested by: jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation
|
295946 |
24-Feb-2016 |
erj |
ixl(4): Fix potential driver interrupt setup issues and startup crash.
- Limit queue autoconfiguration to 8 queues to prevent the driver from requesting a large number of MSI-X vectors at boot.
- Fix potential kernel panic that occurs when the driver loads and cannot get all requested MSIX vectors. Instead, attach() will fail with an error. - Move taskqueue setup to later in attach() to prevent having to free taskqueues if some other error in attach() occurs.
Differential Revision: https://reviews.freebsd.org/D5205 MFC after: 1 month Tested by: jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation
|
295831 |
19-Feb-2016 |
erj |
ixl(4)/ixlv(4): Revert m_collapse() in ixl_xmit() to m_defrag().
The m_collapse() call would fail when transmitting medium-sized packets when the interface mtu was set to 9000, so revert back to m_defrag(), which does not fail.
Differential Revision: https://reviews.freebsd.org/D5207 Tested by: jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation
|
295829 |
19-Feb-2016 |
erj |
ixl(4): Fix errors in queue interrupt setup in MSIX mode.
- I40E_PFINT_DYN_CTLN needs to be cleared, and not have a queue index written to it. - The interrupt linked list for each queue is changed to only include the queue's Rx and Tx queues.
Differential Revision: https://reviews.freebsd.org/D5206 Reviewed by: sbruno Tested by: jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation
|
295828 |
19-Feb-2016 |
erj |
ixl(4): Remove unsupported device IDs.
There is no official support for 20G SKUs on FreeBSD, and the KX_A device ID was never used.
Differential Revision: https://reviews.freebsd.org/D5204 Reviewed by: sbruno, jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation
|
295826 |
19-Feb-2016 |
erj |
ixl(4): Fix two important RSS bugs.
- Change tc_mapping field to assign 64 queues instead of 16 to the PF's VSI; add comments to describe how this is done.
- Set hash lut size to 512 when setting filter control; the lut size defaults to 128 if this isn't set.
Differential Revision: https://reviews.freebsd.org/D5203 Reviewed by: gallatin Tested by: jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation
|
295787 |
19-Feb-2016 |
kevlo |
Add missing parentheses.
Found by: PVS-Studio
|
295051 |
29-Jan-2016 |
smh |
Fix phy interrupts setup for ixl
Fix the inverted set of interrupts being used as the mask for ixl.
Without this ixl devices fail to detect link state changes.
Reviewed by: erj, sbruno MFC after: 2 days Sponsored by: Multiplay
|
293112 |
03-Jan-2016 |
ngie |
Fix ixl(4) compilation with PCI_IOV pre-r266974
stable/10 doesn't have the if_getdrvflags(9) KPI. Reference the field in the structure directly if the __FreeBSD_version is < 1100022, so the driver can be built with PCI_IOV support on stable/10, without backporting all of r266974 (which requires additional changes due to projects/ifnet, etc)
Differential Revision: https://reviews.freebsd.org/D4759 Reviewed by: erj, sbruno Sponsored by: EMC / Isilon Storage Division
|
290708 |
12-Nov-2015 |
smh |
Fix ixl debug sysctls panic
Remove the use of sbuf_data on drained sbufs from the debug sysctls: * ixl_sysctl_hw_res_alloc * ixl_sysctl_switch_config
This prevents a kernel panic when accessing these values under a kernel compiled with INVARIANTS.
Sponsored by: Multiplay
|
289231 |
13-Oct-2015 |
sbruno |
ixl(4): Remove compile warning for unused function.
sys/dev/ixl/if_ixl.c:4377:1: warning: unused function 'ixl_debug_info' [-Wunused-function] ixl_debug_info(SYSCTL_HANDLER_ARGS)
Differential Revision: https://reviews.freebsd.org/D3718 Submitted by: bz
|
285768 |
21-Jul-2015 |
erj |
Fix for a customer issue with ixl(4):
- Add required MAC/VLAN filter when adding an LAA - Fix bug where code did not check for I40E_SUCCESS from a successful i40e_validate_mac_address() call in ixl_init_locked(), when setting an LAA.
PR: 201240 Differential Revision: https://reviews.freebsd.org/D3111 Submitted by: Gregory Rose <gregory.v.rose@intel.com> Reviewed by: gnn, rstone Approved by: gnn MFC after: 2 weeks
|
284612 |
19-Jun-2015 |
gallatin |
Fix typo in baudrate initialization that was causing ixl to be seen as a 4GbE NIC, rather than a 40GbE NIC.
Reviewed by: Eric Joyner <eric.joyner@intel.com> MFC after: 3 days Sponsored by: Netflix
|
284049 |
05-Jun-2015 |
jfv |
Update SW4 to the Intel ixl/ixlv drivers. This is primarily a shared code update, with supporting changes in the CORE. Changes for the extended media types, VF driver has virtual channel protocol changes, and some register use corrections. This software change should be coordinated with Firmware updates to your hardware, contact your support channels for that.
MFC after: 1 week
|
283670 |
28-May-2015 |
jhb |
Create a separate kobj interface for leaf-driver PCI IOV methods.
Leaf drivers should not import the PCI bus interface to add IOV handling. Instead, move the IOV client methods to a separate kobj interface.
Differential Revision: https://reviews.freebsd.org/D2584 Reviewed by: rstone
|
283119 |
19-May-2015 |
jhb |
Remove executable property from several ixl(4) source files.
Differential Revision: https://reviews.freebsd.org/D2583 Reviewed by: erj
|
282939 |
15-May-2015 |
araujo |
Free vsi->queues after use.
Differential Revision: D2344 Reviewed by: erj
|
282280 |
30-Apr-2015 |
jhb |
Various fixes to the stats in igb(4), ixgbe(4), and ixl(4). - Use hardware counters for ifnet stats in igb(4) when possible. This ensures these stats include packets that bypass the regular stack via netmap. - Don't derefence values off the end of the igb(4) VF stats structure. Instead, add a dedicated if_get_counter method for igb(4) VF interfaces. - Report missed packets on igb(4) as input queue drops rather than an input error. - Report bug_ring drop counts as output queue drops for igb(4) and ixgbe(4). - Export the buf_ring drop stats for individual rings via sysctl on ixgbe(4). - Fix a typo that in ixl(4) that caused output queue drops to be reported as input queue drops and input queue drops to be unreported.
Differential Revision: https://reviews.freebsd.org/D2402 Reviewed by: jfv, rstone (6) Sponsored by: Norse Corp, Inc.
|
280043 |
15-Mar-2015 |
ian |
Remove redundant sysctl_handle_string() calls, the sbuf auto-drain takes care of that.
Reviewed by: erj@
|
279860 |
10-Mar-2015 |
jfv |
Replace the DEV_NETMAP code that accidentally got removed in the last commit.
MFC after: 1 week
|
279858 |
10-Mar-2015 |
jfv |
This delta introduces SRIOV support, thanks to Ryan Stone of Sandvine for adding this major feature to the driver. Secondly, this updates the base driver with new 20G device support, and with the new firmware levels some changes to link handling and initialization were required.
MFC after: 1 week
|
279299 |
25-Feb-2015 |
adrian |
Migrate using CPU_ZERO() + CPU_SET() -> CPU_SETOF().
Tested:
* ixgbe, igb, RSS enabled
Submitted by: jhb Sponsored by: Norse Corp, Inc.
|
279255 |
24-Feb-2015 |
adrian |
Change uses of taskqueue_start_threads_pinned() -> taskqueue_start_threads_cpuset()
Differential Revision: https://reviews.freebsd.org/D1897 Reviewed by: jfv
|
279232 |
24-Feb-2015 |
luigi |
Add native netmap support to ixl. Preliminary tests indicate 32 Mpps on tx, 24 Mpps on rx with source and receiver on two different ports of the same 40G card. Optimizations are likely possible. The code follows closely the one for ixgbe so i do not expect stability issues.
Hardware kindly supplied by Intel.
Reviewed by: Jack Vogel MFC after: 1 week
|
279033 |
20-Feb-2015 |
jfv |
Bring the XL710 drivers up to the SW3 release level.
MFC after: 1 week
|
277331 |
18-Jan-2015 |
adrian |
Refactor / restructure the RSS code into generic, IPv4 and IPv6 specific bits.
The motivation here is to eventually teach netisr and potentially other networking subsystems a bit more about how RSS work queues / buckets are configured so things have a hope of auto-configuring in the future.
* net/rss_config.[ch] takes care of the generic bits for doing configuration, hash function selection, etc; * topelitz.[ch] is now in net/ rather than netinet/; * (and would be in libkern if it didn't directly include RSS_KEYSIZE; that's a later thing to fix up.) * netinet/in_rss.[ch] now just contains the IPv4 specific methods; * and netinet/in6_rss.[ch] now just contains the IPv6 specific methods.
This should have no functional impact on anyone currently using the RSS support.
Differential Revision: D1383 Reviewed by: gnn, jfv (intel driver bits)
|
277262 |
16-Jan-2015 |
jfv |
Some RSS issues discovered by Adrian, missing header, variable names fat fingered, incorrect hash config setup. Thanks :)
MFC after: 1 week
|
277151 |
13-Jan-2015 |
jfv |
Cleanup some bogus code in the RSS config, and add the include for the rss option file. And bump the version.
MFC after: 1 week
|
277143 |
13-Jan-2015 |
jfv |
Complete the RX side RSS code: parse the encoded portion of the RX descriptor to determine the correct hash type.
MFC after:1 week
|
277130 |
13-Jan-2015 |
bz |
Move the vsi variable outside of the #ifdef block to unbreak NOIP kernels after r277084.
MFC after: 6 days X-MFC with: r277084
|
277088 |
12-Jan-2015 |
jfv |
Missing RSS support added, this fixes the build, but the code in the RX side was complicated by recent changes and will need some further tweaking.
|
277084 |
12-Jan-2015 |
jfv |
Intel I40E driver updates: if_ixl to version 1.3.0, if_ixlv to version 1.2.0 - Major change in both drivers is to add RSS support - In ixl fix some interface speed related issues, dual speed was not changing correctly, KR/X media was not displaying correctly (this has a workaround until a more robust media handling is in place) - Add a warning when using Dell NPAR and the speed is less than 10G - Wrap a queue hung message in IXL_DEBUG, as it is non-fatal, and without tuning can display excessively
MFC after: 1 week
|
277082 |
12-Jan-2015 |
jfv |
Update to the shared code for Intel I40E drivers in preparation for the ixl 1.3.0 and ixlv 1.2.0 revisions.
MFC after: 1 week
|
275358 |
01-Dec-2014 |
hselasky |
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.
Additional notes: - The SCTP code changes will be committed as a separate patch. - Removal of the "M_FLOWID" flag will also be done separately. - The FreeBSD version has been bumped.
MFC after: 1 month Sponsored by: Mellanox Technologies
|
274228 |
07-Nov-2014 |
bz |
After r274205 unbreak NOIP kernels. vsi is now also used outside address family specific blocks so move it out from under the condition.
MFC after: 6 days X-MFC with: r274205
|
274218 |
07-Nov-2014 |
jfv |
Add header file missing from last commit.
Submitted by: jfv MFC after: 1 week
|
274205 |
06-Nov-2014 |
jfv |
Update the Intel i40e drivers, ixl version 1.2.8, ixlv version 1.1.18 -Improved VF stability, thanks to changes from Ryan Stone, and Juniper. - RSS fixes in the ixlv driver - link detection in the ixlv driver - New sysctl's added in ixl and ixlv - reset timeout increased for ixlv - stability fixes in detach - correct media reporting - Coverity warnings fixed - Many small bug fixes - VF Makefile modified - nvm shared code needed - remove unused sleep channels in ixlv_sc struct
Submitted by: Eric Joyner (committed by jfv) MFC after: 1 week
|
273394 |
21-Oct-2014 |
jimharris |
ixl: remove i40e_register_x710_int.h
This file is not used by the FreeBSD ixl driver.
Submitted by: Eric Joyner <eric.joyner@intel.com> MFC after: 3 days
|
273377 |
21-Oct-2014 |
hselasky |
Fix multiple incorrect SYSCTL arguments in the kernel:
- Wrong integer type was specified.
- Wrong or missing "access" specifier. The "access" specifier sometimes included the SYSCTL type, which it should not, except for procedural SYSCTL nodes.
- Logical OR where binary OR was expected.
- Properly assert the "access" argument passed to all SYSCTL macros, using the CTASSERT macro. This applies to both static- and dynamically created SYSCTLs.
- Properly assert the the data type for both static and dynamic SYSCTLs. In the case of static SYSCTLs we only assert that the data pointed to by the SYSCTL data pointer has the correct size, hence there is no easy way to assert types in the C language outside a C-function.
- Rewrote some code which doesn't pass a constant "access" specifier when creating dynamic SYSCTL nodes, which is now a requirement.
- Updated "EXAMPLES" section in SYSCTL manual page.
MFC after: 3 days Sponsored by: Mellanox Technologies
|
272285 |
29-Sep-2014 |
rstone |
Ensure that ixl_flush() uses a defined register on VFs
In some code that is shared between the ixl(4) and ixlv(4) drivers, a macro hard-coded a register offset that was not valid on ixlv devices. Fix this by having each driver define a variable that contains the correct offset.
Reviewed by: Eric Joyner <ricera10 AT gmail.com> MFC after: 3 days Sponsored by: Sandvine Inc
|
272227 |
27-Sep-2014 |
glebius |
Convert driver to if_get_counter method.
Submitted by: rstone Reviewed by: Eric Joyner <ricera10 gmail.com>
|
272023 |
23-Sep-2014 |
bz |
Given we are restricting ixl(4) to 64bit platforms now backout the change r270820 to common (shared) Intel code no longer needed.
MFC after: 3 days
|
271913 |
21-Sep-2014 |
bz |
Hide LRO code under #ifdef INET/INET6 to allow NOIP kernel to compile.
While the code comments indicate that LRO is currently only supported for IPv4/TCP, we'll still compile it in for IPv6.
MFC after: 3 days
|
271900 |
20-Sep-2014 |
bz |
Properly hide calls to ARP under #ifdef INET to allow IPv6-only kernels to compile.
MFC atfer: 3 days
|
271834 |
18-Sep-2014 |
bz |
Revert r270808, which were changes to common code (i40e_alloc.h).
Rather than #define-ing common code function calls to OS-dependent ones, make the osdep versions match the common code expectations, adjust the FreeBSD specific code to use those, and remove the #defines.
In the FreeBSD specific code, use "i40e_mem_reserved" for the now expected but unused argument to i40e_allocate_dma_mem().
Reviewed by: gnn, eric.joyner intel.com MFC after: 3 days
|
271745 |
18-Sep-2014 |
bz |
For consistency with the shared header file (and to avoid confusion with mbufs normally called *m in one place), rename the function arguments to "mem".
This is a non-functional change.
Reviewed by: gnn, eric.joyner intel.com MFC after: 3 days
|
270856 |
30-Aug-2014 |
glebius |
Use define from if_var.h to access a field inside struct if_data, that resides in struct ifnet.
Sponsored by: Nginx, Inc.
|
270820 |
29-Aug-2014 |
bz |
Try to also unbreak powerpc complaining about "cast from pointer to integer of different size".
MFC after: 3 days X-MFC with: r270755
|
270808 |
29-Aug-2014 |
bz |
These functions are #defined to "osdep" specific names without the "_mem" extension. Provide prototypes for the actual implementations. Correct function arguments to match the implementations.
MFC after: 3 days X-MFC with: r270755
|
270807 |
29-Aug-2014 |
bz |
Properly place #ifdef INET and #ifdef INET6 around variable declarations and code to make the code compile.
Give the function seems to be slightly mixed with csum and tso, make it non-fatal if we try to setup thing on a kernel without IP support. In practise the printf on the console will probably still make your machine unhappy.
MFC after: 3 days X-MFC with: r270755
|
270806 |
29-Aug-2014 |
bz |
Properly handle prefetch only for amd64 and i386 as we do elsewhere.
In general theraven is right that we should factr this out and provide a general and per-arch implementation that everything can use.
MFC after: 3 days X-MFC with: r270755
|
270799 |
29-Aug-2014 |
bz |
First try on fixing some more compile errors without actually testing: - use proper __FreeBSD_version check and more importantly check for __am64__ to be defined. Whether the FreeBSD(_version) checks are needed is a different question. - cast uint64_t to uintmax_t and use %jx for printing.
Note: there are more values that could be printed in that status function but leave that for the future; printf doesn't seem to be the right way to do it anyway. Note: there is more breakage related to i40e_allocate_dma*() having conflicting declarations, so more fixes to come.
PR: 193112 MFC after: 3 days X-MFC with: r270755
|
270775 |
29-Aug-2014 |
jfv |
Fix the NOINET and NOINET6 builds.
MFC after:3 days
|
270773 |
28-Aug-2014 |
jfv |
Remove the DEV_NETMAP code from the ixl drivers, it was a placeholder and not yet ready to be defined, and its causing build errors.
MFC after: 3 days
|
270772 |
28-Aug-2014 |
jfv |
Some corrections, reformating, and additional info about the VF driver in the README.
MFC after: 1 day
|
270758 |
28-Aug-2014 |
smh |
Fix build breakage caused by ixl driver
Fix missing includes and invalid vars in ixl / ixlv driver added by r270346 which caused build failures for GENERIC kernel after it was made default by r270755.
X-MFC-With: r270346 / r270755 Sponsored by: Multiplay
|
270346 |
22-Aug-2014 |
jfv |
Update to the Intel Base driver for the Intel XL710 Ethernet Controller Family - It was decided to change the driver name to if_ixl for FreeBSD - This release adds the VF Driver to the tree, it can be built into the kernel or as the if_ixlv module - The VF driver is independent for the first time, this will be desireable when full SRIOV capability is added to the OS. - Thanks to my new coworker Eric Joyner for his superb work in both the core and vf driver code.
Enjoy everyone!
Submitted by: jack.vogel@intel.com and eric.joyner@intel.com MFC after: 3 days (hoping to make 10.1)
|
269201 |
28-Jul-2014 |
jfv |
Add new README to the driver...
|
269198 |
28-Jul-2014 |
jfv |
Update the new 40G XL710 driver to Release version 1.0.0
|
267385 |
12-Jun-2014 |
jhb |
- Don't compare bus_dma map pointers for static DMA allocations against NULL to determine if bus_dmamap_unload() or bus_dmamem_free() should be called. Instead, check the associated bus and virtual addresses. - Don't clear static DMA maps to NULL.
Reviewed by: jfv
|
267152 |
06-Jun-2014 |
kevlo |
Replace deprecated M_DONTWAIT with M_NOWAIT.
Reviewed by: jfv
|
266423 |
19-May-2014 |
jfv |
This is the beta release of the driver for the new Intel 40G Ethernet Controller XL710 Family. This is the core driver, a VF driver called i40evf, will be following soon. Questions or comments to myself or my co-developer Eric Joyner. Cheers!
|