sephe
4f04814f5b
hyperv/hn: Reset do_lro, if the hash types are not TCP related.
...
Mainly because the host side only set TCPCS and IPCS even for
UDP datagrams.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8369
2016-10-31 05:05:12 +00:00
sephe
efeebd338f
hyperv/hn: Cleanup RXBUF ack processing.
...
- Increase the # of retries.
- Add comment.
- Log error, if RXBUF ack fails.
- Add stat for RXBUF ack failures.
RXBUF ack really should _not_ fail...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8368
2016-10-31 04:54:15 +00:00
sephe
82d08d7520
hyperv/hn: Rework temporary channel packet buffer expanding.
...
And use large default temporary channel packer buffer; we really
don't want it to be expanded at run time.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8367
2016-10-31 04:46:02 +00:00
sephe
b5122619a3
hyperv/hn: Rename cleaned up RNDIS source file.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8361
2016-10-31 01:36:28 +00:00
sephe
74a4ba5551
hyeprv/hn: Rename cleaned up RNDIS header file.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8360
2016-10-28 08:53:18 +00:00
sephe
0d524ff231
hyperv/hn: Change header guardian; in preparation for the upcoming rename.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8359
2016-10-28 08:41:30 +00:00
sephe
eb978bb14d
hyperv/hn: Cleanup RNDIS related files.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8358
2016-10-28 08:32:54 +00:00
sephe
f9a861bf79
hyperv/hn: Pull data path code up.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8357
2016-10-28 08:18:49 +00:00
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
sephe
47ad6aabc5
hyperv/vmbus: Add dynamic device add and remove support
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8008
2016-09-27 06:30:24 +00:00
sephe
6db214c947
hyperv/hn: Put debug messages under bootverbose
...
While I'm here, strip blank line.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7963
2016-09-21 06:54:26 +00:00
sephe
dabe14a5c1
hyperv/vmbus: Assert that the bufring address is page aligned.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7962
2016-09-21 06:43:52 +00:00
sephe
7063640de7
hyperv/hn: Allocate bufrings in attach DEVMETHOD.
...
So that reinitialization, e.g. MTU change, will not fail when the system
memory is excessively fragmented.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7961
2016-09-21 06:27:42 +00:00
sephe
08260b5996
hyperv/vmbus: Allow bufrings preallocation.
...
The assumption that the channel is only opened upon synthetic device
attach time no longer holds, e.g. Hyper-V network device MTU changes.
We have to allow device drivers to preallocate bufrings, e.g. in
attach DEVMETHOD, to prevent bufring allocation failure once the
system memory is fragmented after running for a while.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7960
2016-09-21 05:56:47 +00:00
sephe
9ec843e04e
hyperv/storvsc: Fix SRB length setting.
...
This fixes disk discovery issue on WS2008R2 Hyper-V, which plagued
us since 10.2-release.
Reported by: many
MFC after: 3 days
Sponsored by: Microsoft
2016-09-20 08:52:45 +00:00
sephe
b2221eff7a
hyperv/hn: Let the caller of hn_nvs_doinit() do the error logging.
...
So that NVS version probing failure does not look too scary.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7950
2016-09-20 05:45:18 +00:00
sephe
9dd94538df
hyperv/hn: Fix ifnet hwassist setup.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7948
2016-09-20 05:26:40 +00:00
sephe
45119492d5
hyperv/hn: Allow RSS capability flipping upon attach/reinit.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7927
2016-09-19 07:47:56 +00:00
sephe
c231ab8ef1
hyperv/hn: Stringent RSS sysctl checks
...
- Don't change RNDIS RSS configuration for RSS key sysctl, if the
interface is not capable of RSS yet.
- Don't change RSS indirect table (both cached one and RNDIS RSS
configuration), if the interface is not capable of RSS yet.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7924
2016-09-19 07:39:42 +00:00
sephe
d5de427dd3
hyperv/hn: Don't allow MTU change, if it is not supported by the NVS.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7923
2016-09-19 07:32:08 +00:00
sephe
f5b041ff24
hyperv/hn: Save capabilities for later use.
...
And don't allow capability changes during reinitialization, which
breaks too much static configuration.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7922
2016-09-19 07:17:43 +00:00
sephe
80dd1ec11d
hyperv/hn: Don't allow NVS and NDIS version change upon reinitailization
...
NVS and NDIS version change would break too much assumption and static
configuration.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7919
2016-09-19 07:07:23 +00:00
sephe
ba2004cd6c
hyperv/hn: Apply RSS indirect table fixup before configure RNDIS RSS.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7916
2016-09-19 06:46:22 +00:00
sephe
0fa46353e7
hyperv/hn: Add sysctls to dynamic adjust RSS key and indirect table
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7890
2016-09-18 08:19:33 +00:00
sephe
f29c827bf6
hyperv/hn: Don't mess up RSS key and indirect table after attachment.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7889
2016-09-18 08:10:40 +00:00
sephe
a239b508b1
hyperv/hn: Put debug message under bootverbose
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7875
2016-09-18 07:47:57 +00:00
sephe
a2ca134cde
hyperv/hn: Regroup ifnet setup code.
...
While I'm here, add comment along the attach DEVMETHOD.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7874
2016-09-18 07:37:59 +00:00
sephe
64f12ccd11
hyperv/hn: Fix some ifnet settings
...
- ifnet.if_mtu does not require explicit setting.
- ifnet.if_hdrlen must be set after ether_ifattach().
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7873
2016-09-14 09:17:00 +00:00
sephe
1b470cd353
hyperv/hn: Remove the FreeBSD_version check for TSO configuration
...
It is available on both stable/10 and stable/11. This eases future MFCs
to stable/10.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7872
2016-09-14 08:59:13 +00:00
sephe
fd9a262eae
hyperv/hn: Bring in shims from stable/10
...
This eases future MFCs to stable/10.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7871
2016-09-14 08:48:08 +00:00
sephe
170f6a6944
hyperv/hn: Use sx for the main lock.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7870
2016-09-14 08:33:08 +00:00
sephe
a815aec5cd
hyperv/hn: Cleanup hn_ioctl.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7869
2016-09-14 08:24:01 +00:00
sephe
fd8dfeb125
hyperv/hn: Function renaming: hn_ifinit -> hn_init
...
No functional changes.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7868
2016-09-14 08:08:45 +00:00
sephe
fcda2f656a
hyperv/hn: Deprecate hn_softc_t
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7867
2016-09-14 08:00:30 +00:00
sephe
e885a46d4d
hyperv/hn: Remove unused softc field
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7866
2016-09-14 06:47:25 +00:00
sephe
9d9b2b037d
hyperv/vmbus: Make sure that the sub-channel count is valid.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7865
2016-09-14 06:30:14 +00:00
sephe
26f5a0e4f4
hyperv/hn: Pull RSS key and indirect table setup up.
...
This paves the way for the dynamic RSS key and indirect table setting.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7864
2016-09-14 06:15:45 +00:00
sephe
60bb07b68b
hyperv/hn: Reorganize synthetic parts attach code.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7860
2016-09-13 05:54:31 +00:00
sephe
85acf9b538
hyperv/hn: Regroup synthetic parts attach code.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7859
2016-09-13 05:41:13 +00:00
sephe
da85e5baad
hyperv/hn: Reorganize channel attach/detach code.
...
This paves the way for further attach/detach code reorganization.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7858
2016-09-13 05:27:36 +00:00
sephe
684e8a79fe
hyperv/hn: Pull ether address and link status extraction up.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7831
2016-09-12 06:12:28 +00:00
sephe
ffce674242
hyperv/hn: Reorganize RNDIS attach
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7830
2016-09-12 05:59:39 +00:00
sephe
bf4d7e1d2a
hyperv/hn: Reorganize sub-channel allocation.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7829
2016-09-12 05:37:44 +00:00
sephe
11f8950daa
hyperv/hn: Function rename.
...
- Minor style changes.
- Nuke unnecessary indirection.
- Nuke unapplied comment.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7827
2016-09-12 05:28:50 +00:00
sephe
204cca463f
hyperv/hn: Rename chimney sending buffer connect/disconnect functions.
...
Minor cleanup and wording in error messages.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7825
2016-09-12 05:18:30 +00:00
sephe
baa521c8b9
hyperv/hn: Rename RXBUF connect/disconnect functions.
...
Minor cleanup and wording in error messages.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7823
2016-09-12 05:09:45 +00:00
sephe
39f6441a8e
hyperv/hn: Factor out NVS NDIS initialization
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7811
2016-09-08 07:45:20 +00:00
sephe
74509a3824
hyperv/hn: Function renaming.
...
While I'm here, remove obvious comment.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7810
2016-09-08 07:34:31 +00:00
sephe
0e9e962441
hyperv/kvp: Fix IPv4/IPv6 address injection support.
...
The GUID string provided by hypervisor has leading and trailing braces,
while our GUID string does not have braces at all. Both braces should
be ignored, when the GUID strings are compared.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Modified by: sephe
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7809
2016-09-08 07:16:56 +00:00
sephe
86910a48b1
hyperv/hn: Pass MTU around.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7808
2016-09-08 06:42:30 +00:00
sephe
9ab972f191
hyperv/hn: Factor out function to do NVS initialization.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7807
2016-09-08 06:23:08 +00:00
sephe
fa238131f1
hyperv/hn: Push RXBUF size adjustment down.
...
It is not used in other places.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7806
2016-09-08 06:06:54 +00:00
sephe
9583bc58f6
hyperv/hn: Pull vmbus channel open up.
...
While I'm here, pull up the channel callback related code too.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7805
2016-09-08 05:27:43 +00:00
sephe
c95ee8c109
hyperv/hn: Nuke unused bits
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7795
2016-09-07 09:20:58 +00:00
sephe
bd058446e9
hyperv/hn: Simplify per-packet-info construction.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7794
2016-09-07 06:02:29 +00:00
sephe
38aa4a3d7c
hyperv/hn: Cleanup RNDIS packet message encapsulation.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7793
2016-09-07 05:41:01 +00:00
sephe
d6bee07c16
hyperv/hn: Avoid bit fields for TXCSUM setup.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7792
2016-09-07 05:27:43 +00:00
sephe
9dd95eb0d4
hyperv/hn: Avoid bit fields for LSOv2 setup.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7786
2016-09-06 04:37:53 +00:00
sephe
6f4440fbaa
hyperv/hn: Fix VLAN tag setup for outgoing VLAN packets.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7785
2016-09-06 03:31:31 +00:00
sephe
c0bfc06f57
hyperv/hn: Stringent RNDIS packet message length/offset check.
...
While I'm here, use definition in net/rndis.h
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7782
2016-09-06 03:20:06 +00:00
sephe
ac30c91cf9
hyperv/hn: Stringent RNDIS control message length check.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7758
2016-09-05 05:07:40 +00:00
sephe
a27cd8364d
hyperv/hn: Stringent NVS RNDIS packets length checks.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7755
2016-09-05 04:47:31 +00:00
sephe
088ee2c76a
hyperv/hn: Stringent NVS notification length check.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7753
2016-09-05 03:39:04 +00:00
sephe
07bd11a4ea
hyperv/vmbus: Stringent header length and total length check.
...
While I'm here, minor style changes.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7752
2016-09-05 03:21:31 +00:00
sephe
0f4a5baf74
hyperv/ic: Cleanup timesync channel callback.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7745
2016-09-02 06:23:28 +00:00
sephe
d9ecf9bddb
hyperv/ic: Cleanup shutdown channel callback.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7744
2016-09-02 06:15:30 +00:00
sephe
65a297b191
hyperv/ic: Minor style fix.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7743
2016-09-02 06:08:08 +00:00
sephe
d2779e1b33
hyperv/hn: Use the per-packet-info types defined by net/rndis.h
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7737
2016-09-02 05:30:38 +00:00
sephe
4e23bcc244
hyperv/hn: Simplify RX hash related bits.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7736
2016-09-02 03:19:55 +00:00
sephe
46f531e66b
hyperv/hn: Rework RXCSUM related bits
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7735
2016-09-02 03:10:30 +00:00
sephe
9bc99b737b
hyperv/hn: Fix VLAN tag construction.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7716
2016-09-01 07:04:47 +00:00
sephe
fea56cd2fd
hyperv/hn: Stringent per-packet-info verification.
...
While I'm here, minor style changes.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7709
2016-09-01 06:05:08 +00:00
sephe
51bada0ecf
hyperv/hn: Remove unused function
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7706
2016-09-01 05:29:58 +00:00
sephe
6949bf9f3f
hyperv/timesync: Rework time adjustment policy
...
- By default, adjust time upon SYNC request. It can be disabled
through hw.hvtimesync.ignore_sync_req. SYNC request will be
sent by hypervisor the host is resumed, rebooted, etc.
- By default, adjust time upon SAMPLE request, if there is 100ms
difference between VM time and hypervisor time. This can be
disabled through hw.hvtimesync.sample_drift.
And nuke the unnecessary task, since channel callback is running
in a Hyper-V taskqueue nowadays.
Submitted by: YanZhe Chen <t-yachen microsoft com>
Discussed with: Dexuan Cui <decui microsoft com>, Hongjiang Zhang <honzhan microsoft com>, sephe
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7707
2016-08-31 06:00:20 +00:00
sephe
5c3601c645
hyperv/hn: Consolidate NVS transaction execution.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7704
2016-08-31 05:27:30 +00:00
sephe
2f84fd716e
hyperv/hn: Remove unnecessary NULL check.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7690
2016-08-30 05:47:58 +00:00
sephe
55b4260579
hyperv/hn: Log packet message alignment.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7689
2016-08-30 05:35:19 +00:00
sephe
41918d1106
hyperv/hn: Remove the useless rndis_device and related bits
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7687
2016-08-30 05:21:34 +00:00
sephe
63a72a7723
hyperv/hn: Switch to new RNDIS transaction execution for halt.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7686
2016-08-30 05:09:26 +00:00
sephe
9d4e07fea8
hyperv/hn: Factor out func to exec RNDIS transaction w/o checking result
...
It will be used by RNDIS HALT and RESET.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7685
2016-08-30 04:04:29 +00:00
sephe
f0b1e3f94c
hyperv/hn: Remove unused function
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7684
2016-08-30 03:55:43 +00:00
sephe
e64ce689a5
hyperv/hn: Switch to new RNDIS set for RX filters.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7683
2016-08-30 03:40:22 +00:00
sephe
f3fa9706f1
net/rndis: Packet types are defined by NDIS; not RNDIS specific.
...
Reviewed by: hps
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7681
2016-08-30 03:11:07 +00:00
sephe
34a8e48444
hyperv/hn: Indentation and field comment fixup for ndis.h.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7680
2016-08-30 03:03:19 +00:00
sephe
465861b3f3
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.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7679
2016-08-30 02:55:07 +00:00
sephe
e6580be47d
hyperv/hn: Switch to new RNDIS set for RSS parameters.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7658
2016-08-29 05:35:35 +00:00
sephe
74f52cbba9
hyperv/hn: Fix # of channels setting, if RSS is not available.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7657
2016-08-29 05:08:53 +00:00
sephe
a9589796bc
hyperv/hn: Switch to new RNDIS query for RSS capabilities extraction.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7656
2016-08-29 04:54:13 +00:00
sephe
f58263378e
hyperv/hn: Switch to new RNDIS query for link status extraction.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7654
2016-08-29 04:44:24 +00:00
sephe
d9a088e165
hyperv/hn: Add definition for NDIS media state.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7652
2016-08-29 03:22:56 +00:00
sephe
ccf7079f91
hyperv/hn: Use vmbus xact for RNDIS set.
...
And use new RNDIS set to configure NDIS offloading parameters.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7641
2016-08-26 05:18:27 +00:00
sephe
68e90f3a55
hyperv/hn: Save the adopted NDIS version for RNDIS to use later.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7640
2016-08-26 05:15:08 +00:00
sephe
54142c676e
hyperv/hn: Use vmbus xact for RNDIS query.
...
And switch MAC address query to use new RNDIS query function.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7639
2016-08-26 05:12:09 +00:00
sephe
4dc6a90e5f
hyperv/storvsc: Increase queue depth and rework channel selection.
...
- Increasing queue depth gives ~100% performance improvement for
randwrite fio test in Azure.
- New channel selection, which takes LUN id and the current cpuid
into consideration, gives additional ~20% performance improvement
for ranwrite fio test in Azure.
Submitted by: Hongzhang Jiang <honzhan microsoft com>
Modified by: sephe
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7622
2016-08-25 05:50:19 +00:00
sephe
b864f0ef69
hyperv/vmbus: Add function to calculate max # of elements in a bufring.
...
MFC after: 1 week
Sponsored by: Microsoft
2016-08-25 05:35:51 +00:00
sephe
dad64e9862
hyperv/ic: Update total message size if negotiate message size grows.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7627
2016-08-25 05:24:57 +00:00
sephe
29337f1b1b
hyperv/ic: Cleanup heartbeat channel callback.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7626
2016-08-25 05:11:04 +00:00
sephe
dcbc2f8fcd
hyperv/hn: Use vmbus xact for RNDIS initialize.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7624
2016-08-25 05:00:41 +00:00
sephe
87e8626558
hyperv/hn: Add compat code for RNDIS reorganization phase.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7621
2016-08-25 04:52:50 +00:00
sephe
5b9ae032f1
hyperv/hn: Use definition in net/rndis.h for message type and status code.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7620
2016-08-25 04:40:51 +00:00
sephe
50f4719b11
hyperv/ic: Redefine IC version negotiate message.
...
And stringent input IC version negotiate message checks.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7614
2016-08-24 04:36:04 +00:00