Hi all, The attached is an RFC from Solarflare on a proposal for using virtualisable NICs in Xen. Such NICs can be accessed directly and safely by each guest, in order to get better performance. This is work that we presented at the recent Xen summit. At this stage, our main goal is to generate discussion on the overall approach we describe here. But we''ve also included our proof-of-concept implementation, and we welcome comments on that too. Please direct all comments to the xen-devel list. You can contact us directly at xen@solarflare.com. Cheers, Greg _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Caitlin Bestler wrote:> When the App/DomU posts a buffer (for TX or RX), > what address does it use, and how does the hardware > understand it?It uses a "buffer address". This is essentially an index into a "buffer-table" which is stored on the NIC. This table is used to lookup physical addresses that the NIC will DMA to/from. The buffer-table is programmed from Dom0. The buffer-table is effectively our IOMMU/page-tables. Hope this helps, Greg -- Greg Law glaw@solarflare.com +44 1223 518 040 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Caitlin Bestler
2006-Sep-22 18:13 UTC
RE: [Xen-devel] RFC -- virtualisable NIC support in Xen
> -----Original Message----- > From: Greg Law [mailto:glaw@solarflare.com] > Sent: Friday, September 22, 2006 4:05 AM > To: Caitlin Bestler > Cc: xen@solarflare.com; xen-devel@lists.xensource.com > Subject: Re: [Xen-devel] RFC -- virtualisable NIC support in Xen > > Caitlin Bestler wrote: > > When the App/DomU posts a buffer (for TX or RX), what > address does it > > use, and how does the hardware understand it? > > It uses a "buffer address". This is essentially an index > into a "buffer-table" which is stored on the NIC. This table > is used to lookup physical addresses that the NIC will DMA to/from. > > The buffer-table is programmed from Dom0. > > The buffer-table is effectively our IOMMU/page-tables. >Over what scope is the buffer handle unique? _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Caitlin Bestler wrote:> > > >>-----Original Message----- >>From: Greg Law [mailto:glaw@solarflare.com] >>Sent: Friday, September 22, 2006 4:05 AM >>To: Caitlin Bestler >>Cc: xen@solarflare.com; xen-devel@lists.xensource.com >>Subject: Re: [Xen-devel] RFC -- virtualisable NIC support in Xen >> >>Caitlin Bestler wrote: >> >>>When the App/DomU posts a buffer (for TX or RX), what >> >>address does it >> >>>use, and how does the hardware understand it? >> >>It uses a "buffer address". This is essentially an index >>into a "buffer-table" which is stored on the NIC. This table >>is used to lookup physical addresses that the NIC will DMA to/from. >> >>The buffer-table is programmed from Dom0. >> >>The buffer-table is effectively our IOMMU/page-tables. >> > > > Over what scope is the buffer handle unique?The buffer table is per NIC. The handle into that buffer table is tied to a particular Virtual Interface, meaning a guest driver can only DMA to/from buffers associated with the virtual interface to which it has access (the VIs are all mapped page aligned so that the usual paging can be used to prevent one guest from accessing the VI of another). Can I ask what your interest is here? Do you think Broadcom might be interested in the kind of model we''re proposing? Cheers, Greg _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel