On 1/7/10 7:06 PM, Sivakumar Subramani wrote: > Hi Marty, > > We have vendor-specific UNDI ROM driver for our x3100 10GbE NIC, that > works well with undionly.kpxe.
Hello Siva, I think I am beginning to understand. I was confused because I think what you have is a PXE option ROM that contains a board-specific device driver for your x3100 10Gbe NIC. What you currently have in your card's option ROM is a proprietary version of what gPXE is. It can be replaced with gPXE. A number of 10GBe vendors ship gPXE as their PXE option ROM now because they get PXE compatibility plus SAN and HTTP booting, DNS, etc. The device driver part or your current option ROM is what we would call a gPXE native device driver, and uses a different API than Linux kernel drivers and your proprietary device driver. gPXE can chainload undionly.kpxe just like your current PXE option ROM, since gPXE is PXE, plus additional features. > However we would like to develop complete gPXE ROM and put it on the > card, rather than use chainloading with undionly.kpxe. I'm sure your customers would like this very much as well :) > We understand > that conventional way of doing that is via a NIC driver similar to the > ones in gpxe\src\drivers\net, but since we already have working UNDI > driver that works with undioly.kpxe (as well as with other proprietary > PXE code), we wonder if it is possible to compile it with gpxe files to > produce a complete PXE ROM? I don't believe this is going to be possible. The code you are now using is integrated as part of a common proprietary PXE platform. gPXE is licensed as GPLv2. We cannot accept code that is under an incompatible license. The good news is that it's not generally too hard to convert a Linux kernel driver to a gPXE driver. We have a number of them in our tree. I have converted quite a few myself and have mentored students and volunteers on how to do so. A person skilled in driver writing might take 2 weeks, depending on the availability of documentation, and the complexity of the driver. The gPXE API is much simpler than the kernel API, so lots of code can be removed, and the 7 core functions required to implement the gPXE network driver API are very straightforward. I have looked at what I believe is the source code of your driver: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=drivers/net/vxge and I don't immediately see any reason why converting it to a gPXE would require extraordinary effort. There appear to be only 2 variations of the card supported: static struct pci_device_id vxge_id_table[] __devinitdata = { {PCI_VENDOR_ID_S2IO, PCI_DEVICE_ID_TITAN_WIN, PCI_ANY_ID, PCI_ANY_ID}, {PCI_VENDOR_ID_S2IO, PCI_DEVICE_ID_TITAN_UNI, PCI_ANY_ID, PCI_ANY_ID}, {0} }; Please feel free to email me privately if you have questions about finding someone to help you with a Linux driver port. As you can see from our driver source code we have worked successfully with many companies to enable them to create gPXE drivers for their NICs. > Please let me know your view. I hope the information in this message is helpful. Please ask if you have additional questions. > Thanks, > ~Siva With Best Regards, Marty > -----Original Message----- > From: Sivakumar Subramani > Sent: Thursday, January 07, 2010 2:25 PM > To: 'Marty Connor' > Subject: RE: [gPXE] Legacy UNDI PXE driver and GPXE integration. > > Hi Marty, > > Thanks for quick reply. > > Currently we have PXE driver for NIC which is based on EMBOOT UNDI SDK. > I started porting our Linux driver to get it compiled with GPXE source > code. > Instead of that is it possible to integrate our PXE driver that we > already( which complaint with EMBOOT UNDI pxe stack ) to work with GPXE. > If so, How to integrate our current PXE driver with GPXE? > > Sorry, if I am confusing you again. > > Thanks, > ~Siva > > -----Original Message----- > From: Marty Connor [mailto:[email protected]] > Sent: Thursday, January 07, 2010 1:34 PM > To: Sivakumar Subramani > Cc: [email protected] > Subject: Re: [gPXE] Legacy UNDI PXE driver and GPXE integration. > >> On 1/7/10 4:26 PM, Sivakumar Subramani wrote: >>> Hi, >>> We have UNDI pxe driver working. We want to integrate it gPXE source >>> code. I read about PXE chainloading. Our UNDI driver works fine with > PXE >>> chain loading. Instead of the around about, I want to directly > integrate >>> the UNDI driver with GPXE. Is that possible? Is there any link (or) >>> documentation that explains about it? >>> >>> Thanks, >>> ~Sivakumar S > > Hello Sivakumar, > > I really am not sure what you are offering. gPXE already has an UNDI > driver called "undionly.kpxe". Perhaps I misunderstand what you are > describing. > > It would help me if you could describe exactly what your software does. > > Is it intended to be loaded by gPXE? > > Thanks for explaining in more detail. > > Thanks and Regards, > > Marty > > _______________________________________________ gPXE mailing list [email protected] http://etherboot.org/mailman/listinfo/gpxe
