History log of /freebsd-10-stable/sys/dev/usb/net/if_urndis.c
Revision Date Author Comments
# 351017 14-Aug-2019 hselasky

MFC r350396:
Add support for tethering with Nokia 7 plus and the alike.

PR: 239495
Sponsored by: Mellanox Technologies


# 307184 13-Oct-2016 sephe

MFC 304973,304975,304976,304979,305044-305048

304973
hyperv/hn: Switch to new RNDIS query for link status extraction.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7654

304975
hyperv/hn: Switch to new RNDIS query for RSS capabilities extraction.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7656

304976
hyperv/hn: Fix # of channels setting, if RSS is not available.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7657

304979
hyperv/hn: Switch to new RNDIS set for RSS parameters.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7658

305044
hyperv/hn: Move OIDs to net/rndis.h; they are standard NDIS OIDs.

Actually all OIDs defined in net/rndis.h are standard NDIS OIDs.
While I'm here, use the verbose macro name as in NDIS spec.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7679

305045
hyperv/hn: Indentation and field comment fixup for ndis.h.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7680

305046
net/rndis: Packet types are defined by NDIS; not RNDIS specific.

Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7681

305047
hyperv/hn: Switch to new RNDIS set for RX filters.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7683

305048
hyperv/hn: Remove unused function

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7684


# 307175 12-Oct-2016 sephe

MFC 304654,304722,304723

304654
net: Split RNDIS protocol structs/macros out of dev/usb/net/if_urndisreg.h

So that Hyper-V can leverage them instead of rolling its own definition.

Discussed with: hps
Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7592

304722
net/rndis: Add canonical RNDIS major/minor version as of today.

Reviewed by: hps
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7593

304723
net/rndis: Fix RNDIS_STATUS_PENDING definition.

While I'm here, sort the RNDIS status in ascending order.

Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7594


# 292792 27-Dec-2015 marius

MFC: r285909, r285913 (partial)

- Probe UICLASS_CDC/UISUBCLASS_ABSTRACT_CONTROL_MODEL/0xff again. This
variant of Microsoft RNDIS, i. e. their unofficial version of CDC ACM,
has been disabled in r261544 (r262363 in stable/10) for resolving a
conflict with umodem(4). Eventually, in r275790 (r276243 in stable/10)
that problem was dealt with in the right way. However, r275790 failed
to put probing of RNDIS devices in question back.
- Initialize the device prior to querying it, as required by the RNDIS
specification. Otherwise already determining the MAC address may fail
rightfully.
- On detach, halt the device again.
- Use UCDC_SEND_ENCAPSULATED_{COMMAND,RESPONSE}. While these macros are
resolving to the same values as UR_{CLEAR_FEATURE,GET_STATUS}, the
former set is way more appropriate in this context.
- Report unknown - rather: unimplemented - events unconditionally and
not just in debug mode. This ensures that we'll get some hint of what
is going wrong instead of the driver silently failing.
- Deal with the Microsoft ActiveSync requirement of using an input buffer
the size of the expected reply or larger - except for variably sized
replies - when querying a device.
- Fix some pointless NULL checks, style bugs etc.

This changes allow urndis(4) to communicate with a Microsoft-certified
USB RNDIS test token.


# 290607 09-Nov-2015 hselasky

MFC r290441:
Fix for unaligned IP-header.

The mbuf length fields must be set before m_adj() is called else
m_adj() will not always adjust the mbuf and an unaligned read
exception can trigger inside the network stack. This can happen on
platforms where unaligned reads are not supported. Adjust a length
check to include the 2-byte ethernet alignment while at it.


# 276243 26-Dec-2014 hselasky

MFC r275790 and r275791:
Resolve USB driver identification conflict.
Regenerate etc/devd/usb.conf.


# 262363 23-Feb-2014 hselasky

MFC r261541, r261543 and r261544:
Import USB RNDIS driver to FreeBSD from OpenBSD.
Useful for so-called USB tethering.
- Imported code from OpenBSD
- Adapted code to FreeBSD
- Removed some unused functions
- Fixed some buffer encoding and decoding issues
- Optimised data transport path a bit, by sending multiple packets at a time
- Increased receive buffer to 16K


# 276243 26-Dec-2014 hselasky

MFC r275790 and r275791:
Resolve USB driver identification conflict.
Regenerate etc/devd/usb.conf.


# 262363 23-Feb-2014 hselasky

MFC r261541, r261543 and r261544:
Import USB RNDIS driver to FreeBSD from OpenBSD.
Useful for so-called USB tethering.
- Imported code from OpenBSD
- Adapted code to FreeBSD
- Removed some unused functions
- Fixed some buffer encoding and decoding issues
- Optimised data transport path a bit, by sending multiple packets at a time
- Increased receive buffer to 16K