#
324578 |
|
13-Oct-2017 |
sephe |
MFC 324489,324516
324489 hyperv/hn: Workaround erroneous hash type observed on WS2016.
Background: - UDP 4-tuple hash type is unconditionally enabled in Hyper-V on WS2016, which is _not_ affected by NDIS_OBJTYPE_RSS_PARAMS. - Non-fragment UDP/IPv4 datagrams' hash type is delivered to VM as TCP_IPV4.
Currently this erroneous behavior only applies to WS2016/Windows10.
Force l3/l4 protocol check, if the RXed packet's hash type is TCP_IPV4, and the Hyper-V is running on WS2016/Windows10. If the RXed packet is UDP datagram, adjust mbuf hash type to UDP_IPV4.
Sponsored by: Microsoft
324516 hyperv/hn: Workaround erroneous hash type observed on WS2016 for VF.
The background was described in r324489.
Sponsored by: Microsoft
|
#
324477 |
|
10-Oct-2017 |
sephe |
MFC 323728,323729
323728 hyperv/hn: Fix MTU setting
- Add size of an ethernet header to the value configured to NVS. This does not seem to have any effects if MTU is 1500, but fix hypervisor side's setting if MTU > 1500. - Override the MTU setting according to the view from the hypervisor side.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D12352
323729 hyperv/hn: Incease max supported MTU
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D12365
|
#
324475 |
|
10-Oct-2017 |
sephe |
MFC 323727,324316
323727 hyperv/hn: Apply VF's RSS setting
Since in Azure SYN and SYN|ACK go through the synthetic parts while the rest of the same TCP flow goes through the VF, apply VF's RSS settings to synthetic parts to have a consistent hash value/type for the same TCP flow.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D12333
324316 hyperv/hn: Fix options RSS building
Reported by: np Sponsored by: Microsoft
|
#
322612 |
|
17-Aug-2017 |
sephe |
MFC 322488 hyperv: Update copyright for the files changed in 2017
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11982
|
#
322605 |
|
17-Aug-2017 |
sephe |
MFC 322483,322485-322487
322483 hyperv/hn: Update VF's ibytes properly under transparent VF mode.
While, I'm here add comment about why updating VF's imcast stat is not necessary.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11948
322485 hyperv/hn: Fix/enhance receiving path when VF is activated.
- Update hn(4)'s stats properly for non-transparent mode VF. - Allow BPF tapping to hn(4) for non-transparent mode VF. - Don't setup mbuf hash, if 'options RSS' is set. In Azure, when VF is activated, TCP SYN and SYN|ACK go through hn(4) while the rest of segments and ACKs belonging to the same TCP 4-tuple go through the VF. So don't setup mbuf hash, if a VF is activated and 'options RSS' is not enabled. hn(4) and the VF may use neither the same RSS hash key nor the same RSS hash function, so the hash value for packets belonging to the same flow could be different! - Disable LRO. hn(4) will only receive broadcast packets, multicast packets, TCP SYN and SYN|ACK (in Azure), LRO is useless for these packet types. For non-transparent, we definitely _cannot_ enable LRO at all, since the LRO flush will use hn(4) as the receiving interface; i.e. hn_ifp->if_input(hn_ifp, m).
While I'm here, remove unapplied comment and minor style change.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11978
322486 hyperv/hn: Minor cleanup
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11979
322487 hyperv/hn: Re-set datapath after synthetic parts reattached.
Do this even for non-transparent mode VF. Better safe than sorry.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11981
|
#
322489 |
|
14-Aug-2017 |
sephe |
MFC 322299
hyperv/hn: Implement transparent mode network VF.
How network VF works with hn(4) on Hyper-V in transparent mode:
- Each network VF has a cooresponding hn(4). - The network VF and the it's cooresponding hn(4) have the same hardware address. - Once the network VF is attached, the cooresponding hn(4) waits several seconds to make sure that the network VF attach routing completes, then: o Set the intersection of the network VF's if_capabilities and the cooresponding hn(4)'s if_capabilities to the cooresponding hn(4)'s if_capabilities. And adjust the cooresponding hn(4) if_capable and if_hwassist accordingly. (*) o Make sure that the cooresponding hn(4)'s TSO parameters meet the constraints posed by both the network VF and the cooresponding hn(4). (*) o The network VF's if_input is overridden. The overriding if_input changes the input packet's rcvif to the cooreponding hn(4). The network layers are tricked into thinking that all packets are neceived by the cooresponding hn(4). o If the cooresponding hn(4) was brought up, bring up the network VF. The transmission dispatched to the cooresponding hn(4) are redispatched to the network VF. o Bringing down the cooresponding hn(4) also brings down the network VF. o All IOCTLs issued to the cooresponding hn(4) are pass-through'ed to the network VF; the cooresponding hn(4) changes its internal state if necessary. o The media status of the cooresponding hn(4) solely relies on the network VF. o If there are multicast filters on the cooresponding hn(4), allmulti will be enabled on the network VF. (**) - Once the network VF is detached. Undo all damages did to the cooresponding hn(4) in the above item.
NOTE: No operation should be issued directly to the network VF, if the network VF transparent mode is enabled. The network VF transparent mode can be enabled by setting tunable hw.hn.vf_transparent to 1. The network VF transparent mode is _not_ enabled by default, as of this commit.
The benefit of the network VF transparent mode is that the network VF attachment and detachment are transparent to all network layers; e.g. live migration detaches and reattaches the network VF.
The major drawbacks of the network VF transparent mode: - The netmap(4) support is lost, even if the VF supports it. - ALTQ does not work, since if_start method cannot be properly supported.
(*) These decisions were made so that things will not be messed up too much during the transition period.
(**) This does _not_ need to go through the fancy multicast filter management stuffs like what vlan(4) has, at least currently: - As of this write, multicast does not work in Azure. - As of this write, multicast packets go through the cooresponding hn(4).
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11803
|
#
322135 |
|
07-Aug-2017 |
sephe |
MFC 321836,321837
321836 hyperv/hn: Renaming and minor cleanup
This prepares for the upcoming transparent VF support.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11708
321837 hyperv/hn: Add comment about ether_ifattach event subscription.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11710
|
#
321748 |
|
31-Jul-2017 |
sephe |
MFC 321407
hyperv/hn: Export VF list and VF-HN mapping
The VF-HN map will be used later on to implement "transparent VF".
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11618
|
#
314091 |
|
22-Feb-2017 |
dexuan |
MFC 312688
Approved by: sephe (mentor)
r312688 hyperv/hn: add the support for VF drivers (SR-IOV)
Hyper-V's NIC SR-IOV implementation needs a Hyper-V synthetic NIC and a VF NIC to work together (both NICs have the same MAC address), mainly to support seamless live migration.
When the VF device becomes UP (or DOWN), the synthetic NIC driver needs to switch the data path from the synthetic NIC to the VF (or the opposite).
Note: multicast/broadcast packets are still received through the synthetic NIC and we need to inject the packets through the VF interface (if the VF is UP), even if the synthetic NIC is DOWN (so we need to force the rxfilter to be NDIS_PACKET_TYPE_PROMISCUOUS, when the VF is UP).
Reviewed by: sephe Approved by: sephe (mentor) Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8964
|
#
314083 |
|
22-Feb-2017 |
dexuan |
MFC: 312685
Approved by: sephe(mentor)
r312685 hyperv/hn: remember the channel pointer in struct hn_rx_ring
This will be used by the coming NIC SR-IOV patch.
Reviewed by: sephe Approved by: sephe (mentor) Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8909
|
#
311375 |
|
05-Jan-2017 |
sephe |
MFC 309874,309875
309874 hyperv/vmbus: Add channel polling support.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8738
309875 hyperv/hn: Add polling support
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8739
|
#
311368 |
|
05-Jan-2017 |
sephe |
MFC 309310,309311,309316,309318
309310 hyperv/hn: Nuke the unused TX taskqueue CPU binding tunable.
It was an experimental tunable, and is now deemed to be road blocker for further changes. Time to retire it.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8654
309311 hyperv/hn: Allow multiple TX taskqueues.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8655
309316 hyperv/vmbus: Add DEVMETHOD to map cpu to event taskq.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8658
309318 hyperv/hn: Allow TX to share event taskqueues.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8659
|
#
311365 |
|
05-Jan-2017 |
sephe |
MFC 309226-309231,309235
309226 hyperv/hn: Utilize vmbus_chan_xact_wait
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8612
309227 hyperv/hn: Fix detach error handling.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8613
309228 hyperv/hn: Fix multi-packet RNDIS message aggregation size setting.
Just in case that no chimney sending buffer can be used.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8619
309229 hyperv/hn: Fix attach error handling
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8620
309230 hyperv/hn: Enable multi-packet RNDIS message support by default.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8621
309231 hyperv/hn: Fix vmbus_chan_subidx usage.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8629
309235 hyperv/hn: Simplify RSS indirect table fixup API
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8630
|
#
311357 |
|
05-Jan-2017 |
sephe |
MFC 308907
hyperv/hn: Fix WITNESS warnings
And re-enable SIOCADDMULTI/SIOCDELMULTI, after WITNESS warning is fixed.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8489
|
#
311355 |
|
05-Jan-2017 |
sephe |
MFC 308905
hyperv/hn: Implement RNDIS multi-packet message support.
Currently, it is only applied to packet sent through chimney sending buffers. Not enabled by default yet.
This one gives 20%~30% performance boost for non-TSO usage in both bit/packet rate tests and nginx performance test.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8560
|
#
308628 |
|
13-Nov-2016 |
sephe |
MFC 308117-308120
308117 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.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8367
308118 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...
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8368
308119 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.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8369
308120 hyperv/hn: Don't start shared TX taskq, if the hypervisor is not Hyper-V.
- Move the SYSINIT to DRIVER/SECOND, i.e. after the vm_guest becomes determistic. - Minor style changes.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8370
|
#
308626 |
|
13-Nov-2016 |
sephe |
MFC 308013-308017
308013 hyperv/hn: Nuke unnecessary indirection.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8355
308014 hyperv/hn: Reorganize RX path; mainly pull non-control code path up
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8356
308015 hyperv/hn: Pull data path code up.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8357
308016 hyperv/hn: Cleanup RNDIS related files.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8358
308017 hyperv/hn: Change header guardian; in preparation for the upcoming rename.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8359
|
#
308624 |
|
13-Nov-2016 |
sephe |
MFC 307989-307991,308010
307989 hyperv/hn: Move hn_softc to if_hnvar.h
While I'm here, use consistent macro names.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8345
307990 hyperv/hn: Move send context to NVS domain.
Since all sends are encapsulated in NVS messages.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8346
307991 hyperv/hn: NVS inclusion cleanup and forward declare functions.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8347
308010 hyperv/hn: Change header guardian; in preparation for the upcoming rename.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8352
|
#
308623 |
|
13-Nov-2016 |
sephe |
MFC 307985-307988
307985 hyperv/hn: Nuke unnecessary M_NETVSC
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8340
307986 hyperv/hn: Move %b format string for capabilities near their definition.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8341
307987 hyperv/hn: Define empty packet filter.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8342
307988 hyperv/hn: Shuffle chimney sending buffer alloc/free around.
This paves way for more chimney sending buffer reorganization.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8343
|
#
308522 |
|
11-Nov-2016 |
sephe |
MFC 307844
hyperv/hn: Nuke unused forward declaration.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8314
|
#
308519 |
|
11-Nov-2016 |
sephe |
MFC 307838,307839
307838 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.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8308
307839 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.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8309
|
#
308518 |
|
11-Nov-2016 |
sephe |
MFC 307710-307712,307714
307710 hyperv/hn: Always query RSS capabilities.
- This avoid distributing NDIS version check. - Only NDIS 6.20 required (earlier NDIS uses different indirect table format).
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8291
307711 hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8293
307712 hyperv/hn: Add network change support.
Currently the network change is simulated by link status changes.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8295
307714 hyperv/hn: Function renaming; consistent w/ hardware capabilities query.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8296
|
#
307614 |
|
19-Oct-2016 |
sephe |
MFC 307012,307013,307262
307012 hyperv/vmbus: Allow driver to inject synchronous task into channel taskq.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8208
307013 hyperv/hn: Rework link status support.
This is the preamble for network device SR-IOV and NDIS_STATUS_NETWORK_CHANGE handling.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8209
307262 hyperv/hn: Management parts always need suspend and resume.
Sponsored by: Microsoft
|
#
307613 |
|
19-Oct-2016 |
sephe |
MFC 306936-306939
306936 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.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8088
306937 hyperv/hn: Fix if_hw_tsomax setup.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8089
306938 hyperv/hn: Generalize RSS capabilities query.
- Support NDIS < 6.30. - Stringent response checks.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8090
306939 hyperv/hn: Suffix NDIS offload size with NDIS version.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8091
|
#
307604 |
|
18-Oct-2016 |
sephe |
MFC 306393
hyperv/hn: Flatten RX filter configuration.
This paves way for more fixes.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8049
|
#
307603 |
|
18-Oct-2016 |
sephe |
MFC 306390-306392
306390 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.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8046
306391 hyperv/hn: Reorganize the synthetic parts detach.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8047
306392 hyperv/hn: Reorder the comment a little bit.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8048
|
#
307516 |
|
17-Oct-2016 |
sephe |
MFC 305925,305926,305960
305925 hyperv/hn: Don't mess up RSS key and indirect table after attachment.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7889
305926 hyperv/hn: Add sysctls to dynamic adjust RSS key and indirect table
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7890
305960 hyperv/hn: Apply RSS indirect table fixup before configure RNDIS RSS.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7916
|
#
307508 |
|
17-Oct-2016 |
sephe |
MFC 305724,305725,305727-305730,305760,305761,305763,305788
305724 hyperv/hn: Rename RXBUF connect/disconnect functions.
Minor cleanup and wording in error messages.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7823
305725 hyperv/hn: Rename chimney sending buffer connect/disconnect functions.
Minor cleanup and wording in error messages.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7825
305727 hyperv/hn: Function rename.
- Minor style changes. - Nuke unnecessary indirection. - Nuke unapplied comment.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7827
305728 hyperv/hn: Reorganize sub-channel allocation.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7829
305729 hyperv/hn: Reorganize RNDIS attach
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7830
305730 hyperv/hn: Pull ether address and link status extraction up.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7831
305760 hyperv/hn: Reorganize channel attach/detach code.
This paves the way for further attach/detach code reorganization.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7858
305761 hyperv/hn: Regroup synthetic parts attach code.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7859
305763 hyperv/hn: Reorganize synthetic parts attach code.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7860
305788 hyperv/hn: Pull RSS key and indirect table setup up.
This paves the way for the dynamic RSS key and indirect table setting.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7864
|
#
307500 |
|
17-Oct-2016 |
sephe |
MFC 305454,305455,305521,305524-305526
305454 hyperv/hn: Fix VLAN tag setup for outgoing VLAN packets.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7785
305455 hyperv/hn: Avoid bit fields for LSOv2 setup.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7786
305521 hyperv/hn: Avoid bit fields for TXCSUM setup.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7792
305524 hyperv/hn: Cleanup RNDIS packet message encapsulation.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7793
305525 hyperv/hn: Simplify per-packet-info construction.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7794
305526 hyperv/hn: Nuke unused bits
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7795
|
#
307495 |
|
17-Oct-2016 |
sephe |
MFC 305175,305176,305179,305182,305268,305270,305276
305175 net/rndis: Define per-packet-info for RNDIS packet message
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7708
305176 hyperv/hn: Stringent per-packet-info verification.
While I'm here, minor style changes.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7709
305179 hyperv/hn: Fix VLAN tag construction.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7716
305182 net/rndis: Define types for RNDIS pktinfo rm_type field.
They are defined by NDIS spec, so the NDIS prefix.
Reviewed by: hps Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7717
305268 hyperv/hn: Rework RXCSUM related bits
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7735
305270 hyperv/hn: Simplify RX hash related bits.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7736
305276 hyperv/hn: Use the per-packet-info types defined by net/rndis.h
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7737
|
#
307492 |
|
17-Oct-2016 |
sephe |
MFC 305052-305054,305110
305052 hyperv/hn: Remove the useless rndis_device and related bits
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7687
305053 hyperv/hn: Log packet message alignment.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7689
305054 hyperv/hn: Remove unnecessary NULL check.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7690
305110 hyperv/hn: Consolidate NVS transaction execution.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7704
|
#
307491 |
|
17-Oct-2016 |
sephe |
MFC 305049,305050
305049 hyperv/hn: Factor out func to exec RNDIS transaction w/o checking result
It will be used by RNDIS HALT and RESET.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7685
305050 hyperv/hn: Switch to new RNDIS transaction execution for halt.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7686
|
#
307484 |
|
17-Oct-2016 |
sephe |
MFC 304783-304785
304783 hyperv/hn: Use definition in net/rndis.h for message type and status code.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7620
304784 hyperv/hn: Add compat code for RNDIS reorganization phase.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7621
304785 hyperv/hn: Use vmbus xact for RNDIS initialize.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7624
|
#
307480 |
|
17-Oct-2016 |
sephe |
MFC 304441,304444,304446,304447,304591,304593-304595
304441 hyperv/hn: Move NVS version to softc
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7553
304444 hyperv/hn: Remove assign-only struct field
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7554
304446 hyperv/hn: Remove the useless num_channel
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7555
304447 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.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7556
304591 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.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7574
304593 hyperv/hn: Get rid of netvsc_dev
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7575
304594 hyperv/hn: Factor out function to execute NVS transactions.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7577
304595 hyperv/hn: Factor out function to simplify NVS request sending
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7578
|
#
307478 |
|
17-Oct-2016 |
sephe |
MFC 304327,304329,304330
304327 hyperv/hn: Pass RX packet info to netvsc_recv.
This paves to nuke netvsc_packet, which does not serves much purpose now.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7541
304329 hyperv/hn: Constify RNDIS messages on RX path.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7542
304330 hyperv/hn: Get rid of the useless netvsc_packet
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7544
|
#
307476 |
|
17-Oct-2016 |
sephe |
MFC 304204-304206,304252-304256
304204 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.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7500
304205 hyperv/hn: Simplify RNDIS NVS message sending.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7501
304206 hyperv/hn: Simplify RNDIS message checks on RX path.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7502
304252 hyperv/hn: Ignore the useless TX table.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7514
304253 hyperv/hn: Simplify RNDIS RX packets acknowledgement.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7515
304254 hyperv/hn: Remove reference to nvsp_msg
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7516
304255 hyperv/hn: Remove reference to nvsp_status
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7517
304256 hyperv/hn: Get rid of unused bits
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7518
|
#
307475 |
|
16-Oct-2016 |
sephe |
MFC 303945,303947-303949,303989,303992,303998,304001,304002,304109,304111
303945 hyperv/vmbus: Add macro to get channel packet data length.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7455
303947 hyperv/vmbus: Add APIs for various types of transactions.
Reviewed by: Jun Su <junsu microsoft com> Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7456
303948 hyperv/hn: Switch to vmbus xact APIs for NVS initialization
Reviewed by: Jun Su <junsu microsoft com> Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7457
303949 hyperv/vmbus: Use xact APIs to implement post message Hypercall APIs
Avoid code duplication.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7458
303989 hyperv/hn: Simplify NDIS configuration.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7466
303992 hyperv/hn: Simplify NDIS initialization.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7467
303998 hyperv/hn: Switch to vmbus xact APIs for NVS RXBUF connection.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7469
304001 hyperv/hn: Switch to vmbus xact APIs for NVS chimney buffer connection.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7470
304002 hyperv/hn: Simplify RXBUF disconnection.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7472
304109 hyperv/hn: Simplify chimney sending buffer disconnection.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7479
304111 hyperv/hn: Switch to vmbus xact APIs for sub-channel alloc request.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7480
|
#
307473 |
|
16-Oct-2016 |
sephe |
MFC 303867,303901
303867 hyperv/hn: Move gpa array out of netvsc_packet.
Prepare to deprecate the netvsc_packet.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7436
303901 hyperv/hn: Reorganize send done callback.
Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7450
|