| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hyperv/hn: Fix primary channel revocation
Since hypervisor will not drain the TX bufring, once the channels are
revoked:
- Setup vmbus orphan handler properly.
- Make sure that suspension will not wait the TX bufring draining
forever.
- GC the pending TX descs on detach path, before freeing the busdma
stuffs.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8559
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
309030
hyperv/vmbus: Set a mark on the revoked channel.
This will be used to fix device detach DEVMETHOD for revoked primary
channel.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8522
309039
hyperv/vmbus: Merge free/active locks.
These functions are only used by management stuffs, so there are
no needs to introduce extra complexity.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8524
309080
hyperv/vmbus: Implement orphan support for transaction API
It will be used to fix the primary channel revocation support.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8525
309081
hyperv/vmbus: Fix the primary channel revoking on vmbus side.
Drivers can now use vmbus_chan_{is_revoked,set_orphan,unset_orphan}() and
vmbus_xact_ctx_orphan() to fix their attach/detach DEVMETHODs for revoked
primary channels.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8545
309083
hyperv/vmbus: Fix the multi-channel revoking on vmbus side.
- Reference count the sub-channel when channel offer message is
processed, so that immediate rescind message on the same channel
will not race sub-channel open on driver side.
- Drop the above reference when sub-channel is closed, this closely
mimics the hypervisor's reaction when primary channel is closed
on the VM side. No drivers use sub-channel after primary channel
is closed.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8546
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308908
hyperv/hn: Allow enabling IPv6 TX checksum offloading and IPv6 TSO.
They are still disabled by default.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8490
308909
hyperv/hn: Don't abuse hn_{tx,rx}_ring_inuse.
Just in case, the # of TX/RX rings is changed upon synthetic parts
re-attach.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8520
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
hyperv/vmbus: Support transction result busy-wait.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8488
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308664
hyperv/vss: Add driver and tools for VSS
VSS stands for "Volume Shadow Copy Service". Unlike virtual machine
snapshot, it only takes snapshot for the virtual disks, so both
filesystem and applications have to aware of it, and cooperate the
whole VSS process.
This driver exposes two device files to the userland:
/dev/hv_fsvss_dev
Normally userland programs should _not_ mess with this device file.
It is currently used by the hv_vss_daemon(8), which freezes and
thaws the filesystem. NOTE: currently only UFS is supported, if
the system mounts _any_ other filesystems, the hv_vss_daemon(8)
will veto the VSS process.
If hv_vss_daemon(8) was disabled, then this device file must be
opened, and proper ioctls must be issued to keep the VSS working.
/dev/hv_appvss_dev
Userland application can opened this device file to receive the
VSS freeze notification, hold the VSS for a while (mainly to flush
application data to filesystem), release the VSS process, and
receive the VSS thaw notification i.e. applications can run again.
The VSS will still work, even if this device file is not opened.
However, only filesystem consistency is promised, if this device
file is not opened or is not operated properly.
hv_vss_daemon(8) is started by devd(8) by default. It can be disabled
by editting /etc/devd/hyperv.conf.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Reviewed by: kib, mckusick
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8224
308742
hyperv/vss: Nuke unused variables.
Submitted by: markj
Reported by: markj
Sponsored by: Microsoft
308743
hyperv/vss: Install the userland daemon to /usr/sbin instead of /
Submitted by: markj
Reported by: markj
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
| |
hyperv: Unbreak EARLY_AP_STARUP Hyper-V bootstrap by using intrhook
Properly working pause and friends are required.
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Approved by: sephe (mentor)
r308723
hyperv/vmbus: add a new method to get vcpu_id
vcpu_id is host's representation of guest CPU.
We get the mapping between vcpu_id and FreeBSD kernel's cpu id when VMBus
driver is loaded. Later, when a driver, like the coming pcib driver, talks
to the host and needs to refer to a guest CPU, the driver must use the
vcpu_id.
Reviewed by: jhb, sephe
Approved by: sephe (mentor)
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8410
r308724
hyperv/vmbus: add new vmbus methods to support PCIe pass-through
The new methods will be used by the coming pcib driver.
Reviewed by: sephe
Approved by: sephe (mentor)
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8409
r308725
hyperv/pcib: enable PCIe pass-through (a.k.a. Discrete Device Assignment)
The feature enables us to pass through physical PCIe devices to FreeBSD VM
running on Hyper-V (Windows Server 2016) to get near-native performance with
low CPU utilization.
The patch implements a PCI bridge driver to support the feature:
1) The pcib driver talks to the host to discover device(s) and presents
the device(s) to FreeBSD's pci driver via PCI configuration space (note:
to access the configuration space, we don't use the standard I/O port
0xCF8/CFC method; instead, we use an MMIO-based method supplied by Hyper-V,
which is very similar to the 0xCF8/CFC method).
2) The pcib driver allocates resources for the device(s) and initialize
the related BARs, when the device driver's attach method is invoked;
3) The pcib driver talks to the host to create MSI/MSI-X interrupt
remapping between the guest and the host;
4) The pcib driver supports device hot add/remove.
Reviewed by: sephe
Approved by: sephe (mentor)
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8332
r308793
hyperv/pcib: Fix the build for some kernel configs
Add the dependency on pci explicitly for the pcib and vmbus drivers.
The related Makefiles are updated accordingly too.
Reviewed by: sephe
Approved by: sephe (mentor)
Sponsored by: Microsoft
r308794
hyperv/vmbus,pcib: Add MODULE_DEPEND on pci
We'd better add this dependency explicitly, though usually the pci
driver is built into the kernel by default.
Reviewed by: sephe
Approved by: sephe (mentor)
Sponsored by: Microsoft
r308795
hyperv/pcib: change the file name: pcib.c -> vmbus_pcib.c
This makes the file name and the variable naming in the file consistent.
Reviewed by: sephe
Approved by: sephe (mentor)
Sponsored by: Microsoft
r309127
hyperv/vmbus,pcib: unbreak build in case NEW_PCIB is undefined
vmbus_pcib requires NEW_PCIB, but in case that's not defined, we at
least shouldn't break build.
Reviewed by: sephe
Approved by: sephe (mentor)
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
|
|
| |
hyperv/kvp: Don't mix message status codes and function return values.
While I'm here, move message status codes to hv_utilreg.h, since they
will be used by the upcoming VSS stuffs.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8391
|
|
|
|
|
|
|
| |
hyperv: GC unused functions.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8406
|
|
|
|
|
|
|
| |
hyperv/vmbus: Avoid extra header copy.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8395
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308166
hyperv/hn: Move TSO packet fixup to an earlier place for if_transmit.
While TSO packet header may be still cache-hot.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8393
308167
hyperv/hn: Directly fill chimney sending buffer for small packets.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8394
|
|
|
|
|
|
|
|
|
|
| |
hyperv/hn: Regroup if_start related functions.
And put them under HN_IFSTART_SUPPORT, which is by default on until
we whack the if_start related bits from base system.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8392
|
|
|
|
|
|
|
| |
hyperv/hn: Rename cleaned up file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8390
|
|
|
|
|
|
|
| |
hyperv/hn: Cosmetic cleanup; no functional changes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8389
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308018
hyeprv/hn: Rename cleaned up RNDIS header file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8360
308116
hyperv/hn: Rename cleaned up RNDIS source file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8361
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308011
hyperv/hn: Rename cleaned up NVS header file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8353
308012
hyperv/hn: Rename cleaned up NVS source file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8354
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
hyperv/hn: Properly configure RSS according to RSS capabilities
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8338
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
307952
hyperv/vmbus: Add missing white space.
Submitted by: QianYue You <t-youqi microsoft com>
Sponsored by: Microsoft
307953
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>
Sponsored by: Microsoft
308278
hyperv/vmbus: Reset ch_dev, once the child is deleted.
So it will not be mis-used later on, e.g. in vmbus_chan_printf().
Submitted by: dexuan
Reported by: dexuan
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
| |
hyperv/hn: Set baudrate properly
PR: 208931
Submitted by: Eugene Grosbein <ports grosbein net>
Reported by: Eugene Grosbein <ports grosbein net>
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
| |
hyperv/ic: Rework framework/message version negotiation.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Modified by: sephe
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8280
|
|
|
|
|
|
|
| |
hyperv/hn: Nuke unused forward declaration.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8314
|
|
|
|
|
|
|
| |
hyperv/hn: Fix RX filter settings.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
307840
hyperv/hn: Properly handle synthetic parts reattach failure.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8310
307842
hyperv/hn: Start link status check, if no network changes were pending.
Link status check is much more lightweight than network change detection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8311
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
hyperv/vmbus: Expose channel management taskqueue for driver to use.
MFC after: 3 days
Sponsored by: Microsoft
|
|
|
|
|
|
| |
hyperv/vmbus: Add __FBSDID
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
| |
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>
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8238
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
306484
hyperv/vmbus: Add missing vmbus_if.c to module build.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8067
306485
hyperv/hn: Add stubs for OFFLOAD_CURRENT_CONFIG and NETWORK_CHANGE status
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8068
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
306482
hyperv/hn: If synthetic parts are detached, don't touch them.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8065
306483
hyperv/hn: Fix detach and attach error handling.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8066
|
|
|
|
|
|
|
|
|
| |
hyperv/hn: Don't set HASHVAL pktinfo for NDIS < 6.30
This unbreaks packet sending on WS2008R2.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8057
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
306431
hyperv/hn: Move TX tasks' draining into hn_suspend().
This prepares to consolidate hn_stop() and netvsc_detach().
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8055
306432
hyperv/hn: Consolidate hn_init() and hn_stop()
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8056
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7693
|
|
|
|
|
|
|
|
|
| |
hyperv/hn: Flatten RX filter configuration.
This paves way for more fixes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8049
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
306360
hyperv/vmbus: Add dynamic device add and remove support
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8008
306387
hyperv/vmbus: Add functions to test RX/TX bufring emptiness
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8044
306389
hyperv/vmbus: Add function to drain channel interrupt task.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8045
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
306072
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.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7960
306073
hyperv/hn: Allocate bufrings in attach DEVMETHOD.
So that reinitialization, e.g. MTU change, will not fail when the system
memory is excessively fragmented.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7961
306074
hyperv/vmbus: Assert that the bufring address is page aligned.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7962
306076
hyperv/hn: Put debug messages under bootverbose
While I'm here, strip blank line.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7963
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
306013
hyperv/hn: Fix ifnet hwassist setup.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7948
306014
hyperv/hn: Let the caller of hn_nvs_doinit() do the error logging.
So that NVS version probing failure does not look too scary.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7950
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
305962
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.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7919
305964
hyperv/hn: Save capabilities for later use.
And don't allow capability changes during reinitialization, which
breaks too much static configuration.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7922
305965
hyperv/hn: Don't allow MTU change, if it is not supported by the NVS.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7923
305966
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.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7924
305967
hyperv/hn: Allow RSS capability flipping upon attach/reinit.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7927
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
305801
hyperv/hn: Fix some ifnet settings
- ifnet.if_mtu does not require explicit setting.
- ifnet.if_hdrlen must be set after ether_ifattach().
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7873
305923
hyperv/hn: Regroup ifnet setup code.
While I'm here, add comment along the attach DEVMETHOD.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7874
305924
hyperv/hn: Put debug message under bootverbose
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7875
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
305795
hyperv/hn: Bring in shims from stable/10
This eases future MFCs to stable/10.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7871
305796
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.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7872
|