lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] RE: [lwip] ARP implementation


From: Robert Pleh
Subject: [lwip-users] RE: [lwip] ARP implementation
Date: Wed, 08 Jan 2003 22:23:58 -0000

Hi,
I checked your ARP code, its working. 
A had to fix a few minor errors:
1.) arp.c, function arp_init, initialization of arp_table doesn't work
because IP_ADDR_ANY is a constant not IP number. I just threw out the code
it worked any way.
2.) arp.c, function arp_arp_input:
        in case1, buffer p has to be released (pbuf_free) if IP address in
ARP request doesn't match our IP number
            in case1, macro HTONS() is called, should be htons()
        default case is missing, with releasing buffer p
2.) tapif.c, function tapif_irq_handler():
        switch statement, case ETHERTYPE_ARP. After sending ARP reply
(function tapif_lowlevel_output(), buffer p has to be released)
        default case has to be added, with releasing buffer p 

These were the corrections required in our network, where we have a lot of
different traffic (unix, windows,IPX,..).

I have a few questions:
How did you test UDP protocol. Is there same UDP application included, I saw
only udp_echo?
How to measure the performance?

About the driver:
Current implementation uses only one thread (ethernet input). First I will
do some performance measurement, and than maybe implement a second
transmitting thread too. What do you suggest, is there a big difference in
performance, between one and two thread version?

System architecture tests worked (mailboxes, semaphores, timers, threads).
But I haven't yet run some bigger applications.
Next I will try to reduce the stack's and driver's memory requirements.

Regards,
Robert

-----Original Message-----
From: Adam Dunkels [mailto:address@hidden
Sent: Wednesday, October 10, 2001 2:19 PM
To: address@hidden
Subject: Re: [lwip] ARP implementation


Hi!

On Wednesday 10 October 2001 11:28, you wrote:
> I heard that some of you have implemented ARP for lwIP on their own.
> I just implemented the Ethernet driver and would now start adding ARP.
> Could someone send me the ARP implementation?

I actually went ahead and did a bare-bones simple ARP implementation for 
lwIP. There is stuff that isn't implemented yet such as ARP queries, entries

timing out and other stuff, but it does the basic ARP protocol. It is enough

to run be able to ping it and to run a web server. 

This can be found in the latest CVS code on the homepage (the "Download" 
section) in the files src/netif/arp.c and src/include/netif/arp.h. An
example 
of how it can be used can be found in the src/arch/unix/netif/tapif.c file.

> I'm working on porting lwIP to RTEMS (68360 processor). First tests are
> running OK (webserver and ping work).

Great! Have you implemented your device drivers as a separate thread/two 
separate threads/non-threaded? How much of the sys.c-stuff is working?

/adam
-- 
Adam Dunkels <address@hidden>
http://www.sics.se/~adam
[This message was sent through the lwip discussion list.]

[This message was sent through the lwip discussion list.]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]