History log of /src/sys/dev/usb/net/if_ure.c (Results 1 – 25 of 160)
Revision Date Author Comments
# 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 ...


1234567