| #
33e0568d
|
| 16-Mar-2026 |
Rafael Kitover <rkitover@gmail.com> |
ure(4): Fix spurious link flaps from MII
A race condition in the MII layer causes spurious link down events. In `statchg`, on link down, check if the PHY reports the link as actually down using the
ure(4): Fix spurious link flaps from MII
A race condition in the MII layer causes spurious link down events. In `statchg`, on link down, check if the PHY reports the link as actually down using the BMSR register, if not, force the status of the link to back up and restart TX. Do the same in a MII `linkchg` handler. On actual link up, restart TX in case it went idle and down.
PR: 252165 Signed-off-by: Rafael Kitover <rkitover@gmail.com> Reviewed by: pouria Differential Revision: https://reviews.freebsd.org/D55682
show more ...
|
| #
37857739
|
| 10-Feb-2026 |
Michael Tuexen <tuexen@FreeBSD.org> |
ure: improve receive checksum offloading
Let the receive checksum offload for TCP/IPv6 and UDP/IPv6 be controlled by ifconfig rxcsum6 and not by ifconfig rxcsum. While there, make the code more comp
ure: improve receive checksum offloading
Let the receive checksum offload for TCP/IPv6 and UDP/IPv6 be controlled by ifconfig rxcsum6 and not by ifconfig rxcsum. While there, make the code more compact and improve stlye.9 conformity.
Reviewed by: Timo Völker MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55188
show more ...
|
| #
7266121c
|
| 08-Feb-2026 |
Michael Tuexen <tuexen@FreeBSD.org> |
ure: improve transmit checksum offloading
Apparently, the name of the variable l4off was correct. Providing the offset to the TCP or UDP header allows the transmit checksum offload to work for TCP/I
ure: improve transmit checksum offloading
Apparently, the name of the variable l4off was correct. Providing the offset to the TCP or UDP header allows the transmit checksum offload to work for TCP/IPv4, TCP/IPv6, UDP/IPv4, and UDP/IPv6.
Reported by: vishwin Reviewed by: vishwin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55187
show more ...
|
| #
7b6e84c9
|
| 31-Jan-2026 |
Michael Tuexen <tuexen@FreeBSD.org> |
ure: improve checksum offloading
This patch fixes three issues: (1) Initially, set the hwassist flags correctly when enabling transmit checksum offload for TCP/IPv6 and UDP/IPv6. (2) Keep the hw
ure: improve checksum offloading
This patch fixes three issues: (1) Initially, set the hwassist flags correctly when enabling transmit checksum offload for TCP/IPv6 and UDP/IPv6. (2) Keep the hwassist flags in sync with the capabilities when changing txcsum. (3) Keep the hwasssit flags in sync with the capabilities when changing txcsum6. Without this patch, transmit checksum offloading for TCP/IPv6 and UDP/IPv6 is never used and transmit checksum offloading for IPv4, TCP/IPv4 and UDP/IPv4 is always used, even if disabled via ifconfig ue? -txcsum.
Reviewed by: Timo Völker MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54974
show more ...
|
| #
40ad87e9
|
| 20-Apr-2025 |
Kyle Evans <kevans@FreeBSD.org> |
usb: if_ure: stop touching the mbuf accounting on rxq insertion
uether_rxmbuf() assumes the uether_newbuf() model where the caller has just set m_len to the entire size of the mbuf, and passed the f
usb: if_ure: stop touching the mbuf accounting on rxq insertion
uether_rxmbuf() assumes the uether_newbuf() model where the caller has just set m_len to the entire size of the mbuf, and passed the final size into uether_rxmbuf() for finalization.
In if_ure we're creating our own mbuf chains, and the accounting is all already accurate. uether_rxmbuf's logic won't work at all for a chain, so let's add an assertion to that effect (but I think the other callers were all OK).
This fixes a panic on my Windows DevKit when undergoing any kind of network stress that surfaces after the bogus mbuf is injected into the network stack (usually observed in `m_dup`).
markj and I had spent some time investigating it and decided there's some kind of buffer underrun happening; the rx packet descriptor reports a length longer than what's actually available. We discard the rest of the transfer, but then we end up fetching it in a subsequent transfer and end up casting packet data to a `struct ure_rxpkt` incorrectly. It would be better to fix the underlying root cause, but this is a reasonable mitigation in the interim.
Reviewed by: markj Fixes: 7d5522e16a ("A major update to the ure driver.") Differential Revision: https://reviews.freebsd.org/D43465
show more ...
|
| #
dc273058
|
| 23-Jan-2025 |
FUKAUMI Naoki <naoki@radxa.com> |
ure(4): Add support for ELECOM EDC-QUA3C
ELECOM EDC-QUA3C is a USB3.1 Gen1 Type-A/C 2.5GBASE-T network adapter. This also works as a cdce(4) device by:
usbconfig -d X.Y set_config 1 or usbconfig
ure(4): Add support for ELECOM EDC-QUA3C
ELECOM EDC-QUA3C is a USB3.1 Gen1 Type-A/C 2.5GBASE-T network adapter. This also works as a cdce(4) device by:
usbconfig -d X.Y set_config 1 or usbconfig -d X.Y set_config 2
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/1578
show more ...
|
| #
a1bb5bdb
|
| 19-Sep-2024 |
Alexander Motin <mav@FreeBSD.org> |
ure(4): Add ID for LAN port in Thinkpad OneLink+ dock
That's a pretty old dock for Thinkpad X1 Carbon Gen4 and few others.
MFC after: 1 week
|
| #
6ea4d95f
|
| 12-Aug-2024 |
Li-Wen Hsu <lwhsu@FreeBSD.org> |
Move support of Realtek 8156/8156B from cdce(4) to ure(4)
Reviewed by: kevlo, imp, hrs MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45088
|
| #
fdafd315
|
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
| #
f17b69fd
|
| 11-Oct-2023 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move (LENOVO, TBT3LAN) from if_ure til if_cdce where it works much better
|
| #
685dc743
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
| #
53a03e31
|
| 04-Jul-2023 |
Joerg Pulz <Joerg.Pulz@frm2.tum.de> |
ure(4): add support for Thinkpad Hybrid USB-C with USB-A dock
Add support for LAN port found on Thinkpad Hybrid USB-C with USB-A dock. While here fix a small typo - s/UBS/USB/
Sponsored by: Techn
ure(4): add support for Thinkpad Hybrid USB-C with USB-A dock
Add support for LAN port found on Thinkpad Hybrid USB-C with USB-A dock. While here fix a small typo - s/UBS/USB/
Sponsored by: Technical University of Munich Reviewed by: markj MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/791
show more ...
|
| #
935b194d
|
| 07-Feb-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Mechanically convert usb ethernet drivers to DrvAPI
Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37812
|
| #
e5b9b5ee
|
| 04-Jan-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Add Windows Dev Kit 2023 support to if_ure
The Windows Dev Kit 2023 has an if_ure NIC with custom vendor and procuct IDs. Add them to the driver.
Tested by: Robert Clausecker <fuz@fuz.su> Obtained
Add Windows Dev Kit 2023 support to if_ure
The Windows Dev Kit 2023 has an if_ure NIC with custom vendor and procuct IDs. Add them to the driver.
Tested by: Robert Clausecker <fuz@fuz.su> Obtained from: OpenBSD Sponsored by: Arm Ltd
show more ...
|
| #
31937f7e
|
| 28-Aug-2022 |
Poul-Henning Kamp <phk@FreeBSD.org> |
USB id of yet another Lenovo USB-C ethernet dongle.
|
| #
bc9372d7
|
| 06-May-2022 |
John Baldwin <jhb@FreeBSD.org> |
usb: Remove unused devclass arguments to DRIVER_MODULE.
|
| #
3e38757d
|
| 19-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
Remove unused miibus_devclass and miibus_fdt_devclass.
|
| #
c6df6f53
|
| 10-Dec-2021 |
Warner Losh <imp@FreeBSD.org> |
Create wrapper for Giant taken for newbus
Create a wrapper for newbus to take giant and for busses to take it too. bus_topo_lock() should be called before interacting with newbus routines and unlock
Create wrapper for Giant taken for newbus
Create a wrapper for newbus to take giant and for busses to take it too. bus_topo_lock() should be called before interacting with newbus routines and unlocked with bus_topo_unlock(). If you need the topology lock for some reason, bus_topo_mtx() will provide that.
Sponsored by: Netflix Reviewed by: mav Differential Revision: https://reviews.freebsd.org/D31831
show more ...
|
| #
dab84426
|
| 04-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Narrow down the probe range for if_ure(4) compatible devices to only match the first vendor specific interface, if any.
PR: 253374 MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Ne
Narrow down the probe range for if_ure(4) compatible devices to only match the first vendor specific interface, if any.
PR: 253374 MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
show more ...
|
| #
d4cf41a9
|
| 04-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for RTL8153B, RTL8156 and RTL8156B to if_ure(4).
Submitted by: fbbz@synack.eu PR: 253374 MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
|
| #
6e5baec3
|
| 12-Jan-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix for use-after-free in if_ure(4) driver.
When detaching the if_ure(4) driver, the TX active USB transfer array may point to freed USB transfers. Given that the number of USB transfers is very low
Fix for use-after-free in if_ure(4) driver.
When detaching the if_ure(4) driver, the TX active USB transfer array may point to freed USB transfers. Given that the number of USB transfers is very low, simply start all transfers every time there is a packet to keep safe from use-after-free.
PR: 252608 MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
show more ...
|
| #
a8261b70
|
| 24-Dec-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for USB-C and TB3 Gen2 to if_ure(4).
Add support for LAN found on Thinkpad USB-C and Thunderbolt Gen 2 docking stations.
Submitted by: ali.abdallah@suse.com MFC after: 1 week Sponsored
Add support for USB-C and TB3 Gen2 to if_ure(4).
Add support for LAN found on Thinkpad USB-C and Thunderbolt Gen 2 docking stations.
Submitted by: ali.abdallah@suse.com MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
show more ...
|
| #
7d0368ee
|
| 19-Dec-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Ensure a minimum packet length before creating a mbuf in if_ure.
Sponsored by: Mellanox Technologies // NVIDIA Networking
|
| #
412bbd08
|
| 19-Dec-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Move SYSCTL_ADD_PROC() to unlocked context in if_ure to avoid lock order reversal.
MFC after: 1 week Reported by: Mark Millard <marklmi@yahoo.com> Sponsored by: Mellanox Technologies // NVIDIA Netwo
Move SYSCTL_ADD_PROC() to unlocked context in if_ure to avoid lock order reversal.
MFC after: 1 week Reported by: Mark Millard <marklmi@yahoo.com> Sponsored by: Mellanox Technologies // NVIDIA Networking
show more ...
|
| #
7d5522e1
|
| 12-Sep-2020 |
John-Mark Gurney <jmg@FreeBSD.org> |
A major update to the ure driver.
This update adds support for: HW VLAN tagging HW checksum offload for IPv4 and IPv6 tx and rx aggreegation (for full gige speeds) multiple transactions
In my testi
A major update to the ure driver.
This update adds support for: HW VLAN tagging HW checksum offload for IPv4 and IPv6 tx and rx aggreegation (for full gige speeds) multiple transactions
In my testing, I am able to get 900-950Mbps depending upon TCP or UDP, which is a significant improvement over the previous 91Mbps (~8kint/sec*1500bytes/packet*1packet/int).
Reviewed by: hselasky MFC after: 2 months Differential Revision: https://reviews.freebsd.org/D25809
show more ...
|