aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/virtio/network
diff options
context:
space:
mode:
authorBryan Venteicher <bryanv@FreeBSD.org>2015-01-01 02:06:00 +0000
committerBryan Venteicher <bryanv@FreeBSD.org>2015-01-01 02:06:00 +0000
commitab4c2818f2d036c0a21460c95d555c3333f09ed7 (patch)
tree3e5a69ebd5e8b9ae5581f61f1804e300fc543821 /sys/dev/virtio/network
parent5b32b2faaa3545bd2b6538e960b1f685ae6ccf3f (diff)
Notes
Diffstat (limited to 'sys/dev/virtio/network')
-rw-r--r--sys/dev/virtio/network/if_vtnet.c4
-rw-r--r--sys/dev/virtio/network/if_vtnetvar.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c
index 4a82774c6b0e..39fc28d41f45 100644
--- a/sys/dev/virtio/network/if_vtnet.c
+++ b/sys/dev/virtio/network/if_vtnet.c
@@ -599,6 +599,8 @@ vtnet_setup_features(struct vtnet_softc *sc)
vtnet_negotiate_features(sc);
+ if (virtio_with_feature(dev, VIRTIO_RING_F_INDIRECT_DESC))
+ sc->vtnet_flags |= VTNET_FLAG_INDIRECT;
if (virtio_with_feature(dev, VIRTIO_RING_F_EVENT_IDX))
sc->vtnet_flags |= VTNET_FLAG_EVENT_IDX;
@@ -3653,7 +3655,7 @@ vtnet_set_tx_intr_threshold(struct vtnet_softc *sc)
* Without indirect descriptors, leave enough room for the most
* segments we handle.
*/
- if (virtio_with_feature(dev, VIRTIO_RING_F_INDIRECT_DESC) == 0 &&
+ if ((sc->vtnet_flags & VTNET_FLAG_INDIRECT) == 0 &&
thresh < sc->vtnet_tx_nsegs)
thresh = sc->vtnet_tx_nsegs;
diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h
index 7249a3e083f1..f89f6b11fb21 100644
--- a/sys/dev/virtio/network/if_vtnetvar.h
+++ b/sys/dev/virtio/network/if_vtnetvar.h
@@ -140,7 +140,8 @@ struct vtnet_softc {
#define VTNET_FLAG_MRG_RXBUFS 0x0080
#define VTNET_FLAG_LRO_NOMRG 0x0100
#define VTNET_FLAG_MULTIQ 0x0200
-#define VTNET_FLAG_EVENT_IDX 0x0400
+#define VTNET_FLAG_INDIRECT 0x0400
+#define VTNET_FLAG_EVENT_IDX 0x0800
int vtnet_link_active;
int vtnet_hdr_size;