Re: scsi layer interfaces for hypervisors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



James,

VirtHBA project isn't aimed/positioned against the pvscsi effort.
VirtHBA provides hypervisor independant interfaces at SCSI
mid-layer(by some means- patch for released kernels or upstream if
embraced), which hypervisors register and get notified appropriately.
In addition, it also provides scsi emulation(target) capability at low
layers.

Thanks,
--Siva


On Thu, Mar 20, 2008 at 7:28 AM, James Smart <James.Smart@xxxxxxxxxx> wrote:
> Siva,
>
>  I'm curious to hear how you position this against the pvscsi effort
>  going on in the Xen world.
>
>  -- james s
>
>
>
>  Siva Kodiganti wrote:
>  > Hello Linux community,
>  >
>  >  A Project page for Virt_HBA is created on source forge.
>  >  https://sourceforge.net/projects/npivhba
>  >
>  >  Project Virt_HBA is targeted for a providing patch for
>  >  Linux kernels to provide set of scsi layer interfaces to
>  >  aid Hypervisors in Linux to export Scsi Hosts to Guest
>  >  VMs.  Using these interfaces  Hypervisors could export
>  >  Scsi_Host of a virtual hba emulated by HBA hardware to
>  >  Guest VMs.  FC, and FCOE (may) have support for Nport
>  >  Virtualization, a FW/HW mechanism to emulate multiple
>  >  hbas(nports) using a single HBA HW.  Qlogic, and
>  >  Emulex have support for FC NPIV.  With this mechanism,
>  >  Hypervisor would be capable of mapping appropriate
>  >  Guest VM's shost queuecommand to underlying NPIV host's
>  >  queue_command, and other hostt relevant entry points(one
>  >  to one mapping).  This could also provide a means of
>  >  security for luns exported through NPIV host to be
>  >  visible for appropriate Guest OS, hiding from HostOS.
>  >
>  >  Scsi Layer interfaces:
>  >
>  >  Hypervisor's registration with scsi layer
>  >
>  >  scsi_register_hypertt(xn_hostt, xsize);
>  >  xsize is size of private structure maintained by
>  >  hypervisor per npiv host.
>  >
>  >  struct scsi_hyper_hostt xn_hostt {
>  >          .hyp_module             = "xn",
>  >          .hyp_psize              = size of( xhost);
>  >          .hyp_alloc_vhost        = xn_alloc_vhost,
>  >          .hyp_add_vhost          = xn_add_vhost,
>  >          .hyp_remove_vhost       = xn_remove_vhost,
>  >          .hyp_trans_func         = xn_trans_vhost,
>  >          .hyp_async_notifier     = xn_async_ntfr,
>  >          .hyp_reboot_notifier    = xn_reboot_ntfr,
>  >  };
>  >
>  >  Scsi_Host {
>  >
>  >          /* flag for FC or FCOE hw or fw hba virtulization */
>  >          unsigned virt_host:1;
>  >
>  >  }
>  >
>  >  scsi_alloc_host(), scsi_add_host(), and scsi_remove_host()
>  >  interfaces notify registered hypervisor about FC/FCOE
>  >  virtual Scsi_Host.  scsi_alloc_host() would allocate private
>  >  data area per scsi_host for registered hypervisors, which
>  >  export to Guest VMs.
>  >
>  >  Hypervisors uses these virtual hosts' lld driver hostt entry
>  >  points to queue,abort,etc scsi commands to HBA driver directly
>  >  bypassing Host BlK, SD layers.
>  >
>  >  Thanks,
>  >  Siva
>  > --
>  > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
>  > the body of a message to majordomo@xxxxxxxxxxxxxxx
>  > More majordomo info at  http://vger.kernel.org/majordomo-info.html
>  >
>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux