Fixed typo in device id, was 5G instead of 1G.
Apr 19 2022
Apr 15 2022
Feb 8 2022
Update patch to apply on top of HEAD
Feb 7 2022
Update patch to apply on top of HEAD
Sep 13 2021
Aug 16 2021
Jul 23 2021
- Do not rely on information from link event
Jul 9 2021
I'm still not able to reproduce this issue with any of my switches. Could you, please, modify printf in the ixl_link_event function to dump hex values of status->link_info, status->an_info, hw->phy.link_info.link_info and hw->phy.link_info.an_info, and send me the log?
Jun 30 2021
Thank you Sai! Now I understand what I should be looking for.
Jun 23 2021
I have connected the cable back-to-back between two servers and rebooted them both at a time. During boot, on both the nodes, immediately after the driver is attached, receives link-event and notices MEDIA_AVAILABLE + IFF_UP + UNQUALIFIED + NO_LINK_UP.
Jun 17 2021
So, thinking on this, my guess is that when you reboot the machine, we would be finding an "unqualified" for a qualified cable because FW see this as link down. Also, my guess, the cable will show up as unqualified when you shut the link on link-partner.
Jun 14 2021
Actually using separate sysctl_ctx was necessary in non-iflib version of the driver to allow releasing and re-allocating queues while handling EMP reset. In this version Rx queues memory is managed by the iflib with IFDI interface so using separate syssctl context may be not required. Let me double check that.
Also, in original change, https://reviews.freebsd.org/D28028, I noticed that after executing ixl_set_link(pf, false), the PHY capabilities query for an_info has I40E_AQ_QUALIFIED_MODULE unset. So, the same supported/qualified module becomes unqualified.
I think the crux of the problem is with ixl_set_link() unsetting I40E_AQ_QUALIFIED_MODULE.
Jun 11 2021
Jun 8 2021
May 18 2021
Mar 19 2021
Mar 3 2021
Fixed with D21924 by marius
Feb 16 2021
Jan 14 2021
Jan 13 2021
- Fix unqualified transceivers reporting
Jan 7 2021
Dec 16 2020
Dec 3 2020
At least on real hardware I've used with iflib, with both ix and ixl, one needs to adjust irq moderation manually in order to get a decent amount of packets per irq. I honestly think AIM might be the best path forward for less tuning knobs, if it were the default with a wider range of min and max irq rates.
Aug 26 2020
Fix PHY configuration parameters when enabling EEE
Aug 10 2020
@lwhsu: Could you, please, remove the declaration in line 610 instead? The first occurrence is in a group of other LED functions.
Aug 4 2020
- Add missing cases in ixl_if_media_status for 2.5 and 5G
Jul 2 2020
Jun 9 2020
- Replace 'if 1' with 'ifdef IXL_DEBUG' in ixl_pf.h to match with if_ixl.c
Jun 2 2020
- Fix sysctl ctx handling in IAVF
May 16 2020
Backported disable rings fix implemented by Eric Joyner in ixl-iflib version of the driver. It prevents queue hangs when interface is reconfigured while receiving heavy traffic.
May 12 2020
- Remove redundant PF reset after EMP reset
May 7 2020
- Don't process admin queue if its not configured
May 4 2020
- Fix receiving broadcast frames after reset
Apr 24 2020
Sep 23 2019
Sep 20 2019
I'm not sure, but I think the only way this can happen is when the link is down. Is that the caee here?
Sep 19 2019
Sep 6 2019
Aug 12 2019
Jul 1 2019
Jun 5 2019
ixlv: Use old implementation of _msec_pause for reset flow to avoid panic.
May 24 2019
Changes in Netmap support for ixl caused that ixlv cannot be loaded when built as KLD. Move ixl specific Netmap includes from ixl_txrx.c file, which is shared by ixl and ixlv, to ixl_pf_main.c which is used only by ixl.
May 20 2019
May 17 2019
Feb 28 2019
Jan 28 2019
This limitation came from our out-of-tree driver, where we had to keep backwards compatibility, but there is no reason to keep it in the in-kernel version. Thanks Vincenzo for the patch. It looks good to me but let's wait for Eric to have a look too.
Jan 11 2019
Dec 11 2018
Nov 7 2018
@shurd - Turns out you've been faster. We've been working one this bug too. Our plan was to do it this way:
Oct 24 2018
@shurd Thanks! That makes more sense than my version. I can't reproduce the ixl panic on my machine but Iets wait for an official verification by Jeff's team.
Oct 19 2018
- Add iflib_in_detach check to iflib_intr_iov_deferred as sugested by Stephen.
Oct 17 2018
My opinion is that mtx_owned() would just make this all more complex. Releasing a lock for a short period isn't a problem at all.
Oct 16 2018
iflib_admin_intr_deferred() called with STATE_LOCK() in a few places.
- STATE_UNLOCK moved to address Stephen's comment.
Oct 11 2018
Adding dependency on D16428 didn't worked as planned :/ Changes are included in diff. I'll try to fix that later.
- Calling gtaskqueue_drain moved to taskqgroup_detach
- Added condition to iflib_admin_intr_deferred to prevent rescheduling task during detach
Oct 8 2018
Oct 4 2018
Jun 6 2018
- ixl/ixlv: Reset head writeback value on TX ring init
May 30 2018
- ixl(4): Re-add descriptor writeback TX completion as optionable tunable
- Merge branch 'master' into ixl-iflib
- Merge commit 'fa5413e897294cb6a74d75e7317c5dbeb42e185c' into ixl-iflib
- ixl(4): Remove unused variables, macros, and comments
- ixl(4): Replace some numbers with constants
- Merge upstream FreeBSD branch 'master' into ixl-iflib
- ixl(4): Fix typo in sysctl help message
- ixl(4): Edit whitespace and a function comment
- ixl(4): Remove a debug printf()
- ixl(4): Remove a couple old functions and prototypes
- ixl(4): Remove unused variables from PF struct
- ixl(4): Add two new I2C access methods
- ixl(4): Actually increment TSO stat counter
- ixl(4): Set some iflib flags and a fied to correct values
- ixl(4): Stop reading header length value from RX descriptor
- ixl(4): Fix and move an assert in the RX path
- ixl(4): Enhance add/remove macvlan error reporting
- ixl(4): Edit spacing and remove old comments
- ixl(4): Fix queue allocation bug
- ixl(4): Replace bsrl() with the architecture-independent fls()
- ixl(4): Remove redundant MAC type / FW version check
- ixl(4): Copy a couple things from Linux's RCTX setup
- Merge branch 'intel-wired-ethernet/master' into ixl-iflib
- iflib: Fix memory leak when TX packet defrag finally fails
- ixl(4): Move function to where VF driver can use it
- ixl(4): Remove unused function definitions and declarations
- ixl(4): Remove hard link check in ixl_if_media_status
- Merge freebsd/freebsd branch 'master' into ixl-iflib
- ixl(4): Change ixl_tso_detect_sparse()
- ixl(4): Edit debug i2c sysctl help messages
- ixl(4): Add debug sysctl to read some diagnostic data from i2c
- ixl(4): Remove unnecessary SYSCTL_OUT from previous commit
- ixl(4): Return an error when debug i2c diag sysctl encounters one
- ixl(4): Fix error handling during attach process
- Merge remote-tracking branch 'origin/master' into ixl-iflib
- ixl(4): Simplify ixl_find_filter()
- ixl(4): Temporarily stop initializing SR-IOV support
- ixl(4): Add driver version number to end of device description string
- ixl(4): Get rid of unused tunables.
- ixl(4): Initial implementation of driver private ioctl
- ixl(4): Fix driver setup after receiving reset interrupt from HW
- iflib: Add new shared flag to iflib IFLIB_ADMIN_ALWAYS_RUN
- ixl(4): Remove VSI allocation message after device reset
- ixl: Rename function to better reflect purpose
- Merge freebsd/freebsd branch 'master' into ixl-iflib
- Merge freebsd/freebsd branch 'master' into ixl-iflib (2018-05-30)
Apr 27 2018
- Deduplicate queue hang detection code and use same method in PF and VF drivers. Fixes kernel panic on VF with TCP bi-directional traffic.
Apr 24 2018
- Queue hang detection refactored to prevent kernel panic
- Version bumped to 1.9.9 to align with out-of-tree driver
Apr 20 2018
Is there anything happening with this as head is still 1.7.12-k which is very far behind the latest intel download which is 1.9.7?
Apr 16 2018
- Patch rebased on top of HEAD.
- Fixed panic reported for TCP BX traffic.
Apr 6 2018
Feb 9 2018
Jan 23 2018
Rebased on top of HEAD with erj@ patch for ixv_if_init (r328365)
Jan 12 2018
Dec 5 2017
- Rebased on top of HEAD
- ixgbe(4): Set proper max number of queues.
Dec 1 2017
Without witness it panics too:
Fatal trap 9: general protection fault while in kernel mode cpuid = 42; apic id = 38 instruction pointer = 0x20:0xffffffff80cb4c31 stack pointer = 0x28:0xfffffe010b7ed030 frame pointer = 0x28:0xfffffe010b7ed050 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 1117 (kldload)
Nov 30 2017
Nov 20 2017
How to dump a panic when the kernel crash during boot before loading disk controller drivers ?
Can I compile a kernel with .debug embedded into the kernel ?
Hrm... you could build a kernel without ix in it and kldload if_ix after the system is up... though that may cause the issue to not occur.
Nov 13 2017
Yes: there are 2 CPU, with 12 cores each (HT is disabled), and by default the ixgbe drivers is using a maximum of 8 MSIX queues (I've kept the default because I don't want to fall into the NUMA trap).
Oct 6 2017
- Rebased on top of D12496
- Prevent attach to complete if legacy interrupts are configured
on devices which do not support this mode.
Aug 14 2017
Jul 27 2017
Proper fix for segments accounting in iflib_busdma_load_mbuf_sg.
Jul 6 2017
Jul 5 2017
@olivier - Could you tell me what tools do you use? I'd like to check if forwarding performance on other HW is also affected.
Jul 4 2017
Jun 29 2017
First (failed) attempt to update diff with arc.
Proper size used for TSO.