VMQ, RSS, and SR-IOV
So  far,    we  have    covered a   lot of  technologies    related to  network connectivity.   The
following   sections    cover   a   few technologies    that    can help    with    the performance of
network communications. Although    it  can introduce   some    challenges  when    trying  to
maximize    its utilization and gain    the highest levels  of  performance and bandwidth,
40Gbps  and beyond  is  becoming    more    common  in  many    datacenters.
SR-IOV  and Dynamic Virtual Machine Queue   (DVMQ)  are two popular networking
technologies    that    can enhance network performance and can minimize    overhead    for
the hypervisor. These   technologies    are shown   in  Figure  3.37.
Figure  3.37    Understanding   the VMQ and SR-IOV  network technologies    compared    to
regular networking
SR-IOV
Single-root I/O virtualization  (SR-IOV)    allows  a   single  PCI Express network device  to
represent   itself  as  multiple    separate    devices directly    to  virtual machines.   In  the case    of
SR-IOV  and virtual machines,   this    means   that    a   physical    NIC can present multiple
virtual NICs,   which   in  SR-IOV  terms   are called  virtual functions   (VFs).  Each    VF  is  of
the same    type    as  the physical    card    and is  presented   directly    to  specific    virtual
machines.   The communication   between the virtual machine and the VF  completely
bypasses    the Hyper-V switch  because the VM  uses    direct  memory  access  (DMA)   to
communicate with    the VF. This    makes   for very    fast    and very    low-latency
communication   between the VM  and the VF, because both    the VMBus   and the Hyper-
V   switch  are no  longer  involved    in  the network flow    from    the physical    NIC to  the VM.
Because the Hyper-V switch  is  bypassed    when    SR-IOV  is  used,   SR-IOV  is  disallowed  if
any ACL checking,   QoS,    DHCP    guard,  third-party extensions, network virtualization,
or  any other   switch  features    are in  use.    SR-IOV  use is  permitted   only    when    no
switches’   features    are active.
