lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] [PATCH] bunch of changes and new PPP for lwIP


From: Marc Boucher
Subject: [lwip-users] [PATCH] bunch of changes and new PPP for lwIP
Date: Mon, 3 Feb 2003 17:03:40 +0100
User-agent: Mutt/1.5.1i

I'm re-sending this since it hasn't showed up on the list yet,
probably due to excessive size. This time around the patch isn't enclosed,
but available from

http://savannah.nongnu.org/patch/?func=detailpatch&patch_id=1055&group_id=3159

----- Forwarded message from Marc Boucher <address@hidden> -----

Date: Fri, 31 Jan 2003 19:08:44 +0100
From: Marc Boucher <address@hidden>
To: Mailing list for lwIP users <address@hidden>
Subject: [PATCH] bunch of changes and new PPP for lwIP
User-Agent: Mutt/1.5.1i

Hi!

Here's a relatively extensive patch (against today's CVS version of lwIP)
which includes most of fixes and improvements that we had to do up to now.
I'd rather not separate it in parts because many things are interdependent.

In addition to this I have ported uC/IP's (BSD-derived) PPP code to lwIP
(actually it is more than just a port; lots of things were cleaned up,
reduced and improved in the code), after initially trying Ivarsson Magnus's
implementation which unfortunately did not fit our needs due to polling,
lack of a proper state machine, VJ header compression and full authentication
support.

The new PPP runs quite well on our platform (with PAP, CHAP support is
present but untested), and is available from
                                http://www.mbsi.ca/lwip-ppp.tar.gz

Feel free to check it in under contrib.

Comments welcome.

Cheers
Marc


------


Summary of changes in the patch below:

- major improvements to the socket code:
        o support for non-blocking receives
        o better support for errno
        o byte ordering fixes
        o integrated select() support (improved version of davidhaas's patch)
        o basic lwip_ioctl(), FIONREAD, get/setsockopt() etc. support

- added additional argument to netif_add to pass state pointer so that the
if_init function has access to context information before
the interface is added, without accessing globals.

- added netif_remove()

- to conserve cpu load the tcpip_tcp_timer should only be active
when tcbs that need it exist.

- pass length of available data to callbacks for NETCONN_EVT_RCV events

- added tcpip_link_input(), a hack to allow processing of PPP
packets in tcpip_thread() context. This saves threads and context
switches.

- renamed incompatible ASSERT() macro to LWIP_ASSERT() to avoid name
collision.

- changed a bunch of %d's to %u's in format strings for unsigned values.

- added ip_frag to lwip_stats.

- changed IP_REASS_MAXAGE and IP_REASS_TMO defaults to more realistic
values.

- added sys_untimeout() function to cancel timeouts (needed by PPP
amongst other things).

- tolerate NULL returns from sys_arch_timeouts() since some threads might
not need to use or have timeouts.

- added sys_sem_wait_timeout()

- moved mem_malloc() function to end of mem.c to work around tasking
compiler bug.

- automatically bind to local tcp port if 0.

- allow customization of port ranges for automatic local bindings.

- removed early "struct tcp_pcb;" definition in event.h which tasking
compiler dislikes and doesn't seem required anyways.

- extended sys_thread_new() to return pid of created thread as sys_thread_t.

- corrected various typos, spelling errors, etc..


----- End forwarded message -----





reply via email to

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