Sepherosa Ziehau
174e02e003
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
Sepherosa Ziehau
276c74b29a
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
Sepherosa Ziehau
2b9577d34f
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
Sepherosa Ziehau
69c127b6e5
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
Sepherosa Ziehau
8b7bba155c
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
Sepherosa Ziehau
af7799b26d
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
Sepherosa Ziehau
23d0fe6357
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
Sepherosa Ziehau
555e179833
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
Sepherosa Ziehau
06100f2e8c
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
Sepherosa Ziehau
098ab4a242
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
Sepherosa Ziehau
5e61a96882
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
Sepherosa Ziehau
ec10046102
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
Sepherosa Ziehau
1f7866a48e
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
Sepherosa Ziehau
e0e273e2d4
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
Sepherosa Ziehau
2a3a8a823c
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
Sepherosa Ziehau
2cd02514a1
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
Sepherosa Ziehau
b5f59ae0e2
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
Sepherosa Ziehau
0c84fbafef
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
Sepherosa Ziehau
a711c28f62
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
Sepherosa Ziehau
b33720da59
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
Sepherosa Ziehau
5152795ab9
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
Sepherosa Ziehau
a74e025394
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
Sepherosa Ziehau
021deece8f
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
Sepherosa Ziehau
f7a9af2829
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
Sepherosa Ziehau
c8fca9324a
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
Sepherosa Ziehau
b67f3d2873
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
Sepherosa Ziehau
b44fb279e8
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
Sepherosa Ziehau
61ac564fd0
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
Sepherosa Ziehau
5761f5dfdd
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
Sepherosa Ziehau
50002d3dfa
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
Sepherosa Ziehau
14ee29ba93
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
Sepherosa Ziehau
b349357819
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
Sepherosa Ziehau
0bbb7d483b
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
Sepherosa Ziehau
7a466137f0
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
Sepherosa Ziehau
dc65be7a3d
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
Sepherosa Ziehau
2a469fff98
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
Sepherosa Ziehau
4e835450fd
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
Sepherosa Ziehau
a191051577
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
Sepherosa Ziehau
b34d3ad6cc
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
Sepherosa Ziehau
fc4a9fc4c0
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
Sepherosa Ziehau
2c2e52605f
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
Sepherosa Ziehau
cf38cf1b7a
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
Sepherosa Ziehau
96376f14a9
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
Sepherosa Ziehau
fa021050df
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
Sepherosa Ziehau
ecb735a3ac
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
Sepherosa Ziehau
1eeba644f0
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
Sepherosa Ziehau
63d98d54aa
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
Sepherosa Ziehau
c7359ebb0c
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
Sepherosa Ziehau
05bbfc3062
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
Sepherosa Ziehau
1010113dad
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
Sepherosa Ziehau
77a48d6159
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
Sepherosa Ziehau
8bb1a21b56
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
Sepherosa Ziehau
fdda77284f
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
Sepherosa Ziehau
7681d6725a
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
Sepherosa Ziehau
e4e0ef792c
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
Sepherosa Ziehau
c204be533c
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
Sepherosa Ziehau
3dc33a77d7
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
Sepherosa Ziehau
77c4f5aa9d
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
Sepherosa Ziehau
467da5ad48
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
Sepherosa Ziehau
cc3d96db55
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
Sepherosa Ziehau
550bbdbd27
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
Sepherosa Ziehau
fec38279d8
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
Sepherosa Ziehau
6cc86f82b7
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
Sepherosa Ziehau
aa4a62df05
hyperv/hn: Log a warning for RESET_CMPLT.
...
RESET is not used by the hn(4) at all, and RESET_CMPLT does not even
have a rid to match with the pending requests. So, let's put it
onto an independent switch branch and log a warning about it.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7602
2016-08-24 04:21:15 +00:00
Sepherosa Ziehau
d51ce2d164
hyperv/hn: Remove the redundant rid setting for RNDIS HALT.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7595
2016-08-24 03:28:58 +00:00
Sepherosa Ziehau
2e5573e6de
hyperv/hn: Factor out function to simplify NVS request sending
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7578
2016-08-22 08:00:14 +00:00
Sepherosa Ziehau
8f556f2598
hyperv/hn: Factor out function to execute NVS transactions.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7577
2016-08-22 07:51:46 +00:00
Sepherosa Ziehau
ef56e63fb3
hyperv/hn: Get rid of netvsc_dev
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7575
2016-08-22 07:44:11 +00:00
Sepherosa Ziehau
fdd6031b04
hyperv/hn: Move chimney sending buffer to hn_softc
...
And don't recreate chimney sending buffer for each primary channel
open, it is now created in device_attach DEVMETHOD and destroyed
in device_detach DEVMETHOD.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7574
2016-08-22 07:34:39 +00:00
Sepherosa Ziehau
852710e6db
hyperv/hn: Move RXBUF to hn_softc
...
And don't recreate RXBUF for each primary channel open, it is now
created in device_attach DEVMETHOD and destroyed in device_detach
DEVMETHOD.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7556
2016-08-19 05:43:28 +00:00
Sepherosa Ziehau
d981413bcb
hyperv/hn: Remove the useless num_channel
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7555
2016-08-19 05:30:39 +00:00
Sepherosa Ziehau
2a137ab6fd
hyperv/hn: Remove assign-only struct field
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7554
2016-08-19 05:20:12 +00:00
Sepherosa Ziehau
0366a4a1e0
hyperv/hn: Move NVS version to softc
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7553
2016-08-19 03:32:04 +00:00
Sepherosa Ziehau
8caa09bd36
hyperv/hn: Get rid of the useless netvsc_packet
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7544
2016-08-18 05:52:03 +00:00
Sepherosa Ziehau
5aa07ccdd7
hyperv/hn: Constify RNDIS messages on RX path.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7542
2016-08-18 05:44:58 +00:00
Sepherosa Ziehau
83ecbf4d6a
hyperv/hn: Pass RX packet info to netvsc_recv.
...
This paves to nuke netvsc_packet, which does not serves much
purpose now.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7541
2016-08-18 05:33:58 +00:00
Sepherosa Ziehau
bf965e6dee
hyperv/hn: Get rid of unused bits
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7518
2016-08-17 05:57:10 +00:00
Sepherosa Ziehau
85c8f64b0b
hyperv/hn: Remove reference to nvsp_status
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7517
2016-08-17 05:45:57 +00:00
Sepherosa Ziehau
8b55644bae
hyperv/hn: Remove reference to nvsp_msg
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7516
2016-08-17 05:34:02 +00:00
Sepherosa Ziehau
5f0dee26f1
hyperv/hn: Simplify RNDIS RX packets acknowledgement.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7515
2016-08-17 05:25:47 +00:00
Sepherosa Ziehau
46911ec745
hyperv/hn: Ignore the useless TX table.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7514
2016-08-17 05:14:26 +00:00
Sepherosa Ziehau
de56155fe0
hyperv/hn: Simplify RNDIS message checks on RX path.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7502
2016-08-16 07:45:35 +00:00
Sepherosa Ziehau
62c4e6e992
hyperv/hn: Simplify RNDIS NVS message sending.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7501
2016-08-16 07:37:02 +00:00
Sepherosa Ziehau
5ac4acb202
hyperv/hn: Factor out hn_nvs_send/hn_nvs_send_sglist
...
Avoid unnecessary message type setting and centralize the send context
to transaction id cast.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7500
2016-08-16 07:26:53 +00:00
Sepherosa Ziehau
0f9b848541
hyperv/hn: Switch to vmbus xact APIs for sub-channel alloc request.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7480
2016-08-15 05:08:41 +00:00
Sepherosa Ziehau
a04b666a04
hyperv/hn: Simplify chimney sending buffer disconnection.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7479
2016-08-15 05:00:37 +00:00
Sepherosa Ziehau
8b204d6643
hyperv/hn: Simplify RXBUF disconnection.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7472
2016-08-12 08:29:26 +00:00
Sepherosa Ziehau
55c4b97bfa
hyperv/hn: Switch to vmbus xact APIs for NVS chimney buffer connection.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7470
2016-08-12 08:21:02 +00:00
Sepherosa Ziehau
d293af4049
hyperv/hn: Switch to vmbus xact APIs for NVS RXBUF connection.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7469
2016-08-12 08:07:56 +00:00
Sepherosa Ziehau
386c97e616
hyperv/hn: Simplify NDIS initialization.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7467
2016-08-12 07:57:03 +00:00
Sepherosa Ziehau
9b3922212a
hyperv/hn: Simplify NDIS configuration.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7466
2016-08-12 07:14:40 +00:00
Sepherosa Ziehau
3dba61dd3c
hyperv/vmbus: Use xact APIs to implement post message Hypercall APIs
...
Avoid code duplication.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7458
2016-08-11 06:24:17 +00:00
Sepherosa Ziehau
584e7c57f1
hyperv/hn: Switch to vmbus xact APIs for NVS initialization
...
Reviewed by: Jun Su <junsu microsoft com>
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7457
2016-08-11 06:14:54 +00:00
Sepherosa Ziehau
127d6d1a64
hyperv/hn: Reorganize send done callback.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7450
2016-08-10 03:11:07 +00:00
Sepherosa Ziehau
b5070c1829
hyperv/hn: Move gpa array out of netvsc_packet.
...
Prepare to deprecate the netvsc_packet.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7436
2016-08-09 04:50:20 +00:00
Sepherosa Ziehau
9d6016a773
hyperv/vmbus: Remove the artificial entry limit of SG and PRP list.
...
Just make sure that the total channel packet size does not exceed 1/2
data size of the TX bufring.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7359
2016-08-01 04:26:24 +00:00
Sepherosa Ziehau
7d8ee480c4
hyperv/vmbus: Inclusion cleanup
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7334
2016-07-28 06:46:10 +00:00
Sepherosa Ziehau
7dd8881ca6
hyperv/vmbus: Rename hv_vmbus_priv.h to vmbus_brvar.h
...
It only contains bufring related bits for a while.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7281
2016-07-25 03:12:40 +00:00
Sepherosa Ziehau
82b8a87964
hyperv: hv_vmbus_channel -> vmbus_channel
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7260
2016-07-21 06:09:47 +00:00
Sepherosa Ziehau
6254947245
hyperv/vmbus: Hide channel struct definition.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7245
2016-07-20 06:00:27 +00:00
Sepherosa Ziehau
fda1c6ee42
hyperv/vmbus: Deprecate the device private data in channel struct
...
They are neither flexible nor extensible.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7244
2016-07-20 05:48:52 +00:00
Sepherosa Ziehau
ca871fb75c
hyperv/vmbus: Pass channel as the first argument for channel callback
...
The prepares to kill device private fields in channel struct, which
are not flexible and extensible.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7243
2016-07-20 05:34:28 +00:00
Sepherosa Ziehau
9129ad2d70
hyperv/vmbus: Channel struct field rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7242
2016-07-20 05:26:04 +00:00
Sepherosa Ziehau
267fb25f21
hyperv/vmbus: Get rid of unnecessary definition.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7240
2016-07-20 05:03:04 +00:00
Sepherosa Ziehau
e93854c495
hyperv/vmbus: Function rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7230
2016-07-19 05:57:19 +00:00
Sepherosa Ziehau
d0856980e4
hyperv/vmbus: Function rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7212
2016-07-15 08:23:33 +00:00
Sepherosa Ziehau
a91e5fd55f
hyperv/vmbus: Back out r302888 temporarily
...
Committed by accident w/ duplicated commit log
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-07-15 08:13:44 +00:00
Sepherosa Ziehau
047affd165
hyperv/hn: Busdma-fy rxbuf and chimney sending buffer
...
Nuke unused channel GPADL API.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7211
2016-07-15 08:08:13 +00:00
Sepherosa Ziehau
8c209c9206
hyperv/hn: Busdma-fy rxbuf and chimney sending buffer
...
Nuke unused channel GPADL API.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7211
2016-07-15 08:06:48 +00:00
Sepherosa Ziehau
43bbe6b27f
hyperv/vmbus: Cleanup channel packet receiving.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7204
2016-07-15 07:53:45 +00:00
Sepherosa Ziehau
12140675e8
hyperv/vmbus: Function rename
...
And reorder the error prone parameters list.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7191
2016-07-15 07:16:46 +00:00
Sepherosa Ziehau
03055a2cea
hyperv/vmbus: Move channel packet types definition to vmbus.h
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7177
2016-07-15 06:58:21 +00:00
Sepherosa Ziehau
1680fb300c
hyperv/vmbus: Move channel packet flags definition to vmbus.h
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7176
2016-07-15 06:49:45 +00:00
Sepherosa Ziehau
6199f16549
hyperv/vmbus: Rework sglist sending.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7156
2016-07-15 06:29:19 +00:00
Sepherosa Ziehau
3a1079321c
hyperv/vmbus: Use sub-channel index to detect primary channel
...
In case that VMBUS_CHAN_ISPRIMARY is needed in the early place of
channel setup.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7108
2016-07-14 07:24:03 +00:00
Sepherosa Ziehau
8c1ac91660
hyperv/vmbus: Nuke the channel open state.
...
Channel is either opened or not-opened.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7105
2016-07-14 06:59:04 +00:00
Sepherosa Ziehau
71ac1309f0
hyperv: hv_guid -> struct hyperv_guid.
...
This paves way for the further cleanup/disentangle.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7092
2016-07-14 05:25:31 +00:00
Sepherosa Ziehau
6a2ff2cbf7
hyperv/hn: Avoid the hv_device
...
This paves way to nuke the hv_device, which is actually an unncessary
indirection.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7033
2016-07-13 05:58:46 +00:00
Sepherosa Ziehau
884d26c84c
hyperv/vmbus: Add vmbus method for GUID base device probing.
...
Reduce the exposure of hv_device.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7024
2016-07-13 05:01:12 +00:00
Sepherosa Ziehau
4ac0a9bf1e
hyperv/vmbus: Make subchan index a field of hv_vmbus_channel.
...
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7015
2016-07-13 03:35:22 +00:00
Sepherosa Ziehau
2c4888c75b
hyperv/vmbus: Make channel id a field of hv_vmbus_channel.
...
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7014
2016-07-13 03:24:29 +00:00
Sepherosa Ziehau
99e315276a
hyperv/vmbus: Fix sub-channel re-open support.
...
For multi-channel devices, once the primary channel is closed,
a set of 'rescind' messages for sub-channels will be delivered
by Hypervisor. Sub-channel MUST be freed according to these
'rescind' messages; directly re-openning sub-channels in the
same fashion as the primary channel's re-opening does NOT work
at all.
After the primary channel is re-opened, requested # of sub-
channels will be delivered though 'channel offer' messages, and
this set of newly offered channels can be opened along side with
the primary channel.
This unbreaks the MTU setting for hn(4), which requires re-
openning all existsing channels upon MTU change.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6978
2016-07-12 08:38:03 +00:00
Sepherosa Ziehau
38d19df6ff
hyperv/vmbus: Rework vmbus version accessing.
...
Instead of global variable, vmbus version is accessed through
a vmbus DEVMETHOD now.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6953
2016-07-12 07:33:39 +00:00
Sepherosa Ziehau
57bb267df3
hyperv/hn: Add tunable to allow tcp_lro_queue_mbuf()
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6841
2016-07-11 06:23:01 +00:00
Sepherosa Ziehau
36ad8372d4
net: Use M_HASHTYPE_OPAQUE_HASH if the mbuf flowid has hash properties
...
Reviewed by: hps, erj, tuexen
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6688
2016-06-07 04:51:50 +00:00
Sepherosa Ziehau
a46b3df617
hyperv/hn: Use hyperv busdma(9) helper.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6444
2016-05-23 06:52:42 +00:00
Sepherosa Ziehau
aa77d82eca
hyperv/hn: Combine per-packet-information parsing.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-05-16 03:26:16 +00:00
Sepherosa Ziehau
11a55b7340
hyperv/hn: Extract RSS hash value and type.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6287
2016-05-11 03:31:25 +00:00
Sepherosa Ziehau
0fbe6eaef6
hyperv/hn: Add stat for # of chimney sending tries
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-27 06:49:16 +00:00
Sepherosa Ziehau
b649be4068
hyperv/hn: Mark sysctls MPSAFE
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-27 05:18:04 +00:00
Sepherosa Ziehau
6456e1587b
hyperv/hn: Remove unapplied comment.
...
Chimney sending buffers are shared across channels.
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-27 05:05:54 +00:00
Sepherosa Ziehau
ff1c886a59
hyperv/hn: Restart sending earlier once we gathered some free TX descs
...
This greatly reduces the oqdrops under heavy workload.
For TCP send/recv test (10K concurrent connections):
oqdrops is reduced by 17% on sending side, and 57% on receiving side.
For nginx-1.8/wrk-4 1KB object test (10K concurrent connections,
4 requests/connection):
oqdrops is reduced by 44% on nginx side, and 10% on wrk side.
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-27 04:51:28 +00:00
Sepherosa Ziehau
49bebba7aa
hyperv/hn: Change description to "Hyper-V Network Interface"
...
This is consistent w/ other Hyper-V devices.
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-26 06:50:41 +00:00
Sepherosa Ziehau
03dbe733c5
hyperv/hn: Avoid sub-channel creation callback.
...
Since the sub-channel offers are synchronized, we can do our own
channel setup without using the sub-channel creation callback.
This paves the way to whack the sub-channel creation callback.
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-26 05:08:55 +00:00
Sepherosa Ziehau
049efd1090
hyperv/hn: Synchronize sub-channel offers
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-25 10:16:07 +00:00
Sepherosa Ziehau
4e0c3dc461
hyperv/hn: Allow users to configure ifq or bufring depth.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-25 03:48:28 +00:00
Sepherosa Ziehau
62cffb8d93
hn: Increase odrops for if_transmit method if drbr_enqueue fails.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-25 03:14:55 +00:00
Sepherosa Ziehau
7cd9b96b7a
hyperv: Update copyright to 2016 for the files Microsoft changed in 2016
...
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6039
2016-04-22 05:01:43 +00:00
Sepherosa Ziehau
8310528673
hyperv/hn: Hide ring to channel linkage message under bootverbose
...
Suggested by: Dexuan Cui <decui microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-15 08:17:55 +00:00
Sepherosa Ziehau
5f9b92f865
hyperv: No need to zero out softc
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-15 08:08:46 +00:00
Sepherosa Ziehau
7e98851e93
hyperv: device_get_softc does not return NULL
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-13 09:20:29 +00:00
Sepherosa Ziehau
e331206e0f
hyperv/hn: Remove unnecessary NULL checks
...
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: sephe
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5905
2016-04-11 06:59:13 +00:00
Sepherosa Ziehau
b81e22fced
hyperv/hn: By default enable multiple TX/RX rings, aka vRSS.
...
Reviewed by: Dexuan Cui <decui microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5880
2016-04-11 06:37:50 +00:00
Sepherosa Ziehau
0e86334196
hyperv/hn: Cap default # of rings to 8.
...
8 gives the best performance in both Azure and local Hyper-V on both
10Ge and 40Ge. More rings are still allowed by manual configuration.
Reviewed by: Dexuan Cui <decui microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5879
2016-04-11 06:31:52 +00:00
Sepherosa Ziehau
6dd38b8716
tcp/lro: Use tcp_lro_flush_all in device drivers to avoid code duplication
...
And factor out tcp_lro_rx_done, which deduplicates the same logic with
netinet/tcp_lro.c
Reviewed by: gallatin (1st version), hps, zbb, np, Dexuan Cui <decui microsoft com>
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5725
2016-04-01 06:28:33 +00:00
Sepherosa Ziehau
2e4dba97bd
hyperv/hn: When short of mbufs on the RX path, don't spam the console.
...
Instead, increase the IQDROPS counter.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5693
2016-03-22 07:08:47 +00:00
Sepherosa Ziehau
59526d4ac7
hyperv/hn: Factor out hn_set_lro_lenlim()
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5692
2016-03-22 06:42:24 +00:00
Sepherosa Ziehau
16ac3db526
hyperv/hn: Reduce TCP segment aggregation limit for multiple RX rings
...
This mainly used to improve ACK timeliness when multiple RX rings
are enabled.
This value gives the best performance in both Azure and Hyper-V
environment, w/ both 10Ge and 40Ge using non-{INVARIANTS,WITNESS}
kernel.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5691
2016-03-22 06:31:39 +00:00
Sepherosa Ziehau
f9fbf67e74
hyperv/hn: Make the # of TX rings configurable.
...
Rename the tunables to avoid confusion.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5578
2016-03-10 02:37:47 +00:00
Sepherosa Ziehau
9e76da0054
hyperv/hn: Factor out hn_channel_attach
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5577
2016-03-10 02:28:01 +00:00