Re: undi for 10G Nic
Luca <[email protected]> Fri, 9 Oct 2009 10:20:36 -0700
| Newsgroups | gmane.network.etherboot.user |
|---|---|
| Message-ID | <[email protected]> |
The undinet_entry_point needs to be set before the undinet_call is invoked. So a good place where to store the undinet_entry_point would be in the net_device structure. But there is actually no need to store it, as going from the net_device structure with the container_of function, it is possible to get that value (the undinet_probe helps us setting netdev->dev = &undi->dev; per each discovered NIC during the probing phase). Only thing that is needed, it's the following. After the probing phase, before invoking the undinet_call, the undinet_entry_point has to be set with the correct value for that NIC (the way the code is now, undinet_call_entry contains the value of the latest discover NIC which my be not the one we want to use). Haven't tried using both NICs, but I would say it should work. I can implement it and send a patch if you think it may be useful. Luca On Thu, Oct 8, 2009 at 10:28 PM, Stefan Hajnoczi <[email protected]> wrote: > On Fri, Oct 9, 2009 at 12:50 AM, Luca <[email protected]> wrote: > > I had two NICs, both of them with undi. Using undi.iso I noticed that the > > first NIC was correctly initialized. The second one was disabled so of > > course the initialization process failed. During the init process for the > > second NIC though, the variable undinet_entry_point was set by the > function > > undinet_probe with values relative to the second NIC (the disabled one). > > So when after I did the ifopen for the first NIC, that failed. > > Good spot. I haven't look at the code and the impact of your patch > but it sounds like the undi driver is not written to support multiple > instances. Hopefully this is an implementation detail in gPXE's UNDI > code rather than a limitation of UNDI. > > Your patch looks like it works by overwriting undinet_entry_point for > the last opened NIC. Does this allow for both NICs to be open and > used simultaneously? Would the entry point need to be part of > undi_nic or undi_device in order to support true simultaneous > operation? > > Stefan > ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Etherboot-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/etherboot-discuss