#
38588749 |
| 29-Jul-2023 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: HWCSUM excemption fixes
Also disable IPV6 checksum offload.
Spell hw->mac.type < e1000_82543 as e1000_82542. Confusingly, chips like 82540 and 82541 come later and do not have these issues.
e1000: HWCSUM excemption fixes
Also disable IPV6 checksum offload.
Spell hw->mac.type < e1000_82543 as e1000_82542. Confusingly, chips like 82540 and 82541 come later and do not have these issues. There is no functional change here, as the enum was defined in such a way it worked correctly. But this reads literally.
MFC after: 1 week
show more ...
|
#
cbcab907 |
| 28-Jul-2023 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Corrections for lem(4)/em(4) txcsum offload
Explicitly set ipcss/ipcse/ipcso for IPv6 per intel SDM as indicated in inline comments.
Fix and consolidate 82543/82547 hwcsum exemption.
While
e1000: Corrections for lem(4)/em(4) txcsum offload
Explicitly set ipcss/ipcse/ipcso for IPv6 per intel SDM as indicated in inline comments.
Fix and consolidate 82543/82547 hwcsum exemption.
While here rearrange and expand some commentary.
show more ...
|
#
918c2567 |
| 22-Jul-2023 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes
* em(4) obey administrative ifcaps for using hwcsum offload * em(4) obey administrative ifcaps for hw vlan receive tagging * em(4) add additional TSO
e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes
* em(4) obey administrative ifcaps for using hwcsum offload * em(4) obey administrative ifcaps for hw vlan receive tagging * em(4) add additional TSO6 ifcap, but disabled by default as is TSO4 * lem(4) obey administrative ifcaps for using hwcsum offload * lem(4) add support for hw vlan receive tagging * lem(4) Add ifcaps for TSO offload experimentation, but disabled by default due to errata and possibly missing txrx code. * lem(4) disable HWCSUM ifcaps by default on 82547 due to errata around full duplex links. It may still be administratively enabled.
Reviewed by: markj (previous version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D30072
show more ...
|
#
5d3c9825 |
| 22-Jul-2023 |
Kevin Bowling <kbowling@FreeBSD.org> |
Revert "e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes"
Seems to cause a panic when booting under VitrualBox.
Reported by: yasu
This reverts commit 95f7b36e8fac45092b9a4eea5e32732e979989f0.
|
#
95f7b36e |
| 21-Jul-2023 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes
* em(4) obey administrative ifcaps for using hwcsum offload * em(4) obey administrative ifcaps for hw vlan receive tagging * em(4) add additional TSO
e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes
* em(4) obey administrative ifcaps for using hwcsum offload * em(4) obey administrative ifcaps for hw vlan receive tagging * em(4) add additional TSO6 ifcap, but disabled by default as is TSO4 * lem(4) obey administrative ifcaps for using hwcsum offload * lem(4) add support for hw vlan receive tagging * lem(4) Add ifcaps for TSO offload experimentation, but disabled by default due to errata and possibly missing txrx code. * lem(4) disable HWCSUM ifcaps by default on 82547 due to errata around full duplex links. It may still be administratively enabled.
Reviewed by: markj (previous version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D30072
show more ...
|
#
0229fab2 |
| 10-May-2023 |
Kristof Provost <kp@FreeBSD.org> |
e1000: fix VLAN 0
VLAN 0 essentially means "Treat as untagged, but with priority bits", and is used by some ISPs.
On igb/em interfaces we did not receive packets with VLAN tag 0 unless vlanhwfilter
e1000: fix VLAN 0
VLAN 0 essentially means "Treat as untagged, but with priority bits", and is used by some ISPs.
On igb/em interfaces we did not receive packets with VLAN tag 0 unless vlanhwfilter was disabled.
This can be fixed by explicitly listing VLAN 0 in the hardware VLAN filter (VFTA). Do this from em_setup_vlan_hw_support(), where we already (re-)write the VFTA.
Reviewed by: kbowling Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D40046
show more ...
|
Revision tags: release/13.2.0 |
|
#
905ae588 |
| 09-Feb-2023 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Add support for future client platforms
MFC after: 2 weeks Sponsored by: BBOX.io
|
#
d36fbdb0 |
| 09-Feb-2023 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Remove redundant disable_ulp for ich8lan
This call only makes sense for ich8lan, and the shared code does it in e1000_setup_init_funcs() above this deletion.
Obtained from: DPDK MFC after: 2
e1000: Remove redundant disable_ulp for ich8lan
This call only makes sense for ich8lan, and the shared code does it in e1000_setup_init_funcs() above this deletion.
Obtained from: DPDK MFC after: 2 weeks Sponsored by: BBOX.io Pull Request: https://github.com/freebsd/freebsd-src/pull/539
show more ...
|
#
647f2d2b |
| 08-Feb-2023 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: bump driver version
Incrementing these to avoid confusion in users; we are on par with these out of tree versions.
Reviewed by: erj MFC after: 2 weeks Sponsored by: BBOX.io Pull Request: htt
e1000: bump driver version
Incrementing these to avoid confusion in users; we are on par with these out of tree versions.
Reviewed by: erj MFC after: 2 weeks Sponsored by: BBOX.io Pull Request: https://github.com/freebsd/freebsd-src/pull/540
show more ...
|
#
ae1dca79 |
| 08-Feb-2023 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: fix I219 hang on reset
Clear the rings before reset to avoid a HW hang.
Inspired by em-7.7.8 and DPDK (1fc9701238edcf0541289b9ae15565b6d9d7ab30)
Reviewed by: erj MFC after: 2 weeks Sponsore
e1000: fix I219 hang on reset
Clear the rings before reset to avoid a HW hang.
Inspired by em-7.7.8 and DPDK (1fc9701238edcf0541289b9ae15565b6d9d7ab30)
Reviewed by: erj MFC after: 2 weeks Sponsored by: BBOX.io Pull Request: https://github.com/freebsd/freebsd-src/pull/540
show more ...
|
#
c0548bfc |
| 06-Feb-2023 |
Piotr Kubaj <pkubaj@FreeBSD.org> |
em(4): Add IDs for new Intel(R) I219 devices
These include I219 (20) through I219 (23), which ends at Raptor Lake.
This also corrects a discrepancy where the (16) devices should be mac type "e1000_
em(4): Add IDs for new Intel(R) I219 devices
These include I219 (20) through I219 (23), which ends at Raptor Lake.
This also corrects a discrepancy where the (16) devices should be mac type "e1000_pch_tgp" and not "e1000_pch_adp".
Signed-off-by: Eric Joyner <erj@FreeBSD.org>
PR: 269224 Reviewed by: erj@ MFC after: 1 day Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D38376
show more ...
|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0 |
|
#
402810d3 |
| 20-Oct-2021 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Convert iflib(4) and iflib-based drivers to the DrvAPI
Summary: Convert iflib(4) and the following drivers: * axgbe * em * ice * ixl * vmxnet
Sponsored by: Juniper Networks, Inc. Reviewed by: kbowl
Convert iflib(4) and iflib-based drivers to the DrvAPI
Summary: Convert iflib(4) and the following drivers: * axgbe * em * ice * ixl * vmxnet
Sponsored by: Juniper Networks, Inc. Reviewed by: kbowling, #iflib Differential Revision: https://reviews.freebsd.org/D37768
show more ...
|
#
21cc0918 |
| 17-Aug-2021 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
sys: Nuke double-semicolons
A distinct number of double-semicolons have ended up in FreeBSD. Take a pass at getting rid of many of these harmless typos.
Reviewed by: emaste, rrs Pull Request: http
sys: Nuke double-semicolons
A distinct number of double-semicolons have ended up in FreeBSD. Take a pass at getting rid of many of these harmless typos.
Reviewed by: emaste, rrs Pull Request: https://github.com/freebsd/freebsd-src/pull/609 Differential Revision: https://reviews.freebsd.org/D31716
show more ...
|
#
66dad2db |
| 12-Oct-2022 |
Kevin Bowling <kbowling@FreeBSD.org> |
Revert "e1000: Try auto-negotiation for fixed 100 or 10 configuration"
This reverts commit 9ab4dfce8feda8cf3545be0c3c7569095b1fcd24.
OPNsense users have reported a regression with fixed configs.
T
Revert "e1000: Try auto-negotiation for fixed 100 or 10 configuration"
This reverts commit 9ab4dfce8feda8cf3545be0c3c7569095b1fcd24.
OPNsense users have reported a regression with fixed configs.
The e1000 api is not ready for this change.
show more ...
|
#
6987c475 |
| 12-May-2022 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Increase rx_buffer_size to 32b
Extend the size of the local rx_buffer_size variable to account for larger buffer sizes possible on 82580, i350 chips.
From i350 datasheet, 6.2.10 Initializati
e1000: Increase rx_buffer_size to 32b
Extend the size of the local rx_buffer_size variable to account for larger buffer sizes possible on 82580, i350 chips.
From i350 datasheet, 6.2.10 Initialization Control 4 (LAN Base Address + Offset 0x13): When 4 ports are enabled maximum buffer size is 36 KB. When 2 ports are enabled maximum buffer size is 72 KB. When only a single port is enabled maximum buffer size is 144 KB.
and 8.3: The overall available internal buffer size in the I350 for all ports is 144 KB for receive buffers and 80 KB for transmit Buffers. Disabled ports memory can be shared between active ports and sharing can be asymmetric. The default buffer size for each port is loaded from the EEPROM on initialization.
From the reporter: But for I350 when only 2 ports are used PBA size can be set as 72KB (see datasheet RXPbsize or e1000_rxpbs_adjust_82580 function in e1000_82575.c). In this case calculating the rx_buffer_size overflows as 0x0048 << 10 = 73728 or 0x12000 pushed into u16. It is then set as 0x2000 or 8192.
PR: 263896 Reported by: hannula@gmail.com Tested by: hannula@gmail.com Approved by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D35167
show more ...
|
#
9e057054 |
| 19-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
em/igb: Remove unused devclass arguments to DRIVER_MODULE.
|
#
9ab4dfce |
| 13-Apr-2022 |
J.R. Oldroyd <fbsd@opal.com> |
e1000: Try auto-negotiation for fixed 100 or 10 configuration
Currently if an e1000 interface is set to a fixed media configuration, for gigabit, it will participate in auto-negotiation as required
e1000: Try auto-negotiation for fixed 100 or 10 configuration
Currently if an e1000 interface is set to a fixed media configuration, for gigabit, it will participate in auto-negotiation as required by IEEE 802.3-2018 Clause 37. However, if set to fixed media configuration for 100 or 10, it does NOT participate in auto-negotiation.
By my reading of Clauses 28 and 37, while auto-negotiation is optional for 100 and 10, it is not prohibited and is, in fact, "highly recommended".
This patch enables auto-negotiation for fixed 100 and 10 media configuration, in a similar manner to that already performed for 1000. I.e., the patch enables advertising of just the manually configured settings with the goal of allowing the remote end to match the manually configured settings if it has them available.
To be clear, this patch does NOT allow an em(4) interface that has been manually configured with specific media settings to respond to auto-negotiation by then configuring different parameters to those that were manually configured. The intent of this patch is to fully comply with the requirements of Clause 37, but for 100 and 10.
The need for this has arisen on an em(4) link where the other end is under a different administrative control and is set to full auto-negotiation. Due to the cable length GigE is not working well. It is desired to set the em(4) end to "media 100baseTX mediatype full-duplex" which does work when both ends are configured that way. Currently, because em(4) does not participate in autoneg for this setting, the remote defaults to half-duplex - i.e., there's a duplex mismatch and things don't work. With this patch, em(4) would inform the remote that it has only 100baseTX full, the remote would match that and it will work.
Approved by: erj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D34449
show more ...
|
#
07ede751 |
| 13-Apr-2022 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Update mc filter before RCTL flags
Update mc filter array before changing RCTL flags as in 5a3eb6207a35
Approved by: grehan MFC after: 2 weeks
|
#
e0f4cdba |
| 08-Dec-2021 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
e1000: fix interface capabilities management
The e1000 drivers (em, lem, igb) are currently looking at the iflib copies of the capabilities bitvectors (scctx->isc_capabilities and scctx->isc_capenab
e1000: fix interface capabilities management
The e1000 drivers (em, lem, igb) are currently looking at the iflib copies of the capabilities bitvectors (scctx->isc_capabilities and scctx->isc_capenable) rather than the ifnet ones (ifp->if_capabilities and ifp->if_capenable). However, the latter are the ones that are actually updated by ifconfig and that should be used by the drivers during interface operation. The former are set by the driver on interface attach (for iflib internal use) and should not be used anymore by the driver. This patch fixes the e1000 driver to use the correct bitvectors.
PR: 260068 Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D33154
show more ...
|
#
293663f4 |
| 07-Oct-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: print EEPROM/NVM/OROM versions
This is useful for diagnosing problems. In particular, the errata sheets identify the EEPROM version for many fixes.
Reviewed by: gallatin MFC after: 1 week Di
e1000: print EEPROM/NVM/OROM versions
This is useful for diagnosing problems. In particular, the errata sheets identify the EEPROM version for many fixes.
Reviewed by: gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D32333
show more ...
|
#
9b3e252e |
| 07-Oct-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Lock nvm print sysctl
Otherwise results in KASSERT with debug kernels because we rely on the iflib CTX lock to implement the software serialization to the NVM model
Reviewed by: gallatin MFC
e1000: Lock nvm print sysctl
Otherwise results in KASSERT with debug kernels because we rely on the iflib CTX lock to implement the software serialization to the NVM model
Reviewed by: gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D32333
show more ...
|
#
28ccd780 |
| 06-Oct-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Function prototype cleanup
Drop arguments of function prototypes since the file is mixed between listing arg names and not.
No functional changes
Reviewed by: markj MFC after: 3 days Differ
e1000: Function prototype cleanup
Drop arguments of function prototypes since the file is mixed between listing arg names and not.
No functional changes
Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D32329
show more ...
|
#
450c3f8b |
| 27-Sep-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Re-arm link changes
A change to MSI-X link handler was somehow causing issues on MSI-based em(4) NICs.
Revert the change based on user reports and testing.
PR: 258551 Reported by: Franco F
e1000: Re-arm link changes
A change to MSI-X link handler was somehow causing issues on MSI-based em(4) NICs.
Revert the change based on user reports and testing.
PR: 258551 Reported by: Franco Fichtner <franco@opnsense.org>, t_uemura@macome.co.jp Reviewed by: markj, Franco Fichtner <franco@opnsense.org> Tested by: t_uemura@macome.co.jp MFC after: 1 day
show more ...
|
#
dc926051 |
| 25-Sep-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Rename 'struct adapter' to 'struct e1000_sc'
Rename the 'struct adapter' to 'struct e1000_sc' to avoid type ambiguity in things like kgdb.
Reviewed by: jhb, markj MFC after: 3 days Different
e1000: Rename 'struct adapter' to 'struct e1000_sc'
Rename the 'struct adapter' to 'struct e1000_sc' to avoid type ambiguity in things like kgdb.
Reviewed by: jhb, markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D32129
show more ...
|
#
1bbdc25f |
| 17-Sep-2021 |
Kevin Bowling <kbowling@FreeBSD.org> |
e1000: Use C99 bool types
Approved by: imp MFC after: 1 week
|