lwip examples

Daniel Waddington d.waddington at ...60...
Fri May 13 00:41:41 CEST 2011


Stefan,
Are you sure we are expecting to be able to run this on genode-linux?  
For example, when we run the pci_drv we get an abort due to "no IO PORT 
support in Linux"????

I think we're missing something here.

Thanks
Daniel

On 05/12/2011 02:50 PM, Daniel Waddington wrote:
> Guess we need to add the template parameter to max, max<unsigned long>?
>
> Daniel
>
> On 05/12/2011 02:32 PM, Amadeo Cuadrado wrote:
>> Thanks Norman and Stefan.
>>
>> While trying to run these examples with Linux instead of foc, I would 
>> like to report I get the following error when building the NIC driver:
>>
>>    Program drivers/gpxe_nic/gpxe_nic_drv
>>      COMPILE  main.o
>> .../genode/dde_gpxe/src/drivers/gpxe_nic/main.cc: In member function 
>> 'virtual Nic::Session_component* Nic::Root::_create_session(const 
>> char*)':
>> .../genode/dde_gpxe/src/drivers/gpxe_nic/main.cc:187: error: no 
>> matching function for call to 'max(unsigned int, long unsigned int)'
>>
>> Is this known?
>>
>> Thanks,
>> Amadeo
>>
>>
>> -----Original Message-----
>> From: Norman Feske [mailto:norman.feske at ...1...]
>> Sent: Thursday, May 12, 2011 5:07 AM
>> To: genode-main at lists.sourceforge.net
>> Subject: Re: lwip examples
>>
>> Hi Amadeo,
>>
>> even though your current issue may be related to a configuration problem
>> (e.g., the creation of a tap device before starting qemu, configuring
>> the bridge device), I want to mention that networking support is not
>> expected to work on the current Fiasco.OC version. There are two known
>> limitations (documented at
>> 'http://genode.org/documentation/release-notes/11.02#section-7') that
>> currently stand in the way. One is the lacking support for dynamic
>> loading of the lwIP library (ok, I see that you are using a work-around
>> for this limitation via linking statically). But more importantly, the
>> Fiasco.OC version does not support Genode's signalling API yet. This
>> API, however, is used by the data-flow protocol used between lwIP and
>> the NIC driver (Genode's packet-stream interface).
>>
>> That said, both limitations will be addressed by the upcoming Genode
>> version to be released later this month. In the meanwhile, if you want
>> to get hands-on-experience with using lwIP on Genode, I recommend
>> walking the currently well-explored path of using one of the other
>> kernels. In your case, I would start with Linux and eventually give OKL4
>> a try. From your test application's perspective, this should not make
>> any difference.
>>
>> For further reference about using lwIP on Genode/Linux with bridging,
>> you may take a look at the steps described here:
>>
>>    http://www.genode.org/documentation/release-notes/10.05#section-35
>>
>> Cheers
>> Norman
>>
>> On 05/12/2011 11:21 AM, Stefan Kalkowski wrote:
>>> Hello Amadeo,
>>>
>>> when looking at your output it seems to me that at least the 
>>> pci-driver,
>>> and/or timer services are missing in your configuration (normally they
>>> would produce some output), but gPXE's nic-driver depends on them, and
>>> won't run without these services. As long as the nic-driver isn't
>>> available your lwip-application will block while initializing the
>>> lwip-stack.
>>>
>>> Please, verify that init's configuration contains at least these items:
>>>
>>> <start name="timer">
>>> <resource name="RAM" quantum="512K"/>
>>> <provides> <service name="Timer"/> </provides>
>>> </start>
>>>
>>> <start name="pci_drv">
>>> <resource name="RAM" quantum="512K"/>
>>> <provides> <service name="PCI"/> </provides>
>>> </start>
>>>
>>> <start name="gpxe_nic_drv">
>>> <resource name="RAM" quantum="2M"/>
>>> <provides> <service name="Nic"/> </provides>
>>> </start>
>>>
>>> If this doesn't help you, please post your configuration file.
>>>
>>> Regards
>>> Stefan
>>>
>>> On 05/12/2011 12:39 AM, Amadeo Cuadrado wrote:
>>>> Thanks Stefan for your answer. Yes, I am building lwip and libc 
>>>> statically.
>>>>
>>>> I am using qemu to run the .iso, basically:
>>>>
>>>> qemu -cdrom  'myiso.iso' -net nic,model=pcnet
>>>>
>>>> I have also used VBox, with same luck. This is the Nic driver I am 
>>>> using:
>>>>
>>>> <start name="gpxe_nic_drv">
>>>> <resource name="RAM" quantum="4M"/>
>>>> <provides><service name="Nic"/></provides>
>>>> </start>
>>>>
>>>> This is the output from the serial port:
>>>>
>>>> int main(): --- create local services ---
>>>> int main(): --- start init ---
>>>> int main(): transferred 431 MB to init
>>>> int main(): --- init created, waiting for exit condition ---
>>>> [init ->  test-lwip_loop] void init_loopback(): init_loopback()
>>>> [init ->  test-lwip_loop] Libc::Lwip_plugin::Lwip_plugin(): using 
>>>> the lwIP libc plugin
>>>> [init ->  test-lwip_loop] void init_libc_lwip(): init_libc_lwip()
>>>> [init ->  test-timer] --- timer test ---
>>>> [init ->  test-lwip_loop] int server(): Create new socket ...
>>>> [init ->  test-lwip_loop] virtual void Client::entry(): Create new 
>>>> socket ...
>>>>
>>>> And then it just stops there.
>>>>
>>>> What do you mean exactly about the signaling framework? Are these 
>>>> examples supposed to not work yet?
>>>>
>>>> Thanks,
>>>> Amadeo
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Stefan Kalkowski [mailto:stefan.kalkowski at ...1...]
>>>> Sent: Friday, May 06, 2011 1:16 PM
>>>> To: genode-main at lists.sourceforge.net
>>>> Subject: Re: lwip examples
>>>>
>>>> Hello Amadeo,
>>>>
>>>> thank you for pointing us out to the build-problem in the 
>>>> linux_drivers
>>>> repository. We immediately fixed that problem. You can checkout the 
>>>> fix
>>>> from our subversion repository.
>>>>
>>>> With respect to your problems related to lwip. I assume that you
>>>> compiled lwip and libc as static libraries, as ldso and shared 
>>>> libraries
>>>> aren't supported for Genode/Fiasco.OC yet?
>>>>
>>>> Without knowing much details I would guess it's a configuration issue.
>>>> Could you please provide some information with respect to your
>>>> test-environment, like what hardware or VM you use, especially 
>>>> which NIC
>>>> you've enabled? Moreover, the init-configuration and the complete 
>>>> serial
>>>> output would be helpful.
>>>>
>>>> But even when we fix your (probably configuration-)issues it's 
>>>> unlikely
>>>> that the NIC service will work out of the box now, because it's 
>>>> based on
>>>> the signalling framework, which isn't supported yet. But we work on
>>>> that, and it will be supported at the latest by the upcoming release.
>>>> Nevertheless, the mentioned problems have nothing to do with a
>>>> non-functional signalling framework.
>>>>
>>>> Regards
>>>> Stefan
>>>>
>>>> On 05/06/2011 01:56 AM, Amadeo Cuadrado wrote:
>>>>> Hello,
>>>>>
>>>>>
>>>>>
>>>>> I have not been able to run any of the lwip examples (I am using 32
>>>>> bits): loopback hangs in socket() call, and http_srv hangs in the
>>>>> lwip_nic_init() call. I am using the Nic driver from dde_gpxe, 
>>>>> since I
>>>>> got compilation errors when building the linux_drivers:
>>>>>
>>>>>
>>>>>
>>>>> .../genode/linux_drivers/src/linux26/arch/i386/lib/bitops.c: In 
>>>>> function
>>>>> 'find_next_zero_bit':
>>>>>
>>>>> .../genode/linux_drivers/include/linux26-x86/asm/bitops.h:283: error:
>>>>> can't find a register in class 'BREG' while reloading 'asm'
>>>>>
>>>>> .../genode/linux_drivers/include/linux26-x86/asm/bitops.h:283: error:
>>>>> 'asm' operand has impossible constraints
>>>>>
>>>>>
>>>>>
>>>>> Any clue what I could be missing here to make these examples work? 
>>>>> Let
>>>>> me know if you need more info about my environment.
>>>>>
>>>>>
>>>>>
>>>>> Thanks.
>>>>>
>>>>>
>>>>>
>>>>> Amadeo
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------ 
>>>>>
>>>>> WhatsUp Gold - Download Free Network Management Software
>>>>> The most intuitive, comprehensive, and cost-effective network
>>>>> management toolset available today.  Delivers lowest initial
>>>>> acquisition cost and overall TCO of any competing solution.
>>>>> http://p.sf.net/sfu/whatsupgold-sd
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Genode-main mailing list
>>>>> Genode-main at lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>




More information about the users mailing list