diff --git a/sys/dev/virtual/vkernel/net/if_vke.c b/sys/dev/virtual/vkernel/net/if_vke.c --- a/sys/dev/virtual/vkernel/net/if_vke.c +++ b/sys/dev/virtual/vkernel/net/if_vke.c @@ -834,9 +834,11 @@ sc->sc_ringsize = LOW_POW_2(nmbufs); if (sc->sc_ringsize > VKE_DEFAULT_RINGSIZE) sc->sc_ringsize = VKE_DEFAULT_RINGSIZE; - } else if (vke_max_ringsize >= VKE_CHUNK) { /* Tunable specified */ - sc->sc_ringsize = LOW_POW_2(vke_max_ringsize); - } else { + } else if (vke_max_ringsize >= VKE_CHUNK) { /* Tunable specified */ + if (vke_max_ringsize <= 0) + vke_max_ringsize = VKE_CHUNK; + sc->sc_ringsize = LOW_POW_2(vke_max_ringsize); + } else { sc->sc_ringsize = LOW_POW_2(VKE_CHUNK); }