summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr/src/uts/common/io/vioif/vioif.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/usr/src/uts/common/io/vioif/vioif.c b/usr/src/uts/common/io/vioif/vioif.c
index 822dbfa8b7..368af5381d 100644
--- a/usr/src/uts/common/io/vioif/vioif.c
+++ b/usr/src/uts/common/io/vioif/vioif.c
@@ -765,7 +765,17 @@ vioif_m_setpromisc(void *arg, boolean_t on)
uint8_t val = on ? 1 : 0;
if (!vif->vif_has_ctrlq_rx) {
- return (ENOTSUP);
+ /*
+ * While most hypervisors support the control queue, bhyve
+ * (or more specifically viona) on illumos currently does not.
+ *
+ * Until that support is added to viona, we pretend
+ * the request always succeeds to match the historic behavior
+ * of the illumos vioif driver. Once that support has been
+ * added to viona, we should do the correct thing and return
+ * ENOTSUP
+ */
+ return (0);
}
return (vioif_ctrlq_req(vif, VIRTIO_NET_CTRL_RX,