Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0 |
|
#
4bf21f5c |
| 29-Mar-2018 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Factor out the virtio_bind_intr() calls into a separate function.
* And most importantly, store the bindings in the vtnet_softc struct, so we can restore the interrupt <-> virtqueue bin
if_vtnet - Factor out the virtio_bind_intr() calls into a separate function.
* And most importantly, store the bindings in the vtnet_softc struct, so we can restore the interrupt <-> virtqueue bindings when disabling polling mode.
show more ...
|
Revision tags: v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1 |
|
#
5bd18522 |
| 10-Sep-2017 |
Imre Vadász <imre@vdsz.com> |
vtnet - Split up serializers, now has separate rx and tx serializers.
* This uses the MULTI SERIALIZERS MODE in the DragonFly net framework.
* This allows the rx and tx paths of if_vtnet to run in
vtnet - Split up serializers, now has separate rx and tx serializers.
* This uses the MULTI SERIALIZERS MODE in the DragonFly net framework.
* This allows the rx and tx paths of if_vtnet to run in parallel.
show more ...
|
#
f7e8a8e7 |
| 25-Mar-2018 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Use ifsq_watchdog_* functions as the watchdog.
* The existing watchdog code was commented out.
|
#
af62becb |
| 25-Mar-2018 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Remove vtnet_tick_ch and vtnet_cfgchg_task from softc struct.
* Forgot to remove the softc variables in the changes c5f8e1538bcc13f7a39b805bcc5b774780 and 603be9646446bdb4292b6cd2754478
if_vtnet - Remove vtnet_tick_ch and vtnet_cfgchg_task from softc struct.
* Forgot to remove the softc variables in the changes c5f8e1538bcc13f7a39b805bcc5b774780 and 603be9646446bdb4292b6cd27544788c2c.
* Also remove a leftover taskqueue_drain() call.
show more ...
|
#
2f2405bb |
| 07-Sep-2017 |
Imre Vadász <imre@vdsz.com> |
virtio - Refactor virtio bus API, to untangle virtuques from IRQ allocation.
* These API changes allow each virtio device driver to explicitly control the assignment of virtqueues to IRQ vectors.
virtio - Refactor virtio bus API, to untangle virtuques from IRQ allocation.
* These API changes allow each virtio device driver to explicitly control the assignment of virtqueues to IRQ vectors.
* This allows explicitly assigning IRQ vectors to cpus. And virtio device drivers also get to know, on which cpu each virtqueue interrupt is running.
show more ...
|
#
d07f5241 |
| 17-Oct-2017 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Handle missing IFCAP_VLAN_* flags nicer. Comment IFCAP_LOR stuff.
* The if_vtnet driver used to define the IFCAP_LRO, IFCAP_VLAN_HWFILTER and IFCAP_VLAN_HWTSO flags itself, to make the
if_vtnet - Handle missing IFCAP_VLAN_* flags nicer. Comment IFCAP_LOR stuff.
* The if_vtnet driver used to define the IFCAP_LRO, IFCAP_VLAN_HWFILTER and IFCAP_VLAN_HWTSO flags itself, to make the code from FreeBSD build. Instead define IFCAP_VLAN_HWFILTER and IFCAP_VLAN_HWTSO to 0, when they are not defined already. This allows the code to build, but all checks for the flags fail. (Inspired by the vmxnet3 driver port).
* The IFCAP_LRO flag is unavailable in DragonFly, but the LRO offload seems to work somehow.
* According to the virtio specification, LRO support should be possible without rx checksum support as well.
show more ...
|
Revision tags: v4.8.1 |
|
#
2c7152a8 |
| 02-Apr-2017 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Add back vtnet_tx_size variable for now, to fix build.
|
Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc |
|
#
7d38e2d2 |
| 06-Mar-2017 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Remove vtnet_{rx,tx}_size variables. Change rx_header padding.
* With a padding of 2 bytes, struct vtnet_rx_header will be 12 bytes now, which should be correct to ensure the 4 byte ali
if_vtnet - Remove vtnet_{rx,tx}_size variables. Change rx_header padding.
* With a padding of 2 bytes, struct vtnet_rx_header will be 12 bytes now, which should be correct to ensure the 4 byte alignment of the frame payload, when mergeable Rx buffers are not negotiated.
show more ...
|
#
d8c85757 |
| 20-Mar-2017 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Allocate struct vtnet_tx_header entries from a queue.
* The existing code was sequentially allocating from an array of struct vtnet_tx_header, using an appropriately sized area. But t
if_vtnet - Allocate struct vtnet_tx_header entries from a queue.
* The existing code was sequentially allocating from an array of struct vtnet_tx_header, using an appropriately sized area. But this scheme turns out to be a very bad idea when we get out-of-order completions in the virtqueue.
* Instead allocate struct vtnet_tx_header entries from an SLIST.
* This should avoid crashes from memory-corruption or use-after-free in if_vtnet(9), when running in KVM on Linux, using Linux's vhost-net in-kernel virtqueue accelerator.
show more ...
|
Revision tags: v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc |
|
#
be3e3739 |
| 31-Oct-2015 |
Imre Vadász <imre@vdsz.com> |
if_vtnet: Add support for indirect buffers. Activate LRO by default again.
Taken-From: FreeBSD
|
#
c0ab888a |
| 30-Oct-2015 |
Imre Vadász <imre@vdsz.com> |
if_vtnet, sync 8/x: Move structs and #define-s into if_vtnetvar.h
Taken-From: FreeBSD
|