lwip examples

Daniel Waddington d.waddington at ...60...
Fri May 13 02:24:56 CEST 2011


Stefan,
I did get test-lwip_httpsrv working on pistachio+genode so I guess we 
can use this until you guys put the fiasco.oc support in.

Thanks
Daniel


On 05/12/2011 03:41 PM, Daniel Waddington wrote:
> 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