sephe
963767d43e
hyperv/hn: Reorganize RX path; mainly pull non-control code path up
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8356
2016-10-28 08:08:46 +00:00
sephe
375567d32c
hyperv/hn: Nuke unnecessary indirection.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8355
2016-10-28 07:59:02 +00:00
sephe
dd7bef5f96
hyperv/hn: Rename cleaned up NVS source file.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8354
2016-10-28 07:48:17 +00:00
sephe
06dae764b5
hyperv/hn: Rename cleaned up NVS header file.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8353
2016-10-28 05:56:23 +00:00
sephe
f7025d8c3c
hyperv/hn: Change header guardian; in preparation for the upcoming rename.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8352
2016-10-28 05:31:34 +00:00
sephe
65de6ee79a
hyperv/hn: NVS inclusion cleanup and forward declare functions.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8347
2016-10-27 05:33:48 +00:00
sephe
28ab57d349
hyperv/hn: Move send context to NVS domain.
...
Since all sends are encapsulated in NVS messages.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8346
2016-10-27 05:26:04 +00:00
sephe
d2af2cc019
hyperv/hn: Move hn_softc to if_hnvar.h
...
While I'm here, use consistent macro names.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8345
2016-10-27 05:13:00 +00:00
sephe
1759ebe452
hyperv/hn: Shuffle chimney sending buffer alloc/free around.
...
This paves way for more chimney sending buffer reorganization.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8343
2016-10-27 05:04:54 +00:00
sephe
d031f86f85
hyperv/hn: Define empty packet filter.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8342
2016-10-27 04:55:19 +00:00
sephe
56fb7a1d44
hyperv/hn: Move %b format string for capabilities near their definition.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8341
2016-10-27 04:42:39 +00:00
sephe
86d54eef2b
hyperv/hn: Nuke unnecessary M_NETVSC
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8340
2016-10-27 04:28:01 +00:00
sephe
afcf06b664
hyperv/hn: Properly configure RSS according to RSS capabilities
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8338
2016-10-27 03:43:27 +00:00
sephe
a2c3198ca0
hyperv/vmbus: Implement vmbus_chan_printf.
...
And use it for vmbus channel logging, which can log the channel
owner's name properly, instead of vmbus0.
Submitted by: QianYue You <t-youqi microsoft com>
MFC after: 1 week
Sponsored by: Microsoft
2016-10-26 05:06:23 +00:00
sephe
1a17845c56
hyperv/vmbus: Add missing white space.
...
Submitted by: QianYue You <t-youqi microsoft com>
MFC after: 1 week
Sponsored by: Microsoft
2016-10-26 04:26:17 +00:00
sephe
e57ec55e20
hyperv/hn: Set baudrate properly
...
PR: 208931
Submitted by: Eugene Grosbein <ports grosbein net>
Reported by: Eugene Grosbein <ports grosbein net>
MFC after: 1 week
Sponsored by: Microsoft
2016-10-25 01:41:39 +00:00
sephe
4852ebe987
hyperv/ic: Rework framework/message version negotiation.
...
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Modified by: sephe
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8280
2016-10-24 05:36:19 +00:00
sephe
b32eac7211
hyperv/hn: Nuke unused forward declaration.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8314
2016-10-24 05:20:02 +00:00
sephe
5dd046f63c
hyperv/hn: Fix RX filter settings.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8313
2016-10-24 05:10:35 +00:00
sephe
951eda704f
hyperv/hn: Start link status check, if no network changes were pending.
...
Link status check is much more lightweight than network change detection.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8311
2016-10-24 05:01:34 +00:00
sephe
2996ef4628
hyperv/hn: Properly handle synthetic parts reattach failure.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8310
2016-10-24 03:42:34 +00:00
sephe
62142d087b
hyperv/hn: Fix chimney sending buffer leakage upon NVS sending failure.
...
This will not happen in real world, since TX consumption of the vmbus
TX bufring is limitted. Better safe than sorry.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8309
2016-10-24 03:34:19 +00:00
sephe
3f7e8737d4
hyperv/hn: Move chimney buffer index and size to txdesc.
...
All RNDIS control messages have used SG list for a while. This makes
the send context suitable for further refactoring.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8308
2016-10-24 03:26:34 +00:00
sephe
c9b2fb9f01
hyperv/hn: Function renaming; consistent w/ hardware capabilities query.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8296
2016-10-21 08:21:23 +00:00
sephe
af310e5e05
hyperv/hn: Add network change support.
...
Currently the network change is simulated by link status changes.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8295
2016-10-21 08:02:05 +00:00
sephe
d10298a127
hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8293
2016-10-21 07:46:35 +00:00
sephe
49c3662ce5
hyperv/hn: Always query RSS capabilities.
...
- This avoid distributing NDIS version check.
- Only NDIS 6.20 required (earlier NDIS uses different indirect table
format).
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8291
2016-10-21 07:37:29 +00:00
sephe
b4afcf142f
hyperv/vmbus: Expose channel management taskqueue for driver to use.
...
MFC after: 3 days
Sponsored by: Microsoft
2016-10-19 09:12:14 +00:00
sephe
ee6e6166db
hyperv/vmbus: Add __FBSDID
...
Sponsored by: Microsoft
2016-10-14 05:47:59 +00:00
sephe
f481115329
hyperv/hn: Management parts always need suspend and resume.
...
MFC after: 3 days
Sponsored by: Microsoft
2016-10-14 05:41:51 +00:00
sephe
5cee782b2a
hyperv/stor: Fix off-by-one bug; this brings back TRIM support.
...
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Reported by: Lili Deng <v-lide microsoft com>
MFC after: 3 days
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8238
2016-10-14 05:32:47 +00:00
sephe
0eeac369c3
hyperv/hn: Rework link status support.
...
This is the preamble for network device SR-IOV and
NDIS_STATUS_NETWORK_CHANGE handling.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8209
2016-10-11 02:54:56 +00:00
sephe
e1e67dd91b
hyperv/vmbus: Allow driver to inject synchronous task into channel taskq.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8208
2016-10-11 02:43:23 +00:00
sephe
fce72f9619
hyperv/hn: Suffix NDIS offload size with NDIS version.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8091
2016-10-10 06:14:38 +00:00
sephe
6dfcd4055f
hyperv/hn: Generalize RSS capabilities query.
...
- Support NDIS < 6.30.
- Stringent response checks.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8090
2016-10-10 05:59:30 +00:00
sephe
dd8232697a
hyperv/hn: Fix if_hw_tsomax setup.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8089
2016-10-10 05:50:01 +00:00
sephe
b7a49dcdb3
hyperv/hn: Fix checksum offload settings
...
The _correct_ way to identify the supported checksum offloading and
TSO parameters is to query OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8088
2016-10-10 05:41:39 +00:00
sephe
7c97b5526b
hyperv/hn: Add stubs for OFFLOAD_CURRENT_CONFIG and NETWORK_CHANGE status
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8068
2016-09-30 06:58:45 +00:00
sephe
d977220fb8
hyperv/hn: Fix detach and attach error handling.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8066
2016-09-30 06:30:16 +00:00
sephe
53b603805a
hyperv/hn: If synthetic parts are detached, don't touch them.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8065
2016-09-30 06:21:00 +00:00
sephe
891c695d6e
hyperv/hn: Don't set HASHVAL pktinfo for NDIS < 6.30
...
This unbreaks packet sending on WS2008R2.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8057
2016-09-29 05:13:58 +00:00
sephe
5bee7e5b98
hyperv/hn: Consolidate hn_init() and hn_stop()
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8056
2016-09-29 05:01:20 +00:00
sephe
fbc29ffcc2
hyperv/hn: Move TX tasks' draining into hn_suspend().
...
This prepares to consolidate hn_stop() and netvsc_detach().
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8055
2016-09-29 04:53:21 +00:00
sephe
4608daaf65
hyperv/storvsc: Fix the blkvsc disk attachment issues.
...
- The original 'disengage' ATA controller model does not work properly
for all possible disk configurations. Use the newly added ATA disk
veto eventhandler to fit into all possible disk configuration.
- If the 'invalid LUN' happens on blkvsc controllers, return
CAM_DEV_NOT_THERE so that CAM will not destroy attached disks under
the blkvsc controllers.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Discussed with: mav
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7693
2016-09-29 01:41:52 +00:00
sephe
053cb8ebe2
hyperv/hn: Flatten RX filter configuration.
...
This paves way for more fixes.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8049
2016-09-28 05:12:09 +00:00
sephe
edf1b45567
hyperv/hn: Reorder the comment a little bit.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8048
2016-09-28 05:01:53 +00:00
sephe
66e7b4fa47
hyperv/hn: Reorganize the synthetic parts detach.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8047
2016-09-28 04:45:00 +00:00
sephe
a5aad6f58b
hyperv/hn: Suspend and resume the backend properly upon MTU change.
...
Suspend:
- Prevent the backend from being touched on TX path.
- Clear the RNDIS RX filter, and wait for RX to drain.
- Make sure that NVS see the chimney sending buffer and RXBUF
disconnection, before unlink these buffers from the channel.
Resume:
- Reconfigure the RNDIS filter.
- Allow TX path to work on the backend.
- Kick start the TX eof task, in case the OACTIVE is set.
This fixes various panics, when the interface has traffic and MTU
is being changed.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8046
2016-09-28 04:34:21 +00:00
sephe
2b56b359d5
hyperv/vmbus: Add function to drain channel interrupt task.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8045
2016-09-28 04:25:25 +00:00
sephe
525ba9df05
hyperv/vmbus: Add functions to test RX/TX bufring emptiness
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8044
2016-09-28 04:08:20 +00:00